Данный вариант представляет собой тоже самое что и второй вариант, с одним единственным откличием, не требуется устанавливать iptables.
Установка необходимого ПО на маршрутизатор.
Код: Выделить всё
opkg update
opkg upgrade
Код: Выделить всё
opkg install dnsmasq-full
opkg install stubby
Код: Выделить всё
cat > "/opt/etc/anti_ad.txt" <<EOF
EOF
Код: Выделить всё
cat > "/opt/etc/dnsmasq.conf" <<EOF
interface=br0
no-dhcp-interface=br0
interface=br1
no-dhcp-interface=br1
port=53
no-resolv
cache-size=5000
conf-file=/opt/etc/anti_ad.txt
addn-hosts=/opt/etc/hosts
server=127.0.0.1#5453
EOF
cat > "/opt/etc/init.d/S57stubby" <<EOF
#!/bin/sh
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin
start(){
[ -f /opt/var/run/stubby.pid ] && rm /opt/var/run/stubby.pid
/opt/sbin/stubby -C /opt/etc/stubby/stubby.yml -g
}
stop(){
[ -f /opt/var/run/stubby.pid ] && kill \`cat /opt/var/run/stubby.pid\`
[ -f /opt/var/run/stubby.pid ] && rm /opt/var/run/stubby.pid
}
case \$1 in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
*)
echo "Usage: \$0 {start|stop|restart}"
;;
esac
EOF
chmod +x /opt/etc/init.d/S57stubby
/opt/etc/init.d/S57stubby start
#Добавляем в файл хост локальные сайты или блокируемые с нулями
cat > "/opt/etc/hosts" <<EOF
127.0.0.1 localhost
::1 localhost
192.168.8.1 homerouter.cpe
192.168.8.1 hi.link
0.0.0.0 test.site
13.32.121.129 image.tmdb.org
13.32.121.129 tmdb.org
13.32.121.129 api.themoviedb.org
13.32.121.129 www.themoviedb.org
13.32.121.129 themoviedb.org
EOF
##/opt/etc/init.d/rc.unslung restart
/opt/etc/init.d/S56dnsmasq start
Код: Выделить всё
cp /opt/etc/anti_ad.txt /tmp/dnsmasq.adblock
wget -U 'Delvik' -qO- 'http://adlock.dinis.ru/anti_ad.txt' | sed -e 's/\r//' | grep -v '^#\|^[[:space:]]*$' | sed -e 's/.*/server=\/.&\//' >> /tmp/dnsmasq.adblock
wget -U 'Delvik' -qO- 'http://adlock.dinis.ru/adlist1.txt' | sed -e 's/\r//' | grep -v '^#\|^[[:space:]]*$' | sed -e 's/.*/server=\/.&\//' >> /tmp/dnsmasq.adblock
###wget -U 'Delvik' -qO- 'http://adlock.dinis.ru/anti_mts.txt' | sed -e 's/\r//' | grep -v '^#\|^[[:space:]]*$' | sed -e 's/.*/server=\/.&\//' >> /tmp/dnsmasq.adblock
rm /opt/etc/anti_ad.txt
cat /tmp/dnsmasq.adblock | sort -uk1 >> /opt/etc/anti_ad.txt
killall -SIGHUP dnsmasq
/opt/etc/init.d/S56dnsmasq restart
Отключение штатного DNS-сервера является обязательным, так как мы не используем правила перенаправления iptables
Подключитесь к CLI маршрутизатора Keenetic (порт 23 для Telnet и 22 для SSH, если в системе добавлен компонент «Сервер SSH»).
Выполните команду:
Код: Выделить всё
opkg dns-override
system configuration save
system reboot
Код: Выделить всё
no opkg dns-override
system configuration save
system reboot
Чтобы не запопимать длинные строчки обновления днс, требуется добавить:
Код: Выделить всё
cat > "/opt/bin/dns" <<EOF
#!/opt/bin/busybox sh
/opt/etc/init.d/S56dnsmasq restart
/opt/etc/init.d/S57stubby restart
EOF
chmod +x /opt/bin/dns
Код: Выделить всё
dns