Report post 02/19/2016 10:09 AM Это решение позволяет заблокировать баннеры, счётчики на веб-страницах, рекламу в Android-приложениях с помощью hosts-файла. Было: Стало: Установите необходимые пакеты: opkg install dnsmasq-full iptables ndmq Поместите в файл /opt/etc/ndm/netfilter.d/010-intercept-dns.sh следующее содержимое: #!/bin/sh [ "$table" != "nat" ] && exit 0 lan_ip=$(ndmq -p 'show interface Bridge0' -P address) iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination $lan_ip:65053 iptables -t nat -I PREROUTING -p tcp -m tcp --dport 53 -j DNAT --to-destination $lan_ip:65053 и сделайте скрипт исполняемым: chmod +x /opt/etc/ndm/netfilter.d/010-intercept-dns.sh Отредактируйте файл /opt/etc/dnsmasq.conf, добавив в него строки: no-resolv server=77.88.8.88#1253 server=77.88.8.2#1253 port=65053 Скачайте подходящий чёрный список с рекламными хостами и поместите его в файл /opt/etc/hosts. В примере ниже указан один из самых популярных: wget -O /opt/etc/hosts http://winhelp2002.mvps.org/hosts.txt Всё! Перегрузите роутер для того, чтобы настройки вступили в силу. 0. Убедитесь, что на ПК не прописаны вручную в св-вах сетевого соединения сторонние DNS-серверы. Если вы в сетевых настройках ПК ничего не меняли, то можете это не проверять. 1. Очистите DNS-кеш операционной системы (для Windows - ipconfig /flushdns) 2. Очистите DNS-кеш браузера, достаточно его закрыть и открыть по новой. На скриншотах выше погода с Gismeteo, если решение работает, то рекламные баннеры будут отсутствовать. С помощью правила iptables любые DNS-запросы от роутера (и его клиентов) «заворачиваются» на dnsmasq. Последний разрешает DNS-имена, при этом используя hosts-файл /opt/etc/hosts с чёрным списком доменов. С настройками по умолчанию для разрешения остальных DNS-имён будет использоваться Яндекс.DNS вместо провайдерских DNS. 1. Теряем возможности встроенного в прошивку DNS-сервера/прокси. В частности, возможность кеширования DNS-запросов на роутере и возможность обращения к ресурсом локалки по DNS-именам. Если нынче DNS-запросы и без того замечтательно кешируются операционкой ПК и браузером, то разрешение DNS-имён в локалке может стать проблемой. Скажем, придётся обращаться к NAS'у в локалке не по имени \\MyNas\, а по IP: \\192.168.1.4\. 2. В связи с тем, что мы отказываемся от провайдерских DNS-серверов, мы теряем возможность разрешения DNS-имён для локальных ресурсов провайдера. Если для установления L2TP/PPTP-соединения сервер задан DNS-именем, например, l2tp.beeline.ru, то лучше вписать в веб-интерфейс кинетика адрес сервера в виде ip. Пункт «Что теряем» можно будет исключить, если поправить правила iptables так, чтобы заворачивались только DNS-запросы от самого роутера. 1 Quote Share this post Link to post Share on other sites
Report post 02/19/2016 03:15 PM Поместите в файл /opt/etc/ndm/netfilter.d/010-intercept-dns.sh следующее содержимое: #!/bin/sh [ "$table" != "nat" ] && exit 0 lan_ip=$(ndmq -p 'show interface Bridge0' -P address) iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination $lan_ip:65053 iptables -t nat -I PREROUTING -p tcp -m tcp --dport 53 -j DNAT --to-destination $lan_ip:65053 ... Есть команда opkg dns-override. Она гасит внутренний прокси (он начинает работать в RPC-режиме), когда подключают /opt. И 53-й порт свободен. Quote Share this post Link to post Share on other sites
Report post 02/19/2016 03:23 PM (edited) Установите необходимые пакеты: opkg install dnsmasq-full iptables ndmq /opt/root # opkg install dnsmasq-full iptables ndmq Unknown package 'dnsmasq-full'. Package iptables (1.4.12-2) installed in root is up to date. Package ndmq (2.06.A.6.0-12) installed in root is up to date. Collected errors: * opkg_install_cmd: Cannot install package dnsmasq-full. /opt/root # Не хочет устанавливаться. opkg update, opkg upgrade делал. Или я ставлю не на ту систему? Edited February 19, 2016 by Guest Quote Share this post Link to post Share on other sites
Report post 02/19/2016 03:24 PM Не хочет устанавливаться. Поднимите глаза на название темы, слово в квадратных скобках.Есть команда opkg dns-override. Она гасит внутренний прокси (он начинает работать в RPC-режиме), когда подключают /opt. И 53-й порт свободен.Ага, спасибо за напоминание. В первом посте темы надо лишь подправить правило iptables для того, чтобы не терять все плюшки встроенной в прошивку DNS-службы. Необходимо заворачивать не весь трафик на 53 порт, а только исходящий от самого роутера. Только, вот, в iptables я мягко говоря, не силён. Quote Share this post Link to post Share on other sites
Report post 02/19/2016 03:28 PM Поднимите глаза на название темы, слово в квадратных скобках. Да, у меня не [Entware], а keenopt. Сорри. Quote Share this post Link to post Share on other sites
Report post 02/19/2016 10:21 PM как проверить работу iptables? iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.0.1:65053 не вижу этой цепочки в таблице по команде iptables --list|grep 65053 Ну и что-то не завелось... Quote Share this post Link to post Share on other sites
Report post 02/19/2016 10:26 PM как проверить работу iptables?iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.0.1:65053 не вижу этой цепочки в таблице по команде iptables --list|grep 65053 Ну и что-то не завелось... кэп подсказывает, надо iptables -t nat --list Quote Share this post Link to post Share on other sites
Report post 02/19/2016 10:48 PM как проверить работу iptables?iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.0.1:65053 не вижу этой цепочки в таблице по команде iptables --list|grep 65053 Ну и что-то не завелось... кэп подсказывает, надо iptables -t nat --list спасибо Тогда не в iptables дело. Но не пойму все равно, где затык. Мой dnsmasq.conf: no-resolv server=8.8.8.8#1253 server=8.8.4.4#1253 port=65053 addn-hosts=/opt/etc/hosts log-queries ЗЫ. А где этот лог посмотреть? Беру любой хост из /opt/etc/hosts и без проблем захожу с любого девайса из локальной сети. Quote Share this post Link to post Share on other sites
Report post 02/20/2016 08:58 AM как проверить работу iptables?iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.0.1:65053 не вижу этой цепочки в таблице по команде iptables --list|grep 65053 Ну и что-то не завелось... кэп подсказывает, надо iptables -t nat --list спасибо Тогда не в iptables дело. Но не пойму все равно, где затык. Мой dnsmasq.conf: no-resolv server=8.8.8.8#1253 server=8.8.4.4#1253 port=65053 addn-hosts=/opt/etc/hosts log-queries ЗЫ. А где этот лог посмотреть? Беру любой хост из /opt/etc/hosts и без проблем захожу с любого девайса из локальной сети. У меня схема работает, реклама блокируется.. Может вам стоит прописать dns от яндекс.? Реклама блокируется даже если нахожусь в другой сети, например на работе,при условии если включен openvnp. Quote Share this post Link to post Share on other sites
Report post 02/20/2016 10:23 AM У меня схема работает, реклама блокируется.. Может вам стоит прописать dns от яндекс.? Реклама блокируется даже если нахожусь в другой сети, например на работе,при условии если включен openvnp. Поменял, но в этом не было особо смысла. Где-то проблема в другом месте. В логах веб-морды видно, что dnsmasq читает список хостов dnsmasq[512] read /opt/etc/hosts - 13549 addresses , но к нему не приходят запросы. Пробовал повесить на стандартный 53-й порт, но естественно не запустился . dnsmasq[364] failed to create listening socket for port 53: Address already in use команда opkg dns-override не проходит /opt/etc/ndm/netfilter.d # opkg dns-override opkg: unknown sub-command dns-override Quote Share this post Link to post Share on other sites
Report post 02/20/2016 10:39 AM Где-то проблема в другом месте. В логах веб-морды видно, что dnsmasq читает список хостов dnsmasq[512] read /opt/etc/hosts - 13549 addresses , но к нему не приходят запросы. Пробовал повесить на стандартный 53-й порт, но естественно не запустился . Здесь участвуют всего два звена: правило iptables и dnsmasq.Проверка iptables Проверить то, что iptables-правило сработало можно с помощью: iptables-save | grep 65053 Если правила нет, то можете запустить его руками и посмотреть где ошибка: table=nat /opt/etc/ndm/netfilter.d/010-intercept-dns.sh Проверка работы dnsmasq Проверить то, что dnsmasq запущен можно с помощью: pidof dnsmasq Если PID процесса не выводится, значит, процесса нет. Надо посмотреть в системном журнале на что жалуется dnsmasq при старте: /opt/etc/init.d/S56dnsmasq start Проверьте также, что в настройках кинетика отключены DNS-службы Yandex.DNS/SkyDNS. Клиенты кинетика должны получать DNS автоматически. Настройки вступят в силу после сброса DNS-кэша операционной системы и браузера. Quote Share this post Link to post Share on other sites
Report post 02/20/2016 11:40 AM iptables - OK /opt/etc # iptables-save | grep 65053 -A PREROUTING -p tcp -m tcp --dport 53 -j DNAT --to-destination 192.168.0.1:65053 -A PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.0.1:65053 dnsmasq - OK PID есть и netstat говорит, что 65053 слушает. # netstat -ltnp|grep 65053 tcp 0 0 0.0.0.0:65053 0.0.0.0:* LISTEN 512/dnsmasq tcp 0 0 :::65053 :::* LISTEN 512/dnsmasq В Журнале сообщений системы ошибок нет. Никаких SkyDNS и подобных не активировано. Для локальной сети по DHCP выдается DNS 192.168.0.1, кеш сбрасывается каждый раз и для теста пробую новые хосты из скачанного файла. $ nslookup www.winaproduct.com Server: 192.168.0.1 Address: 192.168.0.1#53 Non-authoritative answer: www.winaproduct.com canonical name = winaproduct.com. Name: winaproduct.com Address: 72.37.217.251 Единственное, что в настройках роутера указаны DNS провайдера и гугля: НО! Если ставлю 192.168.0.1, то DNS запросы перестают ходить и на Зухеле и в локальной сети. Nslookup - can't resolve А в логах Зухеля валится: Feb 20 13:04:44ndnproxy Proxy loop detected: 192.168.0.1 <-> 192.168.0.1, request dropped. Feb 20 13:04:44ndnproxy DNS server 192.168.0.1 inactivated. Тогда могу запустить dnsmasq на стандартном 53-м порту, но все равно не работает. Осталась идея запустить захват пакетов на Зухеле и посмотреть куда идут DNS запросы из локальной сети. Quote Share this post Link to post Share on other sites
Report post 02/28/2016 09:35 AM Привет форумчане!Помогите решить проблему.Имеется zyxel Keenetic 2 прошивка v2.05(AAFG.8)C2 с установленной entware-ng. Установил Блокировку рекламы,все работает хорошо на айфоне,реклама блокируется,интернет работает,но на ноутбуке пропал интернет.Выдает ошибку DNS_PROBE_FINISHED_BAD_CONFIG,подскажите как решить эту проблему??Если я включаю гостевую сеть,то через нее интернет на ноутбуке появляется,но по проводу и через защищенную сеть вай фай этого не происходит.Пробовал прописать dns на ноутбуке,не помогло,пробовал прописать dns на роутере так же не помогло... Quote Share this post Link to post Share on other sites
Report post 03/01/2016 05:32 PM Привет форумчане!Помогите решить проблему.Имеется zyxel Keenetic 2 прошивка v2.05(AAFG.8)C2 с установленной entware-ng. Установил Блокировку рекламы,все работает хорошо на айфоне,реклама блокируется,интернет работает,но на ноутбуке пропал интернет.Выдает ошибку DNS_PROBE_FINISHED_BAD_CONFIG,подскажите как решить эту проблему??Если я включаю гостевую сеть,то через нее интернет на ноутбуке появляется,но по проводу и через защищенную сеть вай фай этого не происходит.Пробовал прописать dns на ноутбуке,не помогло,пробовал прописать dns на роутере так же не помогло... Я один с такой проблемой???? Quote Share this post Link to post Share on other sites
Report post 03/02/2016 10:55 AM Отсутствие ответа означает строго одно: отсутствие интереса к вопросу. Quote Share this post Link to post Share on other sites
Report post 03/02/2016 07:27 PM Отсутствие ответа означает строго одно: отсутствие интереса к вопросу. Придется пользоваться только гостевым wi-fi( Quote Share this post Link to post Share on other sites
Report post 04/25/2016 01:11 PM Подскажите, пожалуйста, при использовании описанного здесь метода блокировки рекламы, воспроизводится ли у вас видео на youtube, в котором предусмотрен показ рекламы (вставочки такие, которые желтой полоской на полосе с бегунком обозначены)? У меня не воспроизводится. Ни в приложении под iOS, ни на сайте. Вот пример: Плеер просто висит с черным экраном в таком виде: Quote Share this post Link to post Share on other sites
Report post 04/26/2016 06:25 AM Подскажите, пожалуйста, при использовании описанного здесь метода блокировки рекламы, воспроизводится ли у вас видео на youtube, в котором предусмотрен показ рекламы (вставочки такие, которые желтой полоской на полосе с бегунком обозначены)?У меня не воспроизводится. Ни в приложении под iOS, ни на сайте. Вот пример: Плеер просто висит с черным экраном в таком виде: У меня видео воспроизводится нормально,реклама блокируется как на тв так и на гаджетах.Никаких черных вставок не было ни разу. Quote Share this post Link to post Share on other sites
Report post 04/26/2016 09:17 AM Это конечно что-то host <- http://winhelp2002.mvps.org/hosts.txt более 15000 строчек типа 0.0.0.0 имя и наверное не предел для мощности роутера прогонять через себя. Quote Share this post Link to post Share on other sites
Report post 04/26/2016 09:46 AM Это конечно что-то host <- http://winhelp2002.mvps.org/hosts.txtболее 15000 строчек типа 0.0.0.0 имя и наверное не предел для мощности роутера прогонять через себя. Загрузка цп 3% оперативной памяти 25%. Спокойно тянет. Роутер giga 3 1 Quote Share this post Link to post Share on other sites
Report post 04/27/2016 05:37 AM Загрузка цп 3% оперативной памяти 25%. Спокойно тянет. Роутер giga 3 Giga 3 это хорошо, как бы узнать например 7620. Quote Share this post Link to post Share on other sites
Report post 04/27/2016 06:06 AM Загрузка цп 3% оперативной памяти 25%. Спокойно тянет. Роутер giga 3 Giga 3 это хорошо, как бы узнать например 7620. До giga 3 стоял keenetic 2, нагрузка такая же была.! Quote Share this post Link to post Share on other sites
Report post 04/27/2016 06:10 AM Загрузка цп 3% оперативной памяти 25%. Спокойно тянет. Роутер giga 3 Giga 3 это хорошо, как бы узнать например 7620. До giga 3 стоял keenetic 2, нагрузка такая же была.! На гига 2 все равно мощнее процессор чем девайсы на 7620. Quote Share this post Link to post Share on other sites
Report post 04/27/2016 06:25 AM Giga 3 это хорошо, как бы узнать например 7620. До giga 3 стоял keenetic 2, нагрузка такая же была.! На гига 2 все равно мощнее процессор чем девайсы на 7620. Почему мощнее? Quote Share this post Link to post Share on other sites
Report post 04/27/2016 07:26 AM vlad -RT6856 MIPS34Kc @700MHz гига2 -MT7620A MIPS24Kc @580MHz это о чем говорим , разница заметна? Quote Share this post Link to post Share on other sites
Report post 04/27/2016 07:32 AM Вместо DNS yandex'a можно использовать DNS rejector.ru Quote Share this post Link to post Share on other sites
Report post 04/27/2016 08:54 AM vlad-RT6856 MIPS34Kc @700MHz гига2 -MT7620A MIPS24Kc @580MHz это о чем говорим , разница заметна? Разница заметна. Даже такой проц легко потянет блокировку рекламы.. Quote Share this post Link to post Share on other sites
Report post 04/27/2016 12:08 PM vlad-RT6856 MIPS34Kc @700MHz гига2 -MT7620A MIPS24Kc @580MHz это о чем говорим , разница заметна? K-II - RT6856 MIPS34Kc @700MHz Я заметил разницу при сравнении K-II и Viva (в течении нескольких дней обычной эксплуатации) на PPPoE (на канале 100) при подключенных/не подключенных wi-fi клиентах, так же проверил и на PPTP (на канале 50Мбит). Если на роутер смотреть как на черную коробку и не заглядывать в WEB не использовать USB то обычный пользователь может и не заметит разницы, страницы открываются и ладно. В моем случае Viva был отдан обратно. Quote Share this post Link to post Share on other sites
Report post 06/26/2016 06:55 PM Поместите в файл /opt/etc/ndm/netfilter.d/010-intercept-dns.sh следующее содержимое: #!/bin/sh [ "$table" != "nat" ] && exit 0 lan_ip=$(ndmq -p 'show interface Bridge0' -P address) iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination $lan_ip:65053 iptables -t nat -I PREROUTING -p tcp -m tcp --dport 53 -j DNAT --to-destination $lan_ip:65053 и сделайте скрипт исполняемым: chmod +x /opt/etc/ndm/netfilter.d/010-intercept-dns.sh если этого файла (010-intercept-dns.sh) нет где его взять? Quote Share this post Link to post Share on other sites
Report post 06/26/2016 07:05 PM прошу подсказку в логе вываливается Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 127. Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit: line 3: Illegal number: 0. Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 2. при запуске правила в консоли table=nat /opt/etc/ndm/netfilter.d/010-intercept-dns.sh пишет что файл скрипта не найден при этом если вбивать цепочки iptables руками, то все работает Quote Share this post Link to post Share on other sites