Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

...

команда opkg dns-override не проходит

/opt/etc/ndm/netfilter.d # opkg dns-override
opkg: unknown sub-command dns-override

Команду

opkg dns-override

нужно указывать в файле конфигурации прошивки (там где включается opkg disk т.е. в cli telnet режима).

  • Ответов 148
  • Создана
  • Последний ответ

Топ авторов темы

Опубликовано

Сидел мучился, оказалось чтобы у меня заработало надо было указывать адреса в виде

server=8.8.8.8

server=208.67.220.220

,а не как в примере

server=8.8.8.8#1253

server=208.67.220.220#1253

Кстати, а откуда автор взял #1253 ?

  • 1 месяц спустя...
Опубликовано
В 2 июля 2016 г. в 21:22, pinkfloyd сказал:

Кстати, а откуда автор взял #1253 ?

Тоже интересует этот вопрос.

Без #1253 заработало.

Опубликовано

Скорее всего просто опечатался, и сработал злостный копипаст, т.к. параллельно писался топик/мануал о настройке SkyDNS, который как раз использует соответствующий порт ;)

  • 1 месяц спустя...
Опубликовано (изменено)

Всем добрый вечер!

server=8.8.8.8

server=208.67.220.220

Вопрос, а если вбить туда действующие DNS провайдера не лучше будет ?
И для чего необходимо 2 раза сервер вбивать ?

 

https://hosts-file.net/?s=Download

Более 400 000 тысяч записей.

Изменено пользователем Павел Цыбырна
Добавление ссылки на огромный файл hosts
Опубликовано
10 часов назад, Павел Цыбырна сказал:

Вопрос, а если вбить туда действующие DNS провайдера не лучше будет ?

И для чего необходимо 2 раза сервер вбивать ?

Какие DNS серверы использовать решать исключительно вам. У меня, скажем, местный провайдер блокирует реестр РКН с помощью DNS спуфинга, поэтому в первом посте я указал серверы Яндрекс.DNS на нестандартных портах.

Сервер можно указать и один. Несколько серверов указывают для отказоустойчивости: при падении одного сервера у вас не отвалится DNS резолвинг.

  • 3 недели спустя...
Опубликовано (изменено)

 

Добрый день.

Начал делать по инструкции из первого поста.

Содержимое  /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

Как только делаю права на запуск , то пропадает доступ в Интернет ( DNS_PROBE_FINISHED_BAD_CONFIG ).

В /opt/etc/dnsmasq.conf в конец дописал:

no-resolv
server=8.8.8.8
port=65053

В  /opt/etc/hosts  поместил список блокируемых хостов.

Вот что пишет журнал Кинетика:

Nov 05 12:59:31ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 2: [filter: not found.
Nov 05 12:59:31ndmCore::Server: started Session 127.0.0.1:60545.
Nov 05 12:59:31ndmCore::Session: client disconnected.
Nov 05 13:00:45ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 2: [filter: not found.
Nov 05 13:00:45ndmCore::Server: started Session 127.0.0.1:60547.
Nov 05 13:00:45ndmCore::Session: client disconnected.
Nov 05 13:00:47ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 2: [filter: not found.
Nov 05 13:00:47ndmCore::Server: started Session 127.0.0.1:60548.
Nov 05 13:00:47ndmCore::Session: client disconnected.
Nov 05 13:02:00ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 2: [filter: not found.
Nov 05 13:02:00ndmCore::Server: started Session 127.0.0.1:60549.
Nov 05 13:02:00ndmCore::Session: client disconnected.
Nov 05 13:02:02ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 2: [filter: not found.
Nov 05 13:02:02ndmCore::Server: started Session 127.0.0.1:60550.
Nov 05 13:02:02ndmCore::Session: client disconnected.
Nov 05 13:02:21ndmCore::Server: started Session 127.0.0.1:60552.
Nov 05 13:02:21ndmCore::Session: client disconnected.
Nov 05 13:02:21ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 2: [filter: not found.

В iptables много повторяющихся правил

 # iptables -t nat --list\
>
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  anywhere             anywhere             tcp dpt:domain to:192.168.0.1:65053
DNAT       udp  --  anywhere             anywhere             udp dpt:domain to:192.168.0.1:65053
DNAT       tcp  --  anywhere             anywhere             tcp dpt:domain to:192.168.0.1:65053
DNAT       udp  --  anywhere             anywhere             udp dpt:domain to:192.168.0.1:65053
DNAT       tcp  --  anywhere             anywhere             tcp dpt:domain to:192.168.0.1:65053
DNAT       udp  --  anywhere             anywhere             udp dpt:domain to:192.168.0.1:65053
DNAT       tcp  --  anywhere             anywhere             tcp dpt:domain to:192.168.0.1:65053
DNAT       udp  --  anywhere             anywhere             udp dpt:domain to:192.168.0.1:65053
DNAT       tcp  --  anywhere             anywhere             tcp dpt:domain to:192.168.0.1:65053
DNAT       udp  --  anywhere             anywhere             udp dpt:domain to:192.168.0.1:65053
DNAT       tcp  --  anywhere             anywhere             tcp dpt:domain to:192.168.0.1:65053
DNAT       udp  --  anywhere             anywhere             udp dpt:domain to:192.168.0.1:65053

и т.д.

Если нужна дополнительная информация, спрашивайте. Но помогите настроить блокировку.

Изменено пользователем slava.trifonov
Опубликовано (изменено)

Попробуйте почитать тут и проверить что все ок.

Проверка 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-кэша операционной системы и браузера.

Изменено пользователем TheBB
Опубликовано

Я починил. Добавил пару строк в dnsmasq.conf (тут в теме кто-то их выкладывал).

И у меня шелл не умеет обрабатывать конструкции [  ], пришлось делать через case.

И opkg dns-override  в cli выполнил. 

Опубликовано (изменено)

Добрый вечер форумчане. А я не починил (как отписался предшествующий оратор :)) ). Вручную, через Putty, фильтрация работает.... Что я делаю:

в консоли копипастой по очереди запускаю

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

и фильтр работает, НО в журнале имею:

Nov 11 19:52:27ndm  Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: Try `iptables -h' or 'iptables --help' for more information.
Nov 11 19:52:27ndm  Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: Try `iptables -h' or 'iptables --help' for more information.
Nov 11 19:52:27ndm  Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 2.
 

Что не так-то? Сильно подозреваю, что с синтаксисом во 2-й строке косяк, но т.к. в "этих-ваших-линуксах" слабо понимаю, то сообразить где ошибка - не могу. Версия EnterWare - последняя доступная, может доустановить что-то из репозитория, или роутер сбросить "на завод" и всё с нуля попробовать ??

Изменено пользователем TheBB
дополнение
Опубликовано
37 минут назад, -aMk- сказал:

... Версия EnterWare - последняя доступная...

??? судя по v2.06 -  Entware-ng или Entware-Keenetic (как и Entware-3x для 2.07+), являются актуальными. Что вы умудрились поставить?

44 минуты назад, -aMk- сказал:

... роутер сбросить "на завод" и всё с нуля попробовать ??

не вариант, т.к.

46 минут назад, -aMk- сказал:

... в "этих-ваших-линуксах"...

пакет iptables установлен?

Опубликовано
2 минуты назад, TheBB сказал:

??? судя по v2.06 -  Entware-ng или Entware-Keenetic (как и Entware-3x для 2.07+), являются актуальными. Что вы умудрились поставить?

не вариант, т.к.

пакет iptables установлен?

Как проверить версию EnterWare и установлен-ли пакет iptables? Я делал всё по инструкции в 1-м посте, никакой отсебятины... И повторюсь - вручную всё работает, но непонятная хрень в журнале. Если не сложно - отпишите, что набрать в консоли, логи с меня, могу принт-скрины приложить, очень хочется автоматизировать процесс фильтрации ибо 2-е детишек с планшетами\смартами :(

Опубликовано (изменено)
1 час назад, -aMk- сказал:

Как проверить версию...

Версию Entware можно определить по url, с которого идет скачивание пакетов, в файле /opt/etc/opkg.conf :

Entware-ng - http://pkg.entware.net/binaries/mipsel

Entware-Keenetic - http://pkg.entware-keenetic.ru/binaries/keenbe для mips;   http://pkg.entware-keenetic.ru/binaries/keenle  для mipsel 

Entware-3x - http://entware-3x.zyxmon.org/binaries/mips  для mips;   http://entware-3x.zyxmon.org/binaries/mipsel  для mipsel

1 час назад, -aMk- сказал:

... установлен-ли пакет iptables?...

opkg list-installed - выводит список установленных пакетов

upd 40 min later

подправил первый пост (побился при переезде) и проверил на DSL 2.08 -  решение рабочее

Изменено пользователем TheBB
upd
Опубликовано
2 часа назад, TheBB сказал:

Версию Entware можно определить по url, с которого идет скачивание пакетов, в файле /opt/etc/opkg.conf :

src/gz keenle http://pkg.entware-keenetic.ru/binaries/keenle
dest root /
lists_dir ext /opt/var/opkg-lists

Вот ЭТО  лежит внутри  файла /opt/etc/opkg.conf. Ызвыняйте, что ничего  более конкретного   предоставить  не  могу, действую "по уставу"...

2 часа назад, TheBB сказал:

opkg list-installed

 

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

1.JPG

 

Опубликовано

terminal (install/prepare)

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

~ # ndmq -p "show version" -P release
v2.06(AAFS.5)C1
~ #
~ # ndmq -p "show version" -P device
Keenetic Giga II
~ # 
~ # opkg install dnsmasq-full iptables
Installing dnsmasq-full (2.76-7) to root...
Downloading http://pkg.entware-keenetic.ru/binaries/keenle/dnsmasq-full_2.76-7_keenle.ipk.
Installing iptables (1.4.21-2) to root...
Downloading http://pkg.entware-keenetic.ru/binaries/keenle/iptables_1.4.21-2_keenle.ipk.
Configuring iptables.
Configuring dnsmasq-full.
~ #
~ # cat > /opt/etc/ndm/netfilter.d/010-intercept-dns.sh <<EOF
> #!/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
> 
> EOF
~ #
~ # chmod +x /opt/etc/ndm/netfilter.d/010-intercept-dns.sh
~ #
~ # cat >> /opt/etc/dnsmasq.conf <<EOF
> no-resolv
> server=77.88.8.88#1253
> server=77.88.8.2#1253
> port=65053
>
> EOF
~ #
~ # wget -O /opt/etc/hosts http://winhelp2002.mvps.org/hosts.txt
Connecting to winhelp2002.mvps.org (216.155.126.40:80)
hosts                100% |***********************|   490k  0:00:00 ETA
~ #
~ # reboot 
Connection to 192.168.52.2 closed by remote host.
Connection to 192.168.52.2 closed.

 

syslog

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

...
[I] Nov 11 23:38:22 dropbear[406]: Running in background
[I] Nov 11 23:38:23 ndm: kernel: eth2.1: no IPv6 routers present
[I] Nov 11 23:38:23 root: Started dropbear from .
[I] Nov 11 23:38:23 ndm: kernel: br0: no IPv6 routers present
[I] Nov 11 23:38:23 root: Started dnsmasq from .
[I] Nov 11 23:38:23 dnsmasq[423]: started, version 2.76 cachesize 150
[I] Nov 11 23:38:23 dnsmasq[423]: compile time options: IPv6 GNU-getopt no-RTC no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth no-DNSSEC loop-detect no-inotify
[I] Nov 11 23:38:23 dnsmasq[423]: using nameserver 77.88.8.2#1253
[I] Nov 11 23:38:23 dnsmasq[423]: using nameserver 77.88.8.88#1253
[I] Nov 11 23:38:24 dnsmasq[423]: read /opt/etc/hosts - 13286 addresses
[I] Nov 12 00:10:06 ndm: Core::System::Clock: system time has been changed.
[I] Nov 12 00:10:06 ndm: Ntp::Client: time synchronized with "2.pool.ntp.org".
[I] Nov 12 00:10:11 ndm: kernel: ra0: no IPv6 routers present
[I] Nov 12 00:10:12 ndm: Cifs::ServerNQ: service started.

 

пройдитесь еще раз внимательно и все получится )))

Опубликовано (изменено)
Цитата

 

Все сделал, как вы предложили, стало хуже:

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

Putty:

login as: root
root@192.168.1.1's password:


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


        |.    .|      |.    .|  |.    .|
        |||,.|||      |||,.|||  |||,.|||
        |' || '|      |' || '|  |' || '|
       ____||____        ||________||
      | ===  = = |       | == == == |
      |__________|       |__________|
  ______  _________        ___    ____  ____
 |    | \| |_   _| \  /\  / / \  |  _ `|    |
 | ~~,'  ' | | |  \ \/  \/ / _ \ | |_),| ~~,'  __
 | ~~'. ;  | | |   \  /\  / ___ \| ._ \| ~~'. |__|
 |____|_|\_| |_|    \/  \/_/   \_|_| \_|____|
     _  ______________  ______________  ___
    | |/ /|    |    | \| |    |_   _| |/ __\
    | ' / | ~~,' ~~,'  ' | ~~,' | | | | |  '
    | ; \ | ~~'. ~~'. ;  | ~~'. | | | | |__,
    |_|\_\|____|____|_|\_|____| |_| |_|\___/

Ultimate repo for ZyXEL routers the Keenetic series
~ # ndmq -p "show version" -P release
v2.06(AAFS.8)C1
~ # ndmq -p "show version" -P device
Keenetic Giga II
~ # opkg install dnsmasq-full iptables
Package dnsmasq-full (2.76-7) installed in root is up to date.
Package iptables (1.4.21-2) installed in root is up to date.
~ # cat > /opt/etc/ndm/netfilter.d/010-intercept-dns.sh <<EOF
> !/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
> EOF
~ # chmod +x /opt/etc/ndm/netfilter.d/010-intercept-dns.sh
~ # cat >> /opt/etc/dnsmasq.conf <<EOF
> no-resolv
> server=77.88.8.88#1253
> server=77.88.8.2#1253
> port=65053
> EOF
~ # wget -O /opt/etc/hosts http://winhelp2002.mvps.org/hosts.txt
Connecting to winhelp2002.mvps.org (216.155.126.40:80)
hosts                100% |***************************************************|   490k  0:00:00 ETA
~ #
~ #

 

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

Syslog:

Nov 11 19:45:07 ndm: Opkg::Manager: /tmp/mnt/500gb mounted to /tmp/mnt/500gb.
Nov 11 19:45:07 ndm: Opkg::Manager: /tmp/mnt/500gb mounted to /opt/.
Nov 11 19:45:07 ndm: Opkg::Manager: /tmp/mnt/500gb initialized.
[E] Nov 11 19:45:07 ndm: Opkg::Manager: invalid initrc "/opt/opkg dns-override": no such file or directory, trying /opt/etc/init.d/.
Nov 11 19:45:07 dropbear[309]: Running in background
Nov 12 14:47:05 ndm: Core::System::Clock: system time has been changed.
Nov 12 14:47:05 root: Started dropbear from .
[C] Nov 12 14:47:05 dnsmasq[316]: error at line 674 of /opt/etc/dnsmasq.conf
[C] Nov 12 14:47:05 dnsmasq[316]: FAILED to start up

Nov 12 14:47:05 pppd[295]: System time change detected.
Nov 12 14:47:06 ndm: Core::Server: started Session 127.0.0.1:57199.
Nov 12 14:47:06 miniupnpd: HTTP listening on port 35743
Nov 12 14:47:06 miniupnpd: listening for NAT-PMP traffic on port 5351
Nov 12 14:47:06 ndm: kernel: ra0: no IPv6 routers present
Nov 12 14:47:07 ndm: Core::Server: started Session 127.0.0.1:57201.
Nov 12 14:47:07 ndm: Cifs::ServerNQ: service started.
Nov 12 14:47:09 transmissiond: Transmission 2.84 (14307) started
Nov 12 14:47:09 transmissiond: RPC Server Adding address to whitelist: *.*.*.*
Nov 12 14:47:09 transmissiond: RPC Server Serving RPC and Web requests on port 127.0.0.1:10000/transmission/
Nov 12 14:47:09 transmissiond: RPC Server Whitelist enabled
Nov 12 14:47:09 transmissiond: RPC Server Password required
Nov 12 14:47:09 transmissiond: Port Forwarding Stopped
Nov 12 14:47:09 transmissiond: DHT Reusing old id
Nov 12 14:47:09 transmissiond: DHT Bootstrapping from 108 IPv4 nodes
Nov 12 14:47:09 transmissiond: Using settings from "/tmp/mnt/500gb//uT/"
Nov 12 14:47:09 transmissiond: transmissiond requiring authentication
Nov 12 14:47:09 transmissiond: Watching "/tmp/mnt/500gb//uT//watch" for new .torrent files
Nov 12 14:47:13 ndm: Core::System::Clock: system time has been changed.
Nov 12 14:47:13 ndm: Ntp::Client: time synchronized with "3.pool.ntp.org".
Nov 12 14:47:17 root: Failed to start dnsmasq from .
[E] Nov 12 14:47:17 ndm: Opkg::Manager: /opt/etc/init.d/S56dnsmasq: exit code 255.
[C] Nov 12 14:47:17 dnsmasq[374]: error at line 674 of /opt/etc/dnsmasq.conf
[C] Nov 12 14:47:17 dnsmasq[374]: FAILED to start up
Nov 12 14:47:23 ndm: kernel: SWNAT bind table cleared
Nov 12 14:47:23 ndm: Core::System::DriverManager: unloading hw_nat.ko...
Nov 12 14:47:29 root: Failed to start dnsmasq from .
[E] Nov 12 14:47:29 ndm: Opkg::Manager: /opt/etc/init.d/rc.unslung: exit code 255.
Nov 12 14:47:29 ndm: Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 1: !/bin/sh: not found.
Nov 12 14:48:22 ndm: Core::Syslog: last message repeated 4 times.
Nov 12 14:49:08 ndm: kernel: IPv4 conntrack: flushed 1 entries with address 192.168.1.40
Nov 12 14:49:08 ndm: kernel: SWNAT bind table cleared
Nov 12 14:49:08 ndm: Core::System::DriverManager: unloading hw_nat.ko...
Nov 12 14:49:09 ndm: Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 1: !/bin/sh: not found.
Nov 12 14:49:39 wmond: WifiMaster0/AccessPoint0: (RT2860) STA(74:04:2b:71:35:21) had deauthenticated.

 

 И вот ещё - подскажите, какой командой перезапустить службу, в моём случае dnsmasq, без перезагрузки роутера. Спасибо заранее

Изменено пользователем -aMk-
дописка
Опубликовано
3 минуты назад, -aMk- сказал:

Все сделал, как вы предложили, стало хуже:

Вот он бездумный копи-паст. Я не предлагал, а привел вывод с терминала и сислог из морды кинетика, все работает. )))

Что и как вы там вводите - известно только вам. Читаете первый пост темы, внимательно, шаг за шагом, проходите все этапы:

создаете файл /opt/etc/ndm/netfilter.d/010-intercept-dns.sh

наполняете его содержимым

делаете его исполняемым

дописываете в файл /opt/etc/dnsmasq.conf  4 (четыре строки)

загружаете список wget -O /opt/etc/hosts http://winhelp2002.mvps.org/hosts.txt

еще раз внимательно читаете в конце первого поста скрытый текст

перезагружаете кинетик

 

Опубликовано (изменено)

Так и делаю. Буду пробовать. Как перезапустить службу, какая команда используется для перезапуска DNSMASQ ?

 

Пробую в консоли ввести ["$table" != "nat"], вылезает ошибка:

sh: missing ]

Изменено пользователем -aMk-
дополню
Опубликовано

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

~ # 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

Файл hosts у меня другой, на 28000 строк, загрузка проца 1-2%. С учетом того что polipo+tor работают.

Опубликовано
23 часа назад, slava.trifonov сказал:

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


~ # 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

Файл hosts у меня другой, на 28000 строк, загрузка проца 1-2%. С учетом того что polipo+tor работают.

Всё заработало, Слава - спасибо :)

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

I] Nov 14 22:10:46 dnsmasq[321]: read /opt/etc/hosts - 498004 addresses
Nov 14 22:10:53 dnsmasq[321]: read /opt/etc/hosts - 498004 addresses
Nov 14 22:10:53 dnsmasq[321]: query[A] i.instagram.com from 192.168.1.36
Nov 14 22:10:53 dnsmasq[321]: forwarded i.instagram.com to 77.88.8.2
Nov 14 22:10:53 dnsmasq[321]: forwarded i.instagram.com to 77.88.8.88
Nov 14 22:10:53 dnsmasq[321]: query[A] clients3.google.com from 192.168.1.36
Nov 14 22:10:53 dnsmasq[321]: forwarded clients3.google.com to 77.88.8.2
Nov 14 22:10:53 dnsmasq[321]: forwarded clients3.google.com to 77.88.8.88

У меня тоже HOSTS скачан, ссылка была выше, ну и лог временно посмотрю и отключу позже. Кстати, загрузка ЦП и Ram:

Скрытый текст
Модель
Keenetic Giga II Сервисный код 797-604-641-321-677 Версия NDMS v2.06(AAFS.8)C1 Обновления
Нет
Время работы 00:05:44 Текущее время 14/11/2016 22:15:46 Загрузка ЦП 0% Память 25% (63/256 МБ) Файл подкачки 0 из 0 МБ Имя устройства Keenetic

 

Опубликовано
В 12.11.2016 в 15:34, TheBB сказал:

/opt/etc/init.d/S56dnsmasq restart

зачищайте тему, Слава спас ситуацию

PS тема буде зачищена

 

  • 2 недели спустя...
Опубликовано

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

1.

/ # opkg install dnsmasq-full
Installing dnsmasq-full (2.76-7) to root...
Downloading http://entware-3x.zyxmon.org/binaries/mipsel/dnsmasq-full_2.76-7_mipsel-3x.ipk.
Configuring dnsmasq-full.
/ #

2. чтоб dnsmasq запускался на стандартном 53 порту

(config)> opkg dns-override
(config)> system configuration save

3. файл "/opt/etc/dnsmasq.conf"

no-resolv
server=IP_DNS1
server=IP_DNS2
addn-hosts=/opt/etc/tmp/hosts0

4. создать файл "/opt/etc/hosts0" из "wget -O /opt/etc/hosts0 http://winhelp2002.mvps.org/hosts.txt"

5. проверить файл "/opt/etc/hosts"

127.0.0.1 localhost
::1 localhost #[IPv6]

6. перезапуск роутера

7. при правильной настройки в лог

Nov 29 19:56:12dnsmasq[2917] started, version 2.76 cachesize 150
Nov 29 19:56:12dnsmasq[2917] compile time options: IPv6 GNU-getopt no-RTC no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth no-DNSSEC loop-detect no-inotify
Nov 29 19:56:12dnsmasq[2917] using nameserver IP_DNS1#53
Nov 29 19:56:12dnsmasq[2917] using nameserver IP_DNS2#53
Nov 29 19:56:12root Started dnsmasq from .
Nov 29 19:56:12dnsmasq[2917] read /opt/etc/hosts - 13286 addresses

Примечание, доп. настройки

файл "/opt/etc/hosts" для сопоставления имен хостов IP-адресам, если не хотим его использовать то опция

no-hosts

дополнительно с  "/opt/etc/hosts" то опция

addn-hosts=/path/to/file

использовать свой список DNS-серверов

resolv-file=/path/to/file

просто указать несколько DNS-серверов, для форвард запросов

server=8.8.8.8
server=8.8.4.4
...

 

 

 

  • 3 недели спустя...
Опубликовано

Хочется добавить следующее: насколько я понял dnsmasq не умеет сам разрешать IPv6 запросы (типа AAAA) и все их редиректит (с указанными в первом посте настройками на серверы яндекса). Часа 2 сейчас боролся с рекламой на телефоне, а она все проходила. Все никак не мог понять, почему при наличии в файле hosts записи googleads.g.doubleclick.net его АААА запрос разрешался в pagead46.l.doubleclick.net, который в свою очередь уже разрешался в IPv6 адрес. Пришлось у себя отключить IPv6 от HE. От него выходит пользы мало (если вообще есть), а рекламу он пропускает отлично.

Так что это нужно учесть при настроенном на роутере IPv6 и использовании данного способа блокировки - все заблокировать не получится.

  • 3 недели спустя...
Опубликовано

Владельцы белых ip-шников. Не забудьте себя обезопасить.

Пару дней прдвергаюсь днс-флуду.

Не забудьте дропать все запросы на 53 порт извне. И, если используете dnsmasq на нестандартном порту, в правиле iptables таблицы nat укажите адреса с которых будут днс запросы заворачиваться на dnsmasq.

  • 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
Скрытый текст

Jan 29 13:08:41rootStarted dnsmasq from .
Jan 29 13:08:41ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 1: /: Permission denied.
Jan 29 13:08:41ndmOpkg::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").
Jan 29 13:08:41ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 2.
Jan 29 13:08:42ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 1: /: Permission denied.
Jan 29 13:08:42ndmOpkg::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").
Jan 29 13:08:42ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 2.
Jan 29 13:08:42ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: line 1: /: Permission denied.
Jan 29 13:08:42ndmOpkg::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").
Jan 29 13:08:42ndmOpkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 2.

Подскажите в чём ошибка?

Уже несколько раз переделывал, с использованием нескольких версий файлов dnsmasq.conf и 010-intercept-dns.sh

Если записать в 010-intercept-dns.sh текст из первого сообщения, то ошибка как у -aMk- 

Цитата

Добрый вечер форумчане. А я не починил (как отписался предшествующий оратор :)) ). Вручную, через Putty, фильтрация работает.... Что я делаю:

в консоли копипастой по очереди запускаю

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

и фильтр работает, НО в журнале имею:

Nov 11 19:52:27ndm  Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: Try `iptables -h' or 'iptables --help' for more information.
Nov 11 19:52:27ndm  Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: Try `iptables -h' or 'iptables --help' for more information.
Nov 11 19:52:27ndm  Opkg::Manager: /opt/etc/ndm/netfilter.d/010-intercept-dns.sh: exit code 2.
 

Что не так-то? Сильно подозреваю, что с синтаксисом во 2-й строке косяк, но т.к. в "этих-ваших-линуксах" слабо понимаю, то сообразить где ошибка - не могу. Версия EnterWare - последняя доступная, может доустановить что-то из репозитория, или роутер сбросить "на завод" и всё с нуля попробовать ??

При этом руками команды из 010-intercept-dns.sh, то работает тоже

 

У меня складывается ощущение, что файлик 010-intercept-dns.sh то ли чем-то занят, то ли не совсем верно записан, и  dnsmasq тупо не может прочитать свои команды.

При этом dns стоит получать от провайдера. Всякие яндекс и sky днс выключены. настроен только проброс портов во внутреннюю сеть для торентов.

 

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

~ # opkg list-installed
dnsmasq-full - 2.76-7a
dropbear - 2016.74-1
findutils - 4.6.0-1
glib2 - 2.49.7-1
iptables - 1.4.21-2
ldconfig - 2.23-7
libattr - 20160302-1
libblkid - 2.28-1b
libc - 2.23-7
libffi - 3.2.1-2
libgcc - 5.4.0-7
libiconv-full - 1.11.1-3
libintl-full - 0.19.8.1-1
libmnl - 1.0.4-1
libmount - 2.28-1b
libndm - 1.1.0-1a
libnetfilter-conntrack - 1.0.6-1
libnfnetlink - 1.0.1-1
libopenssl - 1.0.2j-1a
libpthread - 2.23-7
librt - 2.23-7
libslang2 - 2.3.1-1
libssh2 - 1.7.0-1
libssp - 5.4.0-7
libstdcpp - 5.4.0-7
libuuid - 2.28-1b
locales - 2.23-7
mc - 4.8.18-1a
ndmq - 1.0.2-1a
opt-ndmsv2 - 1.0-6a
terminfo - 6.0-1c
zlib - 1.2.8-1
zoneinfo-asia - 2016j-1
zoneinfo-europe - 2016j-1
~ #

Установленная версия NDMS: v2.09(AAUX.1)A2

Изменено пользователем ykutik
дополнил инфу
Опубликовано (изменено)
В 19.02.2016 в 17:15, ndm сказал:

Есть команда opkg dns-override. Она гасит внутренний прокси (он начинает работать в RPC-режиме), когда подключают /opt. И 53-й порт свободен.

т.е. Вам правила переадресации 53 порта на 65053 для nat, в случае использования opkg dns-override, просто не нужны. Сделайте в cli opkg dns-override , настройте Ваш dnsmasq на 53 порту и не забудьте прописать в нем свои DNS-ы (например Вашего провайдера). Вот и весь секрет.

p.s. Скрипты "копи/пастенные" ... я так понимаю работаете из-под винды (must Die) , имеют свои "скрытые" особенности по концу строки ... В винде конец строки "/n/r" а в *nix системах "/n". Из-за этого во многих *nix системах возникают ошибки при выполнении скриптов созданных, например в notepad, может и в putty есть такие "особенности" ... 

Изменено пользователем Dorik1972
Опубликовано
20 часов назад, ykutik сказал:

При этом руками команды из 010-intercept-dns.sh, то работает тоже

Как предположил Dorik1972, скорее всего правите файлик в винде, вот и возникают проблемы, решение простое, редактировать файлик в консоле, к примеру через nano, для установки выполнить opkg install nano

пользоваться просто, к примеру для открытия файла  hosts, в командной строке достаточно ввести nano /opt/etc/hosts после необходимых правок(кстати копи паст в putty нормально работает), нажать Ctrl+o, спросит сохранить, нажать Enter, для выхода нажать Ctrl+x.

Так же хочу отметить, что как написал Dorik1972, скрипт использовать не обязательно, просто при подключении в cli (через telnet, не путать с ssh), выполнить команду  opkg dns-override .

Способ без скрипта описал vasek00, несколькими постами выше 

достаточно выполнить шаги с 1 по 6, только обратите внимание, у него на шаге 3 или 4 допущена оЧепятка, вместо 

addn-hosts=/opt/etc/tmp/hosts0

необходимо указывать 

addn-hosts=/opt/etc/hosts0

либо в 4 пункте файл  "hosts0"  создавать по пути  "/opt/etc/tmp/hosts0" вместо написанного  "/opt/etc/hosts0", но проще всего сделать правку в пункте 3, вообщем на выбор, править текст в 3 или в 4 пункте.

Опубликовано

всем спасибо, вчера сам догадался и выключил DNS-прокси на роутере командой  "opkg dns-override". И всё заработало.

Но у меня 4 вопроса,

1. зачем мы создаем файл с блокируемыми адресами:

addn-hosts=/opt/etc/hosts0

Почему нельзя всё записать в "оригинальный"  /opt/etc/hosts ? ( я сделал так)

2. И правильно ли я понимаю, что если мой подключенный диск по каким-то причинам отвалится или падет система "Opkg", то служба ДНС работать перестанет и интернета как такового не будет? тогда её надо будет включить в "CLI" ?

3. Вопрос по содержимому файла hosts, я взял файл из ссылки https://hosts-file.net/?s=Download  , правильно ли я взял самый первый, где больше всего записей? ~530 000 штук? Не заметил что роутер как-то тормозил из-за этого. Правильно дли я понимаю, что эта база содержит набор адресов с рекламой, с распространителями зловредов, следящими трекерами и прочей гадости?..

4. (Наверно глупый вопрос) Доступен ли по умолчанию из нета мой  Entware  по ssh сейчас , при условии что я не пробрасывал порты и не давал каких-либо разрешений на это? Я боюсь стать часть ботнета :)

 

 

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.