awoland Posted July 2, 2016 Share Posted July 2, 2016 ... команда opkg dns-override не проходит /opt/etc/ndm/netfilter.d # opkg dns-override opkg: unknown sub-command dns-override Команду opkg dns-override нужно указывать в файле конфигурации прошивки (там где включается opkg disk т.е. в cli telnet режима). Quote Link to comment Share on other sites More sharing options...
pinkfloyd Posted July 2, 2016 Share Posted July 2, 2016 Сидел мучился, оказалось чтобы у меня заработало надо было указывать адреса в виде server=8.8.8.8 server=208.67.220.220 ,а не как в примере server=8.8.8.8#1253 server=208.67.220.220#1253 Кстати, а откуда автор взял #1253 ? Quote Link to comment Share on other sites More sharing options...
WMac Posted August 28, 2016 Share Posted August 28, 2016 В 2 июля 2016 г. в 21:22, pinkfloyd сказал: Кстати, а откуда автор взял #1253 ? Тоже интересует этот вопрос. Без #1253 заработало. Quote Link to comment Share on other sites More sharing options...
Victor Posted August 28, 2016 Share Posted August 28, 2016 Скорее всего просто опечатался, и сработал злостный копипаст, т.к. параллельно писался топик/мануал о настройке SkyDNS, который как раз использует соответствующий порт Quote Link to comment Share on other sites More sharing options...
Павел Цыбырна Posted October 16, 2016 Share Posted October 16, 2016 (edited) Всем добрый вечер! server=8.8.8.8 server=208.67.220.220 Вопрос, а если вбить туда действующие DNS провайдера не лучше будет ? И для чего необходимо 2 раза сервер вбивать ? https://hosts-file.net/?s=Download Более 400 000 тысяч записей. Edited October 16, 2016 by Павел Цыбырна Добавление ссылки на огромный файл hosts Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted October 17, 2016 Author Share Posted October 17, 2016 10 часов назад, Павел Цыбырна сказал: Вопрос, а если вбить туда действующие DNS провайдера не лучше будет ? И для чего необходимо 2 раза сервер вбивать ? Какие DNS серверы использовать решать исключительно вам. У меня, скажем, местный провайдер блокирует реестр РКН с помощью DNS спуфинга, поэтому в первом посте я указал серверы Яндрекс.DNS на нестандартных портах. Сервер можно указать и один. Несколько серверов указывают для отказоустойчивости: при падении одного сервера у вас не отвалится DNS резолвинг. Quote Link to comment Share on other sites More sharing options...
slava.trifonov Posted November 5, 2016 Share Posted November 5, 2016 (edited) Добрый день. Начал делать по инструкции из первого поста. Содержимое /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 и т.д. Если нужна дополнительная информация, спрашивайте. Но помогите настроить блокировку. Edited November 5, 2016 by slava.trifonov Quote Link to comment Share on other sites More sharing options...
Павел Цыбырна Posted November 10, 2016 Share Posted November 10, 2016 (edited) Попробуйте почитать тут и проверить что все ок. Проверка 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-кэша операционной системы и браузера. Edited November 11, 2016 by TheBB Quote Link to comment Share on other sites More sharing options...
slava.trifonov Posted November 10, 2016 Share Posted November 10, 2016 Я починил. Добавил пару строк в dnsmasq.conf (тут в теме кто-то их выкладывал). И у меня шелл не умеет обрабатывать конструкции [ ], пришлось делать через case. И opkg dns-override в cli выполнил. Quote Link to comment Share on other sites More sharing options...
-aMk- Posted November 11, 2016 Share Posted November 11, 2016 (edited) Добрый вечер форумчане. А я не починил (как отписался предшествующий оратор :)) ). Вручную, через 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 - последняя доступная, может доустановить что-то из репозитория, или роутер сбросить "на завод" и всё с нуля попробовать ?? Edited November 11, 2016 by TheBB дополнение Quote Link to comment Share on other sites More sharing options...
TheBB Posted November 11, 2016 Share Posted November 11, 2016 37 минут назад, -aMk- сказал: ... Версия EnterWare - последняя доступная... ??? судя по v2.06 - Entware-ng или Entware-Keenetic (как и Entware-3x для 2.07+), являются актуальными. Что вы умудрились поставить? 44 минуты назад, -aMk- сказал: ... роутер сбросить "на завод" и всё с нуля попробовать ?? не вариант, т.к. 46 минут назад, -aMk- сказал: ... в "этих-ваших-линуксах"... пакет iptables установлен? Quote Link to comment Share on other sites More sharing options...
-aMk- Posted November 11, 2016 Share Posted November 11, 2016 2 минуты назад, TheBB сказал: ??? судя по v2.06 - Entware-ng или Entware-Keenetic (как и Entware-3x для 2.07+), являются актуальными. Что вы умудрились поставить? не вариант, т.к. пакет iptables установлен? Как проверить версию EnterWare и установлен-ли пакет iptables? Я делал всё по инструкции в 1-м посте, никакой отсебятины... И повторюсь - вручную всё работает, но непонятная хрень в журнале. Если не сложно - отпишите, что набрать в консоли, логи с меня, могу принт-скрины приложить, очень хочется автоматизировать процесс фильтрации ибо 2-е детишек с планшетами\смартами Quote Link to comment Share on other sites More sharing options...
TheBB Posted November 11, 2016 Share Posted November 11, 2016 (edited) 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 - решение рабочее Edited November 11, 2016 by TheBB upd Quote Link to comment Share on other sites More sharing options...
-aMk- Posted November 11, 2016 Share Posted November 11, 2016 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 Скрытый текст Quote Link to comment Share on other sites More sharing options...
TheBB Posted November 11, 2016 Share Posted November 11, 2016 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. пройдитесь еще раз внимательно и все получится ))) Quote Link to comment Share on other sites More sharing options...
-aMk- Posted November 12, 2016 Share Posted November 12, 2016 (edited) Цитата Все сделал, как вы предложили, стало хуже: Скрытый текст 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 backgroundNov 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 upNov 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 35743Nov 12 14:47:06 miniupnpd: listening for NAT-PMP traffic on port 5351Nov 12 14:47:06 ndm: kernel: ra0: no IPv6 routers presentNov 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) startedNov 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 enabledNov 12 14:47:09 transmissiond: RPC Server Password requiredNov 12 14:47:09 transmissiond: Port Forwarding StoppedNov 12 14:47:09 transmissiond: DHT Reusing old idNov 12 14:47:09 transmissiond: DHT Bootstrapping from 108 IPv4 nodesNov 12 14:47:09 transmissiond: Using settings from "/tmp/mnt/500gb//uT/"Nov 12 14:47:09 transmissiond: transmissiond requiring authenticationNov 12 14:47:09 transmissiond: Watching "/tmp/mnt/500gb//uT//watch" for new .torrent filesNov 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 upNov 12 14:47:23 ndm: kernel: SWNAT bind table clearedNov 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.40Nov 12 14:49:08 ndm: kernel: SWNAT bind table clearedNov 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, без перезагрузки роутера. Спасибо заранее Edited November 12, 2016 by -aMk- дописка Quote Link to comment Share on other sites More sharing options...
TheBB Posted November 12, 2016 Share Posted November 12, 2016 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 еще раз внимательно читаете в конце первого поста скрытый текст перезагружаете кинетик Quote Link to comment Share on other sites More sharing options...
-aMk- Posted November 12, 2016 Share Posted November 12, 2016 (edited) Так и делаю. Буду пробовать. Как перезапустить службу, какая команда используется для перезапуска DNSMASQ ? Пробую в консоли ввести ["$table" != "nat"], вылезает ошибка: sh: missing ] Edited November 12, 2016 by -aMk- дополню Quote Link to comment Share on other sites More sharing options...
TheBB Posted November 12, 2016 Share Posted November 12, 2016 /opt/etc/init.d/S56dnsmasq restart PS тема буде зачищена Quote Link to comment Share on other sites More sharing options...
slava.trifonov Posted November 13, 2016 Share Posted November 13, 2016 Попробуйте так: ~ # 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 работают. Quote Link to comment Share on other sites More sharing options...
-aMk- Posted November 14, 2016 Share Posted November 14, 2016 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 Quote Link to comment Share on other sites More sharing options...
-aMk- Posted November 14, 2016 Share Posted November 14, 2016 В 12.11.2016 в 15:34, TheBB сказал: /opt/etc/init.d/S56dnsmasq restart зачищайте тему, Слава спас ситуацию PS тема буде зачищена Quote Link to comment Share on other sites More sharing options...
vasek00 Posted November 29, 2016 Share Posted November 29, 2016 Вставлю свои 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 ... 2 Quote Link to comment Share on other sites More sharing options...
ankar84 Posted December 19, 2016 Share Posted December 19, 2016 Хочется добавить следующее: насколько я понял dnsmasq не умеет сам разрешать IPv6 запросы (типа AAAA) и все их редиректит (с указанными в первом посте настройками на серверы яндекса). Часа 2 сейчас боролся с рекламой на телефоне, а она все проходила. Все никак не мог понять, почему при наличии в файле hosts записи googleads.g.doubleclick.net его АААА запрос разрешался в pagead46.l.doubleclick.net, который в свою очередь уже разрешался в IPv6 адрес. Пришлось у себя отключить IPv6 от HE. От него выходит пользы мало (если вообще есть), а рекламу он пропускает отлично. Так что это нужно учесть при настроенном на роутере IPv6 и использовании данного способа блокировки - все заблокировать не получится. Quote Link to comment Share on other sites More sharing options...
slava.trifonov Posted January 5, 2017 Share Posted January 5, 2017 Владельцы белых ip-шников. Не забудьте себя обезопасить. Пару дней прдвергаюсь днс-флуду. Не забудьте дропать все запросы на 53 порт извне. И, если используете dnsmasq на нестандартном порту, в правиле iptables таблицы nat укажите адреса с которых будут днс запросы заворачиваться на dnsmasq. 2 Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted January 6, 2017 Author Share Posted January 6, 2017 @slava.trifonov, если открывали порт UDP53 для доступа из WAN, то ССЗБ. Откройте в добавок SAMBA-порты, будет ещё интереснее.:) Quote Link to comment Share on other sites More sharing options...
ykutik Posted January 29, 2017 Share Posted January 29, 2017 (edited) беру за основу: ~ # 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 Edited January 29, 2017 by ykutik дополнил инфу Quote Link to comment Share on other sites More sharing options...
Dorik1972 Posted January 30, 2017 Share Posted January 30, 2017 (edited) В 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 есть такие "особенности" ... Edited January 30, 2017 by Dorik1972 1 Quote Link to comment Share on other sites More sharing options...
m__a__l Posted January 30, 2017 Share Posted January 30, 2017 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 пункте. Quote Link to comment Share on other sites More sharing options...
ykutik Posted January 30, 2017 Share Posted January 30, 2017 всем спасибо, вчера сам догадался и выключил 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 сейчас , при условии что я не пробрасывал порты и не давал каких-либо разрешений на это? Я боюсь стать часть ботнета Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.