vasek00 Posted September 16, 2018 Share Posted September 16, 2018 20 минут назад, Михаил Лукьянов сказал: Я не кодер, а бывший админ - сам писать не обучен, на досуге могу чужое подправить. Нагрузка минимальна - за день в цепочку NFQUEUE у меня упало 15 пакетов весом 752 байта, хотя на трекерах я сижу, при сёрфинге load average на роутере выше 5% не поднимается. DPI ленивый - вместо полноценного statefull inspection, происходит только анализ SYN,ACK пакетов (т.е. первый пакет во всей TCP сессии) остальное пролетает со свистом без модификации. И это хорошо) У вас если идет по RT то основная часть идет не по NFQUEUE а по заглушке, смотрите сколько там у вас DROP по ней. Второе по строке iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass весь вопрос это в самом списке "zapret" если их там два одно, а если их десяток? Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted September 16, 2018 Share Posted September 16, 2018 6 минут назад, vasek00 сказал: У вас если идет по RT то основная часть идет не по NFQUEUE а по заглушке, смотрите сколько там у вас DROP по ней. Второе по строке iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass весь вопрос это в самом списке "zapret" если их там два одно, а если их десяток? Цитата ~ # iptables -nvL -t raw Chain PREROUTING (policy ACCEPT 377K packets, 46M bytes) pkts bytes target prot opt in out source destination 25 1316 NFQUEUE tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:80 flags:0x12/0x12 match-set zapret src NFQUEUE num 200 bypass 5 2120 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:80 STRING match "|0d0a4c6f636174696f6e3a20687474703a2f2f626c61636b686f6c652e6265656c696e652e7275|" ALGO name bm FROM 40 TO 200 Chain OUTPUT (policy ACCEPT 256K packets, 46M bytes) pkts bytes target prot opt in out source destination ~ # ipset list zapret | wc -l111597 Красным выделены ответы на ваши вопросы. Причем в DROP попадает только то чего нет в списке zapret (т.е. kinozal попал сейчас из-за смены IP). При корректном списке zapret правило с drop вообще не играет. Quote Link to comment Share on other sites More sharing options...
vasek00 Posted September 16, 2018 Share Posted September 16, 2018 2 часа назад, Михаил Лукьянов сказал: Красным выделены ответы на ваши вопросы. Причем в DROP попадает только то чего нет в списке zapret (т.е. kinozal попал сейчас из-за смены IP). При корректном списке zapret правило с drop вообще не играет. Я рад за ваш, но есть другой пример / # iptables -t raw -nvL Chain PREROUTING (policy ACCEPT 3371K packets, 394M bytes) pkts bytes target prot opt in out source destination .... 4 1078 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:80 .... 3501 140K DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:443 .... .... Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted September 16, 2018 Share Posted September 16, 2018 11 минуту назад, vasek00 сказал: 3501 140K DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:443 .... И что, работает? DPI только на HTTP работает, по HTTPS провайдер должен трафик дропать. Каков смысл такого правила? Quote Link to comment Share on other sites More sharing options...
vasek00 Posted September 16, 2018 Share Posted September 16, 2018 Только что, Михаил Лукьянов сказал: И что, работает? DPI только на HTTP работает, по HTTPS провайдер должен трафик дропать. Каков смысл такого правила? Смысл прост, чтоб работало. Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted September 16, 2018 Share Posted September 16, 2018 1 минуту назад, vasek00 сказал: Смысл прост, чтоб работало. Ну возможно. Blockcheck покажет. Может кто-то из региональных провайдеров балуется. Quote Link to comment Share on other sites More sharing options...
Nuck-TH Posted September 26, 2018 Share Posted September 26, 2018 У меня скрипт не заработал без загрузки модуля xt_string И как быть с HTTPS? NDM вроде как постоянно перезаписывает таблицу NAT, да и моего понимания работы сетевых интерфесов не хватает, чтобы переписать правила iptables под местные условия :( Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted September 26, 2018 Share Posted September 26, 2018 (edited) В 26.09.2018 в 18:18, Nuck-TH сказал: У меня скрипт не заработал без загрузки модуля xt_string И как быть с HTTPS? NDM вроде как постоянно перезаписывает таблицу NAT, да и моего понимания работы сетевых интерфесов не хватает, чтобы переписать правила iptables под местные условия Видимо на каких-то прошивках модуль не грузится автоматом - добавил проверку в скрипт. Edited September 27, 2018 by Михаил Лукьянов Поторопился Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted September 28, 2018 Share Posted September 28, 2018 (edited) В 26.09.2018 в 18:18, Nuck-TH сказал: И как быть с HTTPS? NDM вроде как постоянно перезаписывает таблицу NAT, да и моего понимания работы сетевых интерфесов не хватает, чтобы переписать правила iptables под местные условия С HTTPS вариантов немного - tor, прокси и vpn. С tor всё оказалось просто. Так как не нужно прозрачное проксирование на прикладном уровне (что умеет только squid с peek&slice), то достаточно просто инкапсуляции одного транспортного протокола в другой (TLS в SOCKS5). С этой задачей легко справляется tor+redsocks: opkg install redsocks tor Что поменять в дефолтном /opt/etc/tor/torrc: Log notice syslog RunAsDaemon 1 DataDirectory /opt/var/lib/tor Что поменять в дефолтном /opt/etc/redsocks.conf: в секции base: log_info = off; log = "syslog:local7"; daemon = on; redirector = iptables; в секции redsocks: local_ip = 192.168.1.1; local_port = 8888; ip = 127.0.0.1; port = 9050; type = socks5; В скрипт S99zapret добавлено правило для перенаправления запрещенного HTTPS трафика в redsocks, скрипт нужно перекачать с гитхаба. Для того чтобы NDM не сбрасывало правило в таблице nat нужно создать следующий файл /opt/etc/ndm/netfilter.d/redsocks.sh: #!/opt/bin/sh [ "$type" == "ip6tables" ] && exit 0 [ "$table" != "nat" ] && exit 0 # check the table name iptables -t nat -I PREROUTING -p tcp --dport 443 -m set --match-set zapret dst -j REDIRECT --to-port 8888 /opt/bin/logger "redsocks redirected https rule created for zapret via netfilter hook" не забыть конечно: chmod +x /opt/etc/ndm/netfilter.d/redsocks.sh Проверяем: /opt/etc/init.d/S35tor start /opt/etc/init.d/S23redsocks start /opt/etc/init.d/S99zapret stop /opt/etc/init.d/S99zapret start Что интересно у меня https://2ip.ru/ и https://yandex.ru/internet/ часто показывают выход через tor, а не напрямую. Видимо какой-то не тот диапазон IP попал в реестр:( Edited December 8, 2018 by Михаил Лукьянов 5 2 Quote Link to comment Share on other sites More sharing options...
Andrey64 Posted October 21, 2018 Share Posted October 21, 2018 (edited) В 13.09.2018 в 05:25, Михаил Лукьянов сказал: в файл /opt/zapret/ipset/zapret-hosts-user.txt добавляем строчки: rutracker.org kinozal.tv Генерируем пользовательский айписет: /opt/zapret/ipset/get_user.sh Делаем пробный запуск: /opt/etc/init.d/S99zapret start Если всё хорошо, то в консоли должно быть примерно так: Checking iptable_raw.ko kernel module iptable_raw.ko loaded Restoring ipset Adding iptables rule Starting anti-zapret: zapret. На данном этапе за роутером должны заработать рутрекер и кинозал. Не работает. Провайдер Фаннет телеком. ~ # /opt/etc/init.d/S99zapret start iptable_raw.ko is already loaded xt_string.ko is already loaded nfqws is installed tpws is installed Restoring ipset Adding iptables rule Starting anti-zapret: ~ # Edited October 21, 2018 by Andrey64 Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted October 21, 2018 Share Posted October 21, 2018 (edited) Покажите вывод blockcheck (https://github.com/ValdikSS/blockcheck/releases) c клиентской машины. На роутере при этом обход блокировок нужно отключить: /opt/etc/init.d/S99zapret stop Edited October 21, 2018 by Михаил Лукьянов Quote Link to comment Share on other sites More sharing options...
Andrey64 Posted October 21, 2018 Share Posted October 21, 2018 2 часа назад, Михаил Лукьянов сказал: Покажите вывод blockcheck А как скопировать текст из blockcheck?Ctrl+С и правая кнопка мыши, не получается Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted October 21, 2018 Share Posted October 21, 2018 (edited) 16 минут назад, Andrey64 сказал: А как скопировать текст из blockcheck?Ctrl+С и правая кнопка мыши, не получается blockcheck --console --no-report В cmd запустить (я так понял по виндой запускается). Edited October 21, 2018 by Михаил Лукьянов Quote Link to comment Share on other sites More sharing options...
Andrey64 Posted October 21, 2018 Share Posted October 21, 2018 (edited) Да под виндой. Запускаю blockcheck-0.0.9.6.exe Я правильно понял. После окончания работы ввести blockcheck --console --no-report Edited October 21, 2018 by Andrey64 Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted October 21, 2018 Share Posted October 21, 2018 33 минуты назад, Andrey64 сказал: Да под виндой. Запускаю blockcheck-0.0.9.6.exe Я правильно понял. После окончания работы ввести blockcheck --console --no-report В командной строке (cmd) находясь в папке с исполняемым файлом запустите следующее: blockcheck-0.0.9.6.exe --console --no-report Quote Link to comment Share on other sites More sharing options...
Andrey64 Posted October 22, 2018 Share Posted October 22, 2018 В 21.10.2018 в 16:57, Andrey64 сказал: Покажите вывод blockcheck Скрытый текст BlockCheck v0.0.9.6 Для получения корректных результатов используйте DNS-сервер провайдера и отключите средства обхода блокировок. Проверка работоспособности IPv6: IPv6 недоступен. [О] Тестируем IPv4 DNS Через системный DNS: ['92.43.0.7', '92.43.0.7', '92.43.0.7', '92.43.0.7', '92.43.0.7', '92.43.0.7'] Через Google DNS: ['104.20.134.45', 404.20.135.45', 404.24.10.70', 404.24.11.70', 484.173.136.161', '195.8.215.136', 495.82.146.214', '5.178.68.100'] Через Google API: ['104.20.134.45', '104.20.135.45', '104.24.10.70', '104.24.11.70', 484.173.136.161', '195.8.215.136', '195.82.146.214', '5.178.68.100'] Несуществующий DNS не вернул адресов (это не ошибка) [☠] DNS-записи подменяются [✓] DNS не перенаправляется [О] Тестируем HTTP (по настоящим IP-адресам сайтов) Открываем http://а.putinhuylo.сот/ [✓] Сайт открывается Открываем http://rutracker.org/forum/index.php [☠] Сайт не открывается, пробуем через прокси [✓] Сайт открывается через прокси Открываем http://pbooru.com/index.php?page=post&s=view&id=303026 [☠] Сайт не открывается, пробуем через прокси [✓] Сайт открывается через прокси Открываем http://furry.booru.org/index.php?page=post&s=view&id=111173 [☠] Сайт не открывается, пробуем через прокси [☠] Сайт не открывается через прокси Проверяем доступность через isup.me [☠] Сайт доступен, проблемы только у нас Открываем http://pbooru.сот/ [☠] Сайт не открывается, пробуем через прокси [✓] Сайт открывается через прокси Открываем http://furry.booru.org/ [☠] Сайт не открывается, пробуем через прокси [☠] Сайт не открывается через прокси Проверяем доступность через isup.me [☠] Сайт доступен, проблемы только у нас [О] Тестируем HTTPS Открываем https://rutracker.org/forum/index.php [☠] Сайт не открывается Открываем https://www.dailymotion.сот/ [☠] Сайт не открывается Открываем https://e621.net/ [☠] Сайт не открывается Открываем https://lolibooru.тое/ [☠] Сайт не открывается [О] Тестируем обход DPI Пробуем способ «перенос строки в заголовках в UNIX-стиле» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «фрагментирование заголовка» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «перенос строки перед GET» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «значение Host БОЛЬШИМИ БУКВАМИ» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «табуляция в конце домена» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «дополнительный пробел после GET» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «необычный порядок заголовков» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «точка в конце домена» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «заголовок host вместо Host» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «фрагментирование заголовка, host и отсутствие пробела одновременно» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «заголовок host вместо Host» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «отсутствие пробела между двоеточием и значением заголовка Host» на pbooru.com [☠] Ошибка: timeout('timed out',) Пробуем способ «перенос строки в заголовках в UNIX-стиле» на rutracker.org [☠] Ошибка: timeout('timed out',) Пробуем способ «фрагментирование заголовка» на rutracker.org [☠] Ошибка: timeout('timed out',) Пробуем способ «перенос строки перед GET» на rutracker.org [☠] Ошибка: timeout('timed out',) Пробуем способ «значение Host БОЛЬШИМИ БУКВАМИ» на rutracker.org [☠] Ошибка: timeout('timed out',) Пробуем способ «табуляция в конце домена» на rutracker.org [☠] Ошибка: timeout('timed out',) Пробуем способ «дополнительный пробел после GET» на rutracker.org [☠] Ошибка: timeout('timed out',) Пробуем способ «необычный порядок заголовков» на rutracker.org [☠] Ошибка: timeout('timed out',) Пробуем способ «точка в конце домена» на rutracker.org [☠] Ошибка: timeout('timed out',) Пробуем способ «заголовок host вместо Host» на rutracker.org [☠] Ошибка: timeout('timed out',) Пробуем способ «фрагментирование заголовка, host и отсутствие пробела одновременно» на rutracker.org [☠] Ошибка: timeout('timed out',) Пробуем способ «заголовок host вместо Host» на rutracker.org [☠] Ошибка: timeout('timed out',) Пробуем способ «отсутствие пробела между двоеточием и значением заголовка Host» на rutracker.org [☠] Ошибка: timeout('timed out',) [!] Результат: [⧌] Ваш провайдер подменяет DNS-записи, но не перенаправляет сторонние IPv4 DNS-серверы на свой. Вам поможет смена DNS, например, на Яндекс.DNS 77.88.8.8 или Google DNS 8.8.8.8 и 8.8.4.4. [⧌] Ваш провайдер полностью блокирует доступ к HTTPS-сайтам из реестра. [⧌] Ваш провайдер блокирует по IP-адресу. Используйте любой способ обхода блокировок. Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted October 22, 2018 Share Posted October 22, 2018 Ваш провайдер не применяет DPI, а тупо блокирует по IP запрещенные сайты. Здесь помогут только tor, proxy или vpn. Ни antizapret ни goodbyedpi здесь работать не будут. Quote Link to comment Share on other sites More sharing options...
Andrey64 Posted October 22, 2018 Share Posted October 22, 2018 Только что, Михаил Лукьянов сказал: Ваш провайдер не применяет DPI, а тупо блокирует по IP запрещенные сайты. Здесь помогут только tor, proxy или vpn. Ни antizapret ни goodbyedpi здесь работать не будут. Понял. Спасибо. vpn пробовал тормозит жутко. proxy не пробовал Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted October 22, 2018 Share Posted October 22, 2018 Цитата Через Google DNS: ['104.20.134.45', 404.20.135.45', 404.24.10.70', 404.24.11.70', 484.173.136.161', '195.8.215.136', 495.82.146.214', '5.178.68.100'] Однако забавно. Вы руками точно ничего не правили в выводе blockcheck? Quote Link to comment Share on other sites More sharing options...
Andrey64 Posted October 22, 2018 Share Posted October 22, 2018 Только что, Михаил Лукьянов сказал: Однако забавно. Вы руками точно ничего не правили в выводе blockcheck? Сейчас еще раз запущу Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted October 22, 2018 Share Posted October 22, 2018 1 минуту назад, Andrey64 сказал: Сейчас еще раз запущу Да смысла большого нет - работать не станет от этого. Quote Link to comment Share on other sites More sharing options...
Andrey64 Posted October 22, 2018 Share Posted October 22, 2018 8 минут назад, Михаил Лукьянов сказал: Однако забавно. Вы руками точно ничего не правили в выводе blockcheck? 1 Quote Link to comment Share on other sites More sharing options...
Albram Posted November 10, 2018 Share Posted November 10, 2018 Подскажите, каким методом лучше сделать обход, если на клиентской машине получен такой результат blockcheck, там, конечно, написано по-русски про tor и vpn, но хотелось уточнить, т.к. сейчас использую dnscrypt-proxy с набором серверов opennic для резолва зоны .lib (при запуске blockcheck всё это отключал), но в ней не все нужные сайты имеются. Скрытый текст BlockCheck v0.0.9.6 Для получения корректных результатов используйте DNS-сервер провайдера и отключите средства обхода блокировок. Проверка работоспособности IPv6: IPv6 недоступен. [O] Тестируем IPv4 DNS Через системный DNS: ['62.33.207.196', '62.33.207.196', '62.33.207.196', '62.33.207.196', '62.33.207.196', '62.33.207.196', '62.33.207.197', '62.33.207.197', '62.33.207.197', '62.33.207.197', '62.33.207.197', '62.33.207.197'] Через Google DNS: ['104.20.134.45', '104.20.135.45', '104.24.10.70', '104.24.11.70', '184.173.136.161', '195.8.215.136', '195.82.146.214', '5.178.68.100'] Через Google API: ['104.20.134.45', '104.20.135.45', '104.24.10.70', '104.24.11.70', '184.173.136.161', '195.8.215.136', '195.82.146.214', '5.178.68.100'] Несуществующий DNS не вернул адресов (это не ошибка) [☠] DNS-записи подменяются [✓] DNS не перенаправляется [O] Тестируем HTTP (по настоящим IP-адресам сайтов) Открываем http://pbooru.com/index.php?page=post&s=view&id=303026 [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси. [✓] Сайт открывается через прокси Открываем http://rutracker.org/forum/index.php [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси. [✓] Сайт открывается через прокси Открываем http://furry.booru.org/index.php?page=post&s=view&id=111173 [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси. [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Считаем заблокированным. Проверяем доступность через isup.me [☠] Сайт доступен, проблемы только у нас Открываем http://furry.booru.org/ [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси. [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Считаем заблокированным. Проверяем доступность через isup.me [☠] Сайт доступен, проблемы только у нас Открываем http://a.putinhuylo.com/ [✓] Сайт открывается Открываем http://pbooru.com/ [✓] Сайт открывается [O] Тестируем HTTPS Открываем https://rutracker.org/forum/index.php [☠] Сайт не открывается Открываем https://www.dailymotion.com/ [☠] Сайт не открывается Открываем https://e621.net/ [☠] Сайт не открывается Открываем https://lolibooru.moe/ [☠] Сайт не открывается [O] Тестируем обход DPI Пробуем способ «заголовок hoSt вместо Host» на rutracker.org [☠] Сайт не открывается Пробуем способ «заголовок hOSt вместо Host» на rutracker.org [☠] Сайт не открывается Пробуем способ «перенос строки в заголовках в UNIX-стиле» на rutracker.org [✓] Сайт открывается Пробуем способ «перенос строки перед GET» на rutracker.org [✓] Сайт открывается Пробуем способ «фрагментирование заголовка» на rutracker.org [☠] Сайт не открывается Пробуем способ «фрагментирование заголовка, hoSt и отсутствие пробела одновременно» на rutracker.org [☠] Сайт не открывается Пробуем способ «отсутствие пробела между двоеточием и значением заголовка Host» на rutracker.org [☠] Сайт не открывается Пробуем способ «дополнительный пробел после GET» на rutracker.org [☠] Сайт не открывается Пробуем способ «табуляция в конце домена» на rutracker.org [☠] Сайт не открывается Пробуем способ «точка в конце домена» на rutracker.org [☠] Сайт не открывается Пробуем способ «значение Host БОЛЬШИМИ БУКВАМИ» на rutracker.org [☠] Сайт не открывается Пробуем способ «необычный порядок заголовков» на rutracker.org [☠] Сайт не открывается Пробуем способ «заголовок hoSt вместо Host» на pbooru.com [☠] Сайт не открывается Пробуем способ «заголовок hOSt вместо Host» на pbooru.com [☠] Сайт не открывается Пробуем способ «перенос строки в заголовках в UNIX-стиле» на pbooru.com [✓] Сайт открывается Пробуем способ «перенос строки перед GET» на pbooru.com [✓] Сайт открывается Пробуем способ «фрагментирование заголовка» на pbooru.com [☠] Сайт не открывается Пробуем способ «фрагментирование заголовка, hoSt и отсутствие пробела одновременно» на pbooru.com [☠] Сайт не открывается Пробуем способ «отсутствие пробела между двоеточием и значением заголовка Host» на pbooru.com [☠] Сайт не открывается Пробуем способ «дополнительный пробел после GET» на pbooru.com [☠] Сайт не открывается Пробуем способ «табуляция в конце домена» на pbooru.com [☠] Сайт не открывается Пробуем способ «точка в конце домена» на pbooru.com [☠] Сайт не открывается Пробуем способ «значение Host БОЛЬШИМИ БУКВАМИ» на pbooru.com [☠] Сайт не открывается Пробуем способ «необычный порядок заголовков» на pbooru.com [☠] Сайт не открывается [!] Результат: [⚠] Ваш провайдер подменяет DNS-записи, но не перенаправляет сторонние IPv4 DNS-серверы на свой. Вам поможет смена DNS, например, на Яндекс.DNS 77.88.8.8 или Google DNS 8.8.8.8 и 8.8.4.4. [⚠] Ваш провайдер полностью блокирует доступ к HTTPS-сайтам из реестра. [⚠] У вашего провайдера "полный" DPI. Он отслеживает ссылки даже внутри прокси, поэтому вам следует использовать любое шифрованное соединение, например, VPN или Tor. Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted November 10, 2018 Share Posted November 10, 2018 46 минут назад, Albram сказал: Подскажите, каким методом лучше сделать обход, если на клиентской машине получен такой результат blockcheck, там, конечно, написано по-русски про tor и vpn, но хотелось уточнить, т.к. сейчас использую dnscrypt-proxy с набором серверов opennic для резолва зоны .lib (при запуске blockcheck всё это отключал), но в ней не все нужные сайты имеются. Показать содержимое BlockCheck v0.0.9.6 Для получения корректных результатов используйте DNS-сервер провайдера и отключите средства обхода блокировок. Проверка работоспособности IPv6: IPv6 недоступен. [O] Тестируем IPv4 DNS Через системный DNS: ['62.33.207.196', '62.33.207.196', '62.33.207.196', '62.33.207.196', '62.33.207.196', '62.33.207.196', '62.33.207.197', '62.33.207.197', '62.33.207.197', '62.33.207.197', '62.33.207.197', '62.33.207.197'] Через Google DNS: ['104.20.134.45', '104.20.135.45', '104.24.10.70', '104.24.11.70', '184.173.136.161', '195.8.215.136', '195.82.146.214', '5.178.68.100'] Через Google API: ['104.20.134.45', '104.20.135.45', '104.24.10.70', '104.24.11.70', '184.173.136.161', '195.8.215.136', '195.82.146.214', '5.178.68.100'] Несуществующий DNS не вернул адресов (это не ошибка) [☠] DNS-записи подменяются [✓] DNS не перенаправляется [O] Тестируем HTTP (по настоящим IP-адресам сайтов) Открываем http://pbooru.com/index.php?page=post&s=view&id=303026 [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси. [✓] Сайт открывается через прокси Открываем http://rutracker.org/forum/index.php [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси. [✓] Сайт открывается через прокси Открываем http://furry.booru.org/index.php?page=post&s=view&id=111173 [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси. [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Считаем заблокированным. Проверяем доступность через isup.me [☠] Сайт доступен, проблемы только у нас Открываем http://furry.booru.org/ [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси. [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Считаем заблокированным. Проверяем доступность через isup.me [☠] Сайт доступен, проблемы только у нас Открываем http://a.putinhuylo.com/ [✓] Сайт открывается Открываем http://pbooru.com/ [✓] Сайт открывается [O] Тестируем HTTPS Открываем https://rutracker.org/forum/index.php [☠] Сайт не открывается Открываем https://www.dailymotion.com/ [☠] Сайт не открывается Открываем https://e621.net/ [☠] Сайт не открывается Открываем https://lolibooru.moe/ [☠] Сайт не открывается [O] Тестируем обход DPI Пробуем способ «заголовок hoSt вместо Host» на rutracker.org [☠] Сайт не открывается Пробуем способ «заголовок hOSt вместо Host» на rutracker.org [☠] Сайт не открывается Пробуем способ «перенос строки в заголовках в UNIX-стиле» на rutracker.org [✓] Сайт открывается Пробуем способ «перенос строки перед GET» на rutracker.org [✓] Сайт открывается Пробуем способ «фрагментирование заголовка» на rutracker.org [☠] Сайт не открывается Пробуем способ «фрагментирование заголовка, hoSt и отсутствие пробела одновременно» на rutracker.org [☠] Сайт не открывается Пробуем способ «отсутствие пробела между двоеточием и значением заголовка Host» на rutracker.org [☠] Сайт не открывается Пробуем способ «дополнительный пробел после GET» на rutracker.org [☠] Сайт не открывается Пробуем способ «табуляция в конце домена» на rutracker.org [☠] Сайт не открывается Пробуем способ «точка в конце домена» на rutracker.org [☠] Сайт не открывается Пробуем способ «значение Host БОЛЬШИМИ БУКВАМИ» на rutracker.org [☠] Сайт не открывается Пробуем способ «необычный порядок заголовков» на rutracker.org [☠] Сайт не открывается Пробуем способ «заголовок hoSt вместо Host» на pbooru.com [☠] Сайт не открывается Пробуем способ «заголовок hOSt вместо Host» на pbooru.com [☠] Сайт не открывается Пробуем способ «перенос строки в заголовках в UNIX-стиле» на pbooru.com [✓] Сайт открывается Пробуем способ «перенос строки перед GET» на pbooru.com [✓] Сайт открывается Пробуем способ «фрагментирование заголовка» на pbooru.com [☠] Сайт не открывается Пробуем способ «фрагментирование заголовка, hoSt и отсутствие пробела одновременно» на pbooru.com [☠] Сайт не открывается Пробуем способ «отсутствие пробела между двоеточием и значением заголовка Host» на pbooru.com [☠] Сайт не открывается Пробуем способ «дополнительный пробел после GET» на pbooru.com [☠] Сайт не открывается Пробуем способ «табуляция в конце домена» на pbooru.com [☠] Сайт не открывается Пробуем способ «точка в конце домена» на pbooru.com [☠] Сайт не открывается Пробуем способ «значение Host БОЛЬШИМИ БУКВАМИ» на pbooru.com [☠] Сайт не открывается Пробуем способ «необычный порядок заголовков» на pbooru.com [☠] Сайт не открывается [!] Результат: [⚠] Ваш провайдер подменяет DNS-записи, но не перенаправляет сторонние IPv4 DNS-серверы на свой. Вам поможет смена DNS, например, на Яндекс.DNS 77.88.8.8 или Google DNS 8.8.8.8 и 8.8.4.4. [⚠] Ваш провайдер полностью блокирует доступ к HTTPS-сайтам из реестра. [⚠] У вашего провайдера "полный" DPI. Он отслеживает ссылки даже внутри прокси, поэтому вам следует использовать любое шифрованное соединение, например, VPN или Tor. У вас должен заработать antizapret причем вместе с dnscrypt-proxy. Единственное что если нужны конкретные сайты и их немного то лучше их вписать в zapret-hosts-user.txt, а не тащить весь реестр целиком - РКН банит домены которые иногда ресолвятся в чудные вещи. Quote Link to comment Share on other sites More sharing options...
Albram Posted November 11, 2018 Share Posted November 11, 2018 (edited) В 10.11.2018 в 14:54, Михаил Лукьянов сказал: У вас должен заработать antizapret причем вместе с dnscrypt-proxy. Единственное что если нужны конкретные сайты и их немного то лучше их вписать в zapret-hosts-user.txt, а не тащить весь реестр целиком - РКН банит домены которые иногда ресолвятся в чудные вещи. Хорошо бы, но не взлетает. Запускается нормально: Скрытый текст ~ # /opt/etc/init.d/S99zapret start iptable_raw.ko is already loaded xt_string.ko is already loaded nfqws is installed tpws is installed Restoring ipset Adding iptables rule Starting anti-zapret: zapret. ~ # iptables -t raw -nvL Chain PREROUTING (policy ACCEPT 97 packets, 10520 bytes) pkts bytes target prot opt in out source destination 0 0 NFQUEUE tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:80 flags:0x12/0x12 match-set zapret src NFQUEUE num 200 bypass 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:80 STRING match "|0d0a4c6f636174696f6e3a20687474703a2f2f667a3133392e74746b2e7275|" ALGO name bm FROM 40 TO 200 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:80 STRING match "|0d0a4c6f636174696f6e3a20687474703a2f2f626c6f636b65642e6d74732e7275|" ALGO name bm FROM 40 TO 200 Chain OUTPUT (policy ACCEPT 56 packets, 16952 bytes) pkts bytes target prot opt in out source destination Профиль выбран rt, в файл zapret-host-user.txt добавил пару сайтов, как тут написано, но при попытке на них зайти, сначала заглушка прилетала, указал её в конфиге, прилетать перестала, но сайты всё равно не открываются: Скрытый текст Не удается открыть эту страницу Попробуйте следующее Проверьте веб-адрес: http://rutracker.org Выполните поиск по запросу "http://rutracker.org" в Bing Обновить страницу Details The connection to the website was reset. Error Code: INET_E_DOWNLOAD_FAILURE Пробовал другие профили (в том числе те, которые используют tpws, сначала выходила ошибка, т.к. adduser из Entware не поддерживает такой синтаксис, заменил ключами, пишет что неизвестная группа nogroup. С группой конечно ерунда, добавил nobody, но при запуске с профилем domru, ругается на правила: Скрытый текст ~ # /opt/etc/init.d/S99zapret start iptable_raw.ko is already loaded xt_string.ko is already loaded nfqws is installed tpws is installed Restoring ipset Adding iptables rule net.ipv4.conf.br0.route_localnet = 1 iptables: Bad rule (does a matching rule exist in that chain?). iptables: Bad rule (does a matching rule exist in that chain?). Starting anti-zapret: zapret. В профиле rt пробовал менять размер пакета, хотя, судя по моим результатам blockcheck, это и не должно было помочь. tcpdump по команде tcpdump -vi br0 host 195.82.146.214 | grep "HTTP, length" не ловит вообще ничего tcpdump -vi br0 host 195.82.146.214 Скрытый текст ~ # tcpdump -vi br0 host 195.82.146.214 tcpdump: listening on br0, link-type EN10MB (Ethernet), capture size 262144 bytes 13:48:23.413901 IP (tos 0x0, ttl 128, id 26605, offset 0, flags [DF], proto TCP (6), length 52) 192.168.1.10.53183 > rutracker.org.http: Flags [ S ], cksum 0xaec8 (correct), seq 3302757248, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 13:48:23.456357 IP (tos 0x0, ttl 55, id 0, offset 0, flags [DF], proto TCP (6), length 48) rutracker.org.http > 192.168.1.10.53183: Flags [S.], cksum 0xa8d0 (correct), seq 1996596299, ack 3302757249, win 5, options [mss 1360,nop,wscale 8], length 0 13:48:23.457831 IP (tos 0x0, ttl 128, id 26606, offset 0, flags [DF], proto TCP (6), length 40) 192.168.1.10.53183 > rutracker.org.http: Flags [.], cksum 0xd03d (correct), ack 1, win 1024, length 0 13:48:23.458663 IP (tos 0x0, ttl 128, id 26607, offset 0, flags [DF], proto TCP (6), length 45) 192.168.1.10.53183 > rutracker.org.http: Flags [.], cksum 0x05d3 (correct), seq 1:6, ack 1, win 1024, length 5: HTTP, length: 5 GET /[!http] 13:48:23.500667 IP (tos 0x0, ttl 55, id 10350, offset 0, flags [DF], proto TCP (6), length 40) rutracker.org.http > 192.168.1.10.53183: Flags [.], cksum 0xd3fe (correct), ack 6, win 58, length 0 13:48:23.501903 IP (tos 0x0, ttl 128, id 26608, offset 0, flags [DF], proto TCP (6), length 426) 192.168.1.10.53183 > rutracker.org.http: Flags [P.], cksum 0x02ac (correct), seq 6:392, ack 1, win 1024, length 386: HTTP 13:48:23.924592 IP (tos 0x0, ttl 128, id 26609, offset 0, flags [DF], proto TCP (6), length 426) 192.168.1.10.53183 > rutracker.org.http: Flags [P.], cksum 0x02ac (correct), seq 6:392, ack 1, win 1024, length 386: HTTP 13:48:23.966615 IP (tos 0x0, ttl 55, id 0, offset 0, flags [DF], proto TCP (6), length 40) rutracker.org.http > 192.168.1.10.53183: Flags [R], cksum 0xaca7 (correct), seq 1996596300, win 0, length 0 Вот на этом пока и остановился. Нужно будет подбирать правила под свои условия, раз готовые наборы не работают. Edited November 11, 2018 by Albram Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted November 11, 2018 Share Posted November 11, 2018 (edited) Это потому-что работоспособность tpws никто не проверял. Я переписал скрипт, перекачайте с гитхаба. Вместо перечня провайдеров я оставил выбор из двух действий: fragmentation и modification. Вам нужно выбрать modification и корректно указать внутренний интерфейс SLAVE_ETH. Т.к. скрипт модифицирует таблицу nat вам нужно создать перехватчик для ndm в исполняемом файле /opt/etc/ndm/netfilter.d/tpws.sh следующего содержания: #!/opt/bin/sh [ "$type" == "ip6tables" ] && exit 0 [ "$table" != "nat" ] && exit 0 # check the table name iptables -t nat -I PREROUTING -p tcp --dport 80 -i br0 -m set --match-set zapret dst -j DNAT --to 127.0.0.1:1188 iptables -t nat -I OUTPUT -p tcp --dport 80 -m owner ! --uid-owner nobody -m set --match-set zapret dst -j DNAT --to 127.0.0.1:1188 /opt/bin/logger "tpws redirected http rule created for zapret via netfilter hook" Содержание правил конечно должно совпадать с правилами из секции modification скрипта. Edited December 8, 2018 by Михаил Лукьянов 1 Quote Link to comment Share on other sites More sharing options...
Albram Posted November 11, 2018 Share Posted November 11, 2018 12 минуты назад, Михаил Лукьянов сказал: Я переписал скрипт, перекачайте с гитхаба. Вместо перечня провайдеров я оставил выбор из двух действий: fragmentation и modification. Спасибо! Заработало. И без перехвата ndm. Quote Link to comment Share on other sites More sharing options...
Михаил Лукьянов Posted November 11, 2018 Share Posted November 11, 2018 Только что, Albram сказал: Спасибо! Заработало. И без перехвата ndm. ndm периодически сбрасывает таблицу nat, спустя некоторое время без перехватчика работать перестанет. Quote Link to comment Share on other sites More sharing options...
Albram Posted November 11, 2018 Share Posted November 11, 2018 Только что, Михаил Лукьянов сказал: ndm периодически сбрасывает таблицу nat, спустя некоторое время без перехватчика работать перестанет. Ага, я в курсе этого, добавлю перехват. Quote Link to comment Share on other sites More sharing options...
Albram Posted November 14, 2018 Share Posted November 14, 2018 (edited) Скопировал в секцию modification скрипта правило для https из секции fragmentation. Имеет смысл, наверное, добавить параметр https = yes | no по которому будет добавляться или не добавляться это правило. P.S.: Кстати, в таком виде (с выбором действия, а не провайдера) скрипт выглядит значительно лучше. Edited November 14, 2018 by Albram 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.