Jump to content
Александр Рыжов

Блокировка рекламы на роутере

146 posts in this topic

15 минут назад, vasek00 сказал:

1. 0.0.0.0:53 порту ndnproxy

2. 0.0.0.0:65053 порту dnsmasq

мне нравятся 0.0.0.0 => слушать на всех интерфейсах (ну со всех сторон)

 

тут я правила не прописывал, то, что досталось из "коробки", так и работает, у Вас по другому ставится и запускается dnsmasq из репозитария?

добавлен только скрипт из первого поста

Скрытый текст

/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

 

 

19 минут назад, vasek00 сказал:

3. сама строчка "server" сервера для обработки запросов

тут обращаю внимание что вы хотели этим добиться если включив все сервера от провайдера имея один маршрут пр умолчанию (например на провайдера1,а резерв на провайдера2), будет ли обрабатывать ваш запрос DNS сервер провайдера 2 из сегмента чужой сети провайдера1 или наоборот. Сервера то вбили но маршрут до них не написали, что имею ввиду DNS2 должны идти по своему маршруту на канал2 а не по default (что активно и в какой последовательности у вас идут DNS сервера тут уже смотреть надо, тем более что "no-resolv" отключен - брать текущие от провайдера).

 

прописав все днс от обоих провайдеров я предполагал, что пока поднят основной канал, работают его днс и не важно, доступны ли днс 2-го провайдера, ну и соответственно когда падает основной канал, маршрут по умолачнию меняется и становится наплевать на днс 1-го провайдера, вторые то автоматически станут доступны, может я и ошибаюсь, но именно так представляю себе необходимость прописывать несколько днс, один сервер недоступен, автоматически переходит на следующий.

23 минуты назад, vasek00 сказал:

4. А с пере направлением портом  уже потом.

Сначала разобраться с каналами и с серверами DNS.

tcpdump есть примеры в интернете, какие интерфейсы через команду ifconfig, для "холостого режима" хватит и собственного обработчика - захват пакетов на сетевом, но тут будет один интерфейс, все зависит от того какие у вас каналы провайдеров?.

 

про каналы не совсем понял, если речь о типе подключения? то основной L2TP, резерв IPoE.

Share this post


Link to post
Share on other sites

При использовании двух каналов - основной и резер в системе подняты оба, но работа идет по default (тут на форуме есть куча ссылок и примеров как это выглядит в системе)

Основной L2TP он же в системе будет ppp0 и он же будет default по данному каналу, т.е. если DNS (от IPoE провайдера) то он не сработает на default канале DNS сервер сочтет вас за чужого.

1. решение данного вопроса простое стат маршрут для данных серверов DNS от второго провайдера направлять на нужный канал, а не на default пример ниже для двух провайдеров на ppp

default dev ppp1 scope link

IP_DNS1 dev ppp0 scope link

IP_DNS2 dev ppp1 scope link

2. но так как страница интернет выглядит очень сложно, а браузер может вытаскивать предварительно сразу несколько страниц, а там куча ссылок  где нужен DNS запрос, то вариант 1 не есть гуд .

Я остановился на удобном для меня варианте не зависимо от кол-ва провайдеров, так как все запросы идут только по default (основным в данный момент времени каналу)

interface=br0
bind-interfaces
server=127.0.0.1#65053
no-resolv
addn-hosts=/opt/tmp/hosts0
resolv-file=/opt/etc/resolv-dnsmasq.conf
cache-size=350

тут resolv-file на всякий случай для отладок, там одна строчка "nameserver 127.0.0.1" пока

так следом за dnsmasq запускается dnscrypt-proxy

dnscrypt-proxy с командой запуска "--local-address=127.0.0.1:65053 --daemonize -R yandex"

т.е. считается что DNS сервер который "yandex" будет доступен не зависимо от кол-ва каналов на данный роутер - default + резерв или default1 + default2 (в место yandex есть еще 70 серверов) любые запросы на DNS будут кодированы . Не забываем про "dns override".

Edited by vasek00

Share this post


Link to post
Share on other sites

Подскажите нубу.

Есть ли возможность использовать несколько hots файлов? Это было бы удобно, поскольку позволило бы использовать только самые нужные списки блокировок из этого сайта https://hosts-file.net/?s=Download не заморачиваясь при этом с их объедением при каждом обновлении в единый файл.

Ну, то есть можно ли указать несколько, допустим

addn-hosts=/opt/tmp/AdBlock/ad_servers.txt

addn-hosts=/opt/tmp/AdBlock/Destroy-Windows-10-Spying.txt

?

Share this post


Link to post
Share on other sites
2 часа назад, Mikinos сказал:

Подскажите нубу.

Есть ли возможность использовать несколько hots файлов? Это было бы удобно, поскольку позволило бы использовать только самые нужные списки блокировок из этого сайта https://hosts-file.net/?s=Download не заморачиваясь при этом с их объедением при каждом обновлении в единый файл.

Ну, то есть можно ли указать несколько, допустим

addn-hosts=/opt/tmp/AdBlock/ad_servers.txt

addn-hosts=/opt/tmp/AdBlock/Destroy-Windows-10-Spying.txt

?

list addnhosts '/path/to/file'

Share this post


Link to post
Share on other sites
9 часов назад, vasek00 сказал:

list addnhosts '/path/to/file'

то есть просто перед addn-hosts добавлять слово list? Типа так:

list addn-hosts=/opt/tmp/AdBlock/ad_servers.txt

list addn-hosts=/opt/tmp/AdBlock/ad_servers.txt

?

 

Edited by Mikinos

Share this post


Link to post
Share on other sites
5 часов назад, Mikinos сказал:

то есть просто перед addn-hosts добавлять слово list? Типа так:

list addn-hosts=/opt/tmp/AdBlock/ad_servers.txt

list addn-hosts=/opt/tmp/AdBlock/ad_servers.txt

?

т.е. https://wiki.openwrt.org/doc/uci/dhcp

Name          Type                   Default    Option    Description 
addnhosts     list of file paths     (none)     -H        Additional host files to read for serving DNS responses

или так в конфиге

addn-hosts=/opt/tmp/hosts0
addn-hosts=/opt/tmp/malwaredom_block.host
addn-hosts=/opt/tmp/mvps_block.host


Jun 16 22:10:57dnsmasq[8116] using nameserver 127.0.0.1#хх053
Jun 16 22:10:57dnsmasq[8116] read /opt/etc/hosts - 2 addresses
Jun 16 22:10:57root Started dnsmasq from .
Jun 16 22:10:57dnsmasq[8116] read /opt/tmp/mvps_block.host - 13273 addresses
Jun 16 22:10:58dnsmasq[8116] read /opt/tmp/malwaredom_block.host - 1157 addresses
Jun 16 22:10:58dnsmasq[8116] read /opt/tmp/hosts0 - 13355 addresses

В догонку для проверки как уже писал ранее три строчки

##log
log-queries
log-facility=/opt/var/log/dnsmasq.log
log-async=25

и результат для проверки на клиенте набрать адрес например из какого либо файла и посмотреть запрос, log только после перезапуска или остановки dnsmasq

Jun 16 22:45:45 dnsmasq[10775]: query[A] cms.ad2click.nl from 192.168.1.2
Jun 16 22:45:45 dnsmasq[10775]: /opt/tmp/mvps_block.host cms.ad2click.nl is 127.0.0.1

 

 

 

Edited by vasek00
  • Thanks 1

Share this post


Link to post
Share on other sites

Вставлю и я свои 5 копеек

Блокировка рекламы с использованием нескольких hosts + Блокировка сбора информации Windows + DNSCrypt + белый список + черный список + перенаправление

Установите необходимые пакеты:

opkg install ndmq iptables curl dnsmasq-full dnscrypt-proxy

редактирует dnsmasq.conf

no-resolv
server=127.0.0.1#65053
addn-hosts=/opt/etc/hosts.block

Настройка DNScrypt-proxy
переименовываем S09dnscrypt-proxy:

mv /opt/etc/init.d/S09dnscrypt-proxy /opt/etc/init.d/S57dnscrypt-proxy

редактируем S57dnscrypt-proxy, строка ARGS должна выглядеть так:

ARGS="--local-address=127.0.0.1:65053 --daemonize -R yandex"

Скопировать файл S01adblock в /opt/etc/init.d/
сделать его исполняемым

chmod +x /opt/etc/init.d/S01adblock

сделать симлинк для обновления hosts каждую неделю

ln -s /opt/etc/init.d/S01adblock /opt/etc/cron.weekly/

удаление лишних заданий cron

sed -i '/cron.*min/d; /hourly/d' /opt/etc/crontab
rmdir /opt/etc/cron.1min /opt/etc/cron.5mins /opt/etc/cron.hourly

подключаемся по telnet к роутеру, в командной строке набираем telnet my.keenetic.net или используем Putty, авторизуемся и вводим команды:

opkg dns-override
system configuration save

По скрипту S01adblock писал сам если есть замечания предложения пишите, папка /opt/etc/adblock/ появится после первого запуска скрипта

/opt/etc/adblock/adblock.url - адреса где брать hosts для блокировки рекламы

/opt/etc/adblock/redirection - перенаправления

/opt/etc/adblock/adblock.white - белый список

/opt/etc/adblock/adblock.black - черный список

 

S57dnscrypt-proxy

dnsmasq.conf

S01adblock

Edited by Иван Калашников
Белый список
  • Thanks 9

Share this post


Link to post
Share on other sites
4 часа назад, Иван Калашников сказал:

подключаемся по telnet к роутеру...

"чтоб два раза не вставать", можно запустить /bin/sh (так же есть и busybox-апплет `telnet`)

root@192.168.1.1's password: 

BusyBox v1.25.1 () built-in shell (ash)

~ # /bin/sh
Login: admin
Password: *****
(config)> exit
Core::Configurator: Bye.
~ # 
~ # ls -al ../bin/telnet 
lrwxrwxrwx    1 root  root     7 Feb 15 14:37 ../bin/telnet -> busybox
~ #

какой из них белый, а какой черный?

4 часа назад, Иван Калашников сказал:

/opt/etc/adblock/adblock.black - белый список

/opt/etc/adblock/adblock.black - черный список

 

  • Thanks 1

Share this post


Link to post
Share on other sites
В 01.07.2017 в 14:31, Иван Калашников сказал:

подключаемся по telnet к роутеру, в командной строке набираем telnet my.keenetic.net или используем Putty, авторизуемся и вводим команды:


opkg dns-override
system configuration save

Что-то конфигурация не сохраняется. Keenrtic DSL, Версия 2.11.A.2.0-0

Что делаю не так?

2017-09-21_18-08-09.jpg

Share this post


Link to post
Share on other sites
В 01.07.2017 в 10:31, Иван Калашников сказал:

/opt/etc/adblock/redirection - перенаправления

 

 

 

Если есть желания изменить перенаправления автора, то нужные адреса нужно прописывать в указанный файл или изменения нужно вносить в сам скрипт?

Share this post


Link to post
Share on other sites

В указаном файле обязательно, а в скрипте решайте сами надо или нет. Там он выполняется если файла нет

Edited by Иван Калашников
  • Thanks 1

Share this post


Link to post
Share on other sites
4 часа назад, Иван Калашников сказал:

В указаном файле обязательно, а в скрипте решайте сами надо или нет. Там он выполняется если файла нет

Спасибо за оперативность ответа и хорошую реализацию решения.

 

Share this post


Link to post
Share on other sites
В 01.07.2017 в 10:31, Иван Калашников сказал:
Скрытый текст

 

Вставлю и я свои 5 копеек

Блокировка рекламы с использованием нескольких hosts + Блокировка сбора информации Windows + DNSCrypt + белый список + черный список + перенаправление

Установите необходимые пакеты:



opkg install ndmq iptables curl dnsmasq-full dnscrypt-proxy

редактирует dnsmasq.conf



no-resolv
server=127.0.0.1#65053
addn-hosts=/opt/etc/hosts.block

Настройка DNScrypt-proxy
переименовываем S09dnscrypt-proxy:



mv /opt/etc/init.d/S09dnscrypt-proxy /opt/etc/init.d/S57dnscrypt-proxy

редактируем S57dnscrypt-proxy, строка ARGS должна выглядеть так:



ARGS="--local-address=127.0.0.1:65053 --daemonize -R yandex"

Скопировать файл S01adblock в /opt/etc/init.d/
сделать его исполняемым



chmod +x /opt/etc/init.d/S01adblock

сделать симлинк для обновления hosts каждую неделю



ln -s /opt/etc/init.d/S01adblock /opt/etc/cron.weekly/

удаление лишних заданий cron



sed -i '/cron.*min/d; /hourly/d' /opt/etc/crontab
rmdir /opt/etc/cron.1min /opt/etc/cron.5mins /opt/etc/cron.hourly

подключаемся по telnet к роутеру, в командной строке набираем telnet my.keenetic.net или используем Putty, авторизуемся и вводим команды:



opkg dns-override
system configuration save

По скрипту S01adblock писал сам если есть замечания предложения пишите, папка /opt/etc/adblock/ появится после первого запуска скрипта

/opt/etc/adblock/adblock.url - адреса где брать hosts для блокировки рекламы

/opt/etc/adblock/redirection - перенаправления

/opt/etc/adblock/adblock.white - белый список

/opt/etc/adblock/adblock.black - черный список

 

S57dnscrypt-proxy

dnsmasq.conf

S01adblock

 

 

Добрый вечер. Сделал всё по цитируемой инструкции, но у меня сложилось ощущения, что интернет не успевает подняться и файл хостс не успевает заполняться, причем от раз к разу в файле разно кол-во адресов, подскажи как выйти из ситуации?

первый раз 212 адресов,, после перезагрузки 2516, максимум я видел 27 тысяч адресов

Nov 04 19:46:57dropbear[702]Running in background
Nov 04 19:46:57rootStarted dnsmasq from .
Nov 04 19:46:57dnsmasq[716]started, version 2.78 cachesize 150
Nov 04 19:46:57dnsmasq[716]compile time options: IPv6 GNU-getopt no-RTC no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth no-DNSSEC no-ID loop-detect inotify
Nov 04 19:46:57dnsmasq[716]using nameserver 127.0.0.1#65053
Nov 04 19:46:57dnsmasq[716]bad address at /opt/etc/hosts line 1
Nov 04 19:46:57dnsmasq[716]bad address at /opt/etc/hosts line 2
Nov 04 19:46:57dnsmasq[716]read /opt/etc/hosts - 7 addresses
Nov 04 19:46:57dnsmasq[716]bad name at /opt/etc/hosts.block line 165
Nov 04 19:46:57dnsmasq[716]bad name at /opt/etc/hosts.block line 166
Nov 04 19:46:57dnsmasq[716]read /opt/etc/hosts.block - 212 addresses
Nov 04 19:46:57dnscrypt-proxy[717]Starting dnscrypt-proxy 1.9.5
Nov 04 19:46:57dnscrypt-proxy[717]Generating a new session key pair
Nov 04 19:46:57dnscrypt-proxy[717]Done
Nov 04 20:37:45rootStarted dnsmasq from .
Nov 04 20:37:45dnsmasq[710]started, version 2.78 cachesize 150
Nov 04 20:37:45dnsmasq[710]compile time options: IPv6 GNU-getopt no-RTC no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth no-DNSSEC no-ID loop-detect inotify
Nov 04 20:37:45dnsmasq[710]using nameserver 127.0.0.1#65053
Nov 04 20:37:45dnsmasq[710]bad address at /opt/etc/hosts line 1
Nov 04 20:37:45dnsmasq[710]bad address at /opt/etc/hosts line 2
Nov 04 20:37:45dnsmasq[710]read /opt/etc/hosts - 7 addresses
Nov 04 20:37:45dnsmasq[710]bad name at /opt/etc/hosts.block line 165
Nov 04 20:37:45dnsmasq[710]bad name at /opt/etc/hosts.block line 166
Nov 04 20:37:46rootStarted  from .
Nov 04 20:37:46dnsmasq[710]read /opt/etc/hosts.block - 2516 addresses

 

 

Edited by ykutik

Share this post


Link to post
Share on other sites

Друзья. Решил поднять тему блокировки. Нашёл интересные, но для моих познаний темноватые ресурсы. Задался вопросом почему бы не блокировать рекламу по DNS. Спешу поделиться нарытым. Жду ваших профессиональных комментариев. 

Блокирование рекламы в сети через ваше собственное оборудование Linux

https://pi-hole.net/

 

AdGuard DNS - это альтернативный способ заблокировать рекламу, защитить личные данные и оградить детей от взрослых материалов. Он прост в настройке и использовании и обеспечивает необходимый минимум защиты от рекламы, трекинга и фишинга, независимо от платформы.

https://adguard.com/ru/adguard-dns/overview.html#faq-2-9

Edited by Exrector
  • Upvote 1

Share this post


Link to post
Share on other sites
9 часов назад, Exrector сказал:

Задался вопросом почему бы не блокировать рекламу по DNS.

Это уже умеет dnscrypt-proxy. На данный момент использую такой способ блокировки рекламы, успешно блокирует даже на https сайтах. 

Share this post


Link to post
Share on other sites
15 часов назад, ykutik сказал:

Добрый вечер. Сделал всё по цитируемой инструкции, но у меня сложилось ощущения, что интернет не успевает подняться и файл хостс не успевает заполняться, причем от раз к разу в файле разно кол-во адресов, подскажи как выйти из ситуации?

первый раз 212 адресов,, после перезагрузки 2516, максимум я видел 27 тысяч адресов


Nov 04 19:46:57dropbear[702]Running in background
Nov 04 19:46:57rootStarted dnsmasq from .
Nov 04 19:46:57dnsmasq[716]started, version 2.78 cachesize 150
Nov 04 19:46:57dnsmasq[716]compile time options: IPv6 GNU-getopt no-RTC no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth no-DNSSEC no-ID loop-detect inotify
Nov 04 19:46:57dnsmasq[716]using nameserver 127.0.0.1#65053
Nov 04 19:46:57dnsmasq[716]bad address at /opt/etc/hosts line 1
Nov 04 19:46:57dnsmasq[716]bad address at /opt/etc/hosts line 2
Nov 04 19:46:57dnsmasq[716]read /opt/etc/hosts - 7 addresses
Nov 04 19:46:57dnsmasq[716]bad name at /opt/etc/hosts.block line 165
Nov 04 19:46:57dnsmasq[716]bad name at /opt/etc/hosts.block line 166
Nov 04 19:46:57dnsmasq[716]read /opt/etc/hosts.block - 212 addresses
Nov 04 19:46:57dnscrypt-proxy[717]Starting dnscrypt-proxy 1.9.5
Nov 04 19:46:57dnscrypt-proxy[717]Generating a new session key pair
Nov 04 19:46:57dnscrypt-proxy[717]Done

Nov 04 20:37:45rootStarted dnsmasq from .
Nov 04 20:37:45dnsmasq[710]started, version 2.78 cachesize 150
Nov 04 20:37:45dnsmasq[710]compile time options: IPv6 GNU-getopt no-RTC no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth no-DNSSEC no-ID loop-detect inotify
Nov 04 20:37:45dnsmasq[710]using nameserver 127.0.0.1#65053
Nov 04 20:37:45dnsmasq[710]bad address at /opt/etc/hosts line 1
Nov 04 20:37:45dnsmasq[710]bad address at /opt/etc/hosts line 2
Nov 04 20:37:45dnsmasq[710]read /opt/etc/hosts - 7 addresses
Nov 04 20:37:45dnsmasq[710]bad name at /opt/etc/hosts.block line 165
Nov 04 20:37:45dnsmasq[710]bad name at /opt/etc/hosts.block line 166
Nov 04 20:37:46rootStarted  from .
Nov 04 20:37:46dnsmasq[710]read /opt/etc/hosts.block - 2516 addresses

 

 

Сделайте перезапуск dnsmasq после обновления hosts.block

В файле S01adblock в конец добавьте строку

opt/etc/init.d/S56dnsmasq restart

Можно блокировать рекламу и без dnsmasq использую только dnscrypt Защита DNS

Edited by Иван Калашников

Share this post


Link to post
Share on other sites
16 часов назад, ykutik сказал:

Добрый вечер. Сделал всё по цитируемой инструкции, но у меня сложилось ощущения, что интернет не успевает подняться и файл хостс не успевает заполняться, причем от раз к разу в файле разно кол-во адресов, подскажи как выйти из ситуации?

первый раз 212 адресов,, после перезагрузки 2516, максимум я видел 27 тысяч адресов

А это очень важно - обновление данного файла. Как то не заметил разницу сейчас стоит от июня 2017.

Цитата
Nov 05 08:49:00 dnsmasq[759] read /opt/etc/hosts - 3 addresses
Nov 05 08:49:01 dnsmasq[759] read /opt/tmp/malware_adblock.txt - 1153 addresses
Nov 05 08:49:03 dnsmasq[759] read /opt/tmp/hosts0.txt - 57542 addresses

Надо бы подумать над уменьшением адресов.

Share this post


Link to post
Share on other sites

Какое именно обновление, если имеется ввиду hosts, то имеет ресурсы с рекламой меняются каждый день.

Адреса можно уменьшить(/opt/etc/adblock/adblock.url - адреса где брать hosts для блокировки рекламы), но это скажется на отображении рекламы.

Share this post


Link to post
Share on other sites

Спасибо, команда перезапуска помогла.

Ещё вопрос про обновление:

В 01.07.2017 в 10:31, Иван Калашников сказал:

сделать симлинк для обновления hosts каждую неделю


ln -s /opt/etc/init.d/S01adblock /opt/etc/cron.weekly/

Что бы заработало, достаточно поставить cron?

Share this post


Link to post
Share on other sites

Да cron это планировщик заданий, папка(cron.weekly), выпоняется раз в неделю. Более подробно можно узнать в интернете

Share this post


Link to post
Share on other sites
4 минуты назад, Иван Калашников сказал:

Какое именно обновление, если имеется ввиду hosts, то имеет ресурсы с рекламой меняются каждый день.

Да cron это планировщик заданий, папка(cron.weekly), выпоняется раз в неделю. Более подробно можно узнать в интернете

Про это и идет речь, вы можете сказать разницу месячной/двух месячной/трех месячной.

Share this post


Link to post
Share on other sites

Разница только в том, как часто вы хотите обновлять адреса с рекламой, это уже дело ваше и не факт, что в том или ином источнике будут присутствовать обновления

Share this post


Link to post
Share on other sites
22 минуты назад, Иван Калашников сказал:

...что в том или ином источнике будут присутствовать обновления

про то и речь.

 

Share this post


Link to post
Share on other sites
Nov 08 12:49:01ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 2.
Nov 08 12:49:01ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 1: /: Permission denied.
Nov 08 12:49:01ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 3: syntax error: unexpected word (expecting "in").
Nov 08 12:49:01ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 2.
 
Помогите чайнику пожалуйста. Вот в это уперся и никак дальше...
 

Share this post


Link to post
Share on other sites

Настроил по инструкции представленной  Иваном Калашниковым, за что ему спасибо! 

Однако, есть замечание для тех у кого первая giga, возможно, на других тоже может сказаться, после перезагрузки скрипт выполняется долго и можете получить тайм-аут от entware и тогда вовсе все дополнения не загрузятся.

По самому скрипту могу добавить, что создавать файлы добавлением в них строк (самое начало скрипта) корректнее реализовывать через команду touch (для чего она от части предназначена), а не через echo. 

Еще вопрос без dns-crypt режется ли реклама на https сайтах и на ютубе? И как сделать чтобы с резкой рекламы при поиске в гугле, можно было переходить по сайтам из первой тройки (рекламных естестно)?

Share this post


Link to post
Share on other sites
В 08.11.2017 в 14:15, lres сказал:
Nov 08 12:49:01ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 2.
Nov 08 12:49:01ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 1: /: Permission denied.
Nov 08 12:49:01ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 3: syntax error: unexpected word (expecting "in").
Nov 08 12:49:01ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 2.
 
Помогите чайнику пожалуйста. Вот в это уперся и никак дальше...
 

Вы бы содержимое скрипта 010-intercept-dns.sh выложили и чего добиться хотите написали)

Share this post


Link to post
Share on other sites
В ‎11‎.‎11‎.‎2017 в 12:52, yarazny сказал:

Вы бы содержимое скрипта 010-intercept-dns.sh выложили и чего добиться хотите написали)

Добрый день! (Ура, мне ответили!)

По порядку, тогда:

Имеется    Keenetic Omni, который раздает инетку на все что есть дома (LAN, WiFi).

Детишки подсели на youtube-канал Мистер Макс, Мисс Кати и прочую ересь. Я начал искать способ заблокировать это непотребство, причем не весь youtube, а только канал (ы).

Поскольку сам youtube такой возможности упорно не дает, (и нужно блокировать сразу на всех устройствах) хотелось бы сделать это на роутере.

Я думал тупо повставлять URL youtube- каналов  в блок-лист (hosts)....ну и заодно от рекламы избавиться.

Вобщем, 2 недели уже ломаю железяку:

1. У меня выделенный IP шник с двумя DNS провайдера (может тут проблема?)

2. Отформатировал флешку в EXT3

3. Поставил на нее OPKG, включил файл подкачки.

4. Ну и дальше по второму способу:

Попробуйте так:

~ # cat /opt/etc/ndm/netfilter.d/010-intercept-dns.sh
#!/bin/sh
case "$table" in
nat)
        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
        ;;
*)
        exit 0
esac

Такой dnsmasq.conf

no-resolv
server=8.8.8.8
server=8.8.4.4
port=65053
addn-hosts=/opt/etc/hosts
log-queries

5. И вот что сегодня пишет журнал:

Nov 14 08:51:41ndm
Opkg::Manager: /tmp/mnt/c7e4325e-b5b3-4328-0297-3fbb4e68d772 mounted to /tmp/mnt/c7e4325e-b5b3-4328-0297-3fbb4e68d772.
Nov 14 08:51:41ndm
Opkg::Manager: /tmp/mnt/c7e4325e-b5b3-4328-0297-3fbb4e68d772 mounted to /opt/.
Nov 14 08:51:41ndm
Opkg::Manager: /tmp/mnt/c7e4325e-b5b3-4328-0297-3fbb4e68d772 initialized.
Nov 14 08:51:41ndm
kernel: Adding 262140k swap on /tmp/mnt/c7e4325e-b5b3-4328-0297-3fbb4e68d772/swapfile. Priority:-1 extents:9 across:6684040k
Nov 14 08:51:41ndm
Swap::Manager: enabled swap area c7e4325e-b5b3-4328-0297-3fbb4e68d772:swapfile.
Nov 14 08:51:41dropbear[573]
Running in background
Nov 14 08:51:41root
Started dnsmasq from .
Nov 14 08:51:41dnsmasq[581]
started, version 2.78 cachesize 150
Nov 14 08:51:41dnsmasq[581]
compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth no-DNSSEC no-ID loop-detect no-inotify
Nov 14 08:51:41dnsmasq[581]
using nameserver 8.8.4.4#53
Nov 14 08:51:41dnsmasq[581]
using nameserver 8.8.8.8#53
Nov 14 08:51:41dnsmasq[581]
read /opt/etc/hosts - 13150 addresses
Nov 14 08:51:42dnsmasq[581]
read /opt/etc/hosts - 13150 addresses
Nov 14 08:51:44ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 1: /: Permission denied.
Nov 14 08:51:44ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 127.
Nov 14 08:51:44ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 1: /: Permission denied.
Nov 14 08:51:44ndm
Core::Server: started Session 127.0.0.1:44023.
Nov 14 08:51:44ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 127.
Nov 14 08:51:44ndm
Core::Session: client disconnected.
Nov 14 08:51:44ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 1: /: Permission denied.
Nov 14 08:51:44ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 127.
 

Share this post


Link to post
Share on other sites

line 1: /: Permission denied. 

Вот это я просто не понимаю: Какой доступ в линии 1? Права на чтение-запись открыты.

 

Кстати, вот еще: команда не проходит...(

...и в какой файл её нужно записать (закопипастить) тоже не понял...

~ # opkg dns-override
opkg: unknown sub-command dns-override

Я скорее всего что-нибудь глупое пишу, т.к. не очень понимаю что делаю (в-этих-ваших-линуксах), извините.

....И еще вопрос (может тупой и наглый):

А нельзя написать один скрипт для таких чайников как я? Может кто-то сжалится? А то столько мучений, приходится изучать линукс)))

Ветка на форуме ведь для этого создана?

Пробовал еще вот этот способ https://habrahabr.ru/post/263081/

...тоже что то у меня не получается(

Edited by lres

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×