Jump to content
b1st

Обход блокировок на роутере!

66 posts in this topic

Есть такая прога

GoodbyeDPI

обходит блокировки без прокси. Можно ли сделать пакет для роутера?

Share this post


Link to post
Share on other sites

Судя по тому что оно мастдайное, да под икс86, то нет. 

Share this post


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

Есть такая прога

GoodbyeDPI

обходит блокировки без прокси. Можно ли сделать пакет для роутера?

Интернет и iptables в руки (RAW примочка имеется).

Share this post


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

Оттуда же. 

У ARM и MIPS есть несколько версий. Найдите работающий на вашей системе вариант.
Скорее всего таковой найдется. Если нет - вам придется собирать самостоятельно.

Share this post


Link to post
Share on other sites
4 минуты назад, Mamay сказал:

Оттуда же. 


У ARM и MIPS есть несколько версий. Найдите работающий на вашей системе вариант.
Скорее всего таковой найдется. Если нет - вам придется собирать самостоятельно.

уже ставлю по той инструкции но есть непонятки.

Share this post


Link to post
Share on other sites

хотелось бы инструкцию попроще.

установил но не работает.

Edited by b1st
отчет

Share this post


Link to post
Share on other sites

Попробуйте автору на гите написать Ваши непонятки ;) там есть раздел для вопросов и общения .... 

Edited by Dorik1972

Share this post


Link to post
Share on other sites

О каких не понятках может идти речь, если используются два пакета NFQWS/TPWS в связке с iptables.

NFQUEUE так же использует по моему Suricata (есть в Entware). NFQUEUE передает специальному демону сам пакет целиком => пакеты выкидываются из обработки.

Share this post


Link to post
Share on other sites

там же

Цитата

...
Что делать с openwrt/LEDE
-------------------------

Установить дополнительные пакеты :
opkg update
opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptables-mod-ipopt ipset curl bind-tools
(для новых LEDE) opkg install kmod-ipt-raw
...

Share this post


Link to post
Share on other sites

@b1st Здравствуйте, если у Вас получится, то прошу написать инструкцию для простых смертных :) надоело тормознутым тором пользоваться (((

Edited by plagioklaz
  • Upvote 1

Share this post


Link to post
Share on other sites

Какая инструкция должна быть для 4-5 строчек правил iptables, которые блуждают в интернете, наверное нужно повнимательней читать и не заострять внимание только на данной ссылке.

Повторюсь - примочка RAW работает.

Share this post


Link to post
Share on other sites
В 12.09.2017 в 15:01, vasek00 сказал:

Какая инструкция должна быть для 4-5 строчек правил iptables, которые блуждают в интернете, наверное нужно повнимательней читать и не заострять внимание только на данной ссылке.

Повторюсь - примочка RAW работает.

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

Погуглил я на тему обход блокировок iptables raw и выдал мне гугл первой строкой казалось бы решение

И как советуют ввёл команду iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -j NFQUEUE --queue-num 200 --queue-bypass

Которой, как написано, вполне достаточно. Но в ответ получил, что  iptables: No chain/target/match by that name.

Опять же гугл на это выдал разъяснение, что данный ответ означает, что в таблице raw нет цепочки PREROUTING и надо её искать в таблице nat... Но нам нужна именно таблица raw )))

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

Спасибо.

Share this post


Link to post
Share on other sites

Для таблицы raw установите opkg-kmod-netfilter. Ее нет в коплекте по-умолчанию, поскольку она на 3-5% тормозит роутинг и совершенно не нужна для NDMS.

  • Upvote 1

Share this post


Link to post
Share on other sites
1 час назад, Le ecureuil сказал:

Для таблицы raw установите opkg-kmod-netfilter. Ее нет в коплекте по-умолчанию, поскольку она на 3-5% тормозит роутинг и совершенно не нужна для NDMS.

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

putty.png.ffde0805cb4bd241b099c342689f8779.png

opkg-netfilter.thumb.png.9256246b440f53a354d1a45989d7aa79.png

Странно, но пишет, что нет такого пакета. В модулях прошивки, всё что связанно с netfilter установил.

Прошивка релиз 2.09 с установленной entware3

Или raw есть только для 10ой прошивки?

Share this post


Link to post
Share on other sites

В 2,09 вроде...

 

Share this post


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

Всему приходится учиться....

Подскажите как правильно должна звучать команда для умной железки.

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

iptables -t raw -I PREROUTING -p tcp ....

...

iptables -t mangle -I FORWARD -p tcp ....

...

/ # iptables -t raw -nvL
Chain PREROUTING (policy ACCEPT 11M packets, 1097M bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp spt:443 .....
  220 46132 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp spt:80 ....

...

/ # iptables -t mangle -nvL

Chain FORWARD (policy ACCEPT 462K packets, 58M bytes)
 pkts bytes target     prot opt in     out     source               destination         
    2    80 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp spt:443 ....
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp spt:80 ......

...

/ # lsmod | grep iptable
iptable_raw 657 1 - Live 0x86048000
iptable_rawpost 577 0 - Live 0x8607d000 (O)

или

/lib/modules/3.4.113 # ls -l | grep RAW
-rw-r--r--    1 root     root          5692 Sep  2 13:04 xt_RAWNAT.ko
/lib/modules/3.4.113 #

 

Edited by vasek00

Share this post


Link to post
Share on other sites
7 часов назад, Le ecureuil сказал:

Для таблицы raw установите opkg-kmod-netfilter. Ее нет в коплекте по-умолчанию, поскольку она на 3-5% тормозит роутинг и совершенно не нужна для NDMS.

Вопрос чисто для развития и информации :

1 - т.е. если CPU показывает например 0% на РТ, то реально это тормоза как можно оценить, или например у MT7621 потерю.

2 - а разве про набор правил в

 iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 24369 packets, 2600K bytes)
 pkts bytes target     prot opt in     out     source               destination         
24369 2600K _NDM_DNAT  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
24369 2600K _NDM_SD_DNSREDIRECT  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
24369 2600K _NDM_SD_WEBREDIRECT  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
24369 2600K _NDM_UPNP_REDIRECT  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
24369 2600K _NDM_YD_REDIRECT  all  --  *      *       0.0.0.0/0            0.0.0.0/0   
...
Chain POSTROUTING (policy ACCEPT 6938 packets, 2066K bytes)
 pkts bytes target     prot opt in     out     source               destination         
20434 3242K _NDM_IPSEC_POSTROUTING_NAT  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
20434 3242K _NDM_SNAT  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
 1014  443K _NDM_NAT_UDP  udp  --  br0    *       0.0.0.0/0            0.0.0.0/0            udp
12481  733K MASQUERADE  all  --  br0    *       0.0.0.0/0            0.0.0.0/0           
    0     0 _NDM_NAT_UDP  udp  --  br1    *       0.0.0.0/0            0.0.0.0/0            udp
    0     0 MASQUERADE  all  --  br1    *       0.0.0.0/0            0.0.0.0/0           
    0     0 MASQUERADE  all  --  vpn+   *       0.0.0.0/0            0.0.0.0/0  
...

нельзя сказать, что так же любое правило тормозит роутинг.

Share this post


Link to post
Share on other sites
19 часов назад, Le ecureuil сказал:

# lsmod | grep raw

Что у вас показывает?

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

59bba25d35279_.png.db4d01f4f8506d5e84895ab18db5381e.png

 

Edited by plagioklaz

Share this post


Link to post
Share on other sites
В 12.09.2017 в 12:27, plagioklaz сказал:

@b1st Здравствуйте, если у Вас получится, то прошу написать инструкцию для простых смертных :) надоело тормознутым тором пользоваться (((

И вам того же, я свои попытки оставил, а тему создал как раз чтоб умные люди помогли и инструкцию сделали!

Share this post


Link to post
Share on other sites

Начиная с версии 2.13.A.3.0-1 в ядре появилась поддержка NFQUEUE и стало возможно использовать наработки от bol-van. Делюсь своим вариантом настройки с нуля.

Устанавливаем компоненты системы (через веб интерфейс) :

  1. Протокол IPv6. Поддержка открытых пакетов. Перезагрузка.
  2. Подключаем entware. Модули ядра подсистемы Netfilter. Перезагрузка.
  3. Пакет расширения Xtables-addons для Netfilter. Перезагрузка.

Далее работаем по ssh:

ssh root@192.168.1.1

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

opkg install ipset curl bind-tools iptables cron nano

Для того чтобы можно было пользоваться crontab -e в /opt/etc/profile добавляем строку (это не обязательно):

export EDITOR='/opt/bin/nano'

Скачиваем и распаковываем anti-zapret:

curl -L https://github.com/bol-van/zapret/archive/master.zip -o zapret.zip
unzip ./zapret.zip -d /opt
mv /opt/zapret-master/ /opt/zapret 
find /opt/zapret/ipset/ -name *.sh -print0 | xargs -0 chmod +x

Копируем бинарные версии nfqws и tpws соответствующие нашей архитектуре (можно просто позапускать версии из разных папок и посмотреть что заработает)

cp /opt/zapret/binaries/mips32r1-lsb/nfqws /opt/zapret/nfq/nfqws
chmod +x /opt/zapret/nfq/nfqws
cp /opt/zapret/binaries/mips32r1-lsb/tpws  /opt/zapret/tpws/tpws
chmod +x /opt/zapret/tpws/tpws

Инициализирующий скрипт я изначально брал от debian версии, но так изменений получилось много то проще скачать форкнутую версию чем править оригинал:

curl https://raw.githubusercontent.com/LukyanovM/zapret/master/init.d/keenetic/S99zapret -o /opt/etc/init.d/S99zapret
chmod +x /opt/etc/init.d/S99zapret

На что нужно здесь обратить внимание:

  1. По умолчанию используется профиль для РТК.
  2. Появилась переменная BLACKHOLE, для которой нужно указать адрес заглушки провайдера. Правило отсева заглушки задействованно только в профиле для РТК.
  3. Скрипт автоматом загружает ядерный модуль iptable_raw.ko. Без него работать не будет.
  4. Из скрипта вынесена вся логика по парсингу выгрузки из РКН. Вместо этого он использует готовый айписет. Иначе при загрузке системы ndm убивает всю группу OPKG по таймауту (это на keenetic viva, на других моделях не проверял).

Кратко о логике самой программы. Чтобы выбирать профили и методы противодействия нужно хорошо понимать с чем боремся - хороший анализ даст BlockCheck. DPI у РТК и Билайна пропускает сегментированные начальные пакеты, здесь достаточно использовать nfqws (как наиболее быстрый) с опцией --wsize (начальный размер пакета). Модифицируются только пакеты предназначенные для заблокированных сайтов, остальной трафик остаётся чистым. Именно для этих целей нужна выгрузка из РКН.

Включаем сохранение готовых айписетов, для этого в конец файла /opt/zapret/ipset/create_ipset.sh добавляем строку:

ipset save zapret -f /opt/zapret/ipset/zapret.ipset

Прежде чем ворочать выгрузками из РКН создаём тестовый айписет, в файл  /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.

На данном этапе за роутером должны заработать рутрекер и кинозал. Если тут всё нормально, можно приступать к выгрузке из РКН. Для этой цели есть два скрипта: get_reestr.sh и get_antizapret.sh. Первый берет оригинал реестра и парсит его в айпи самостоятельно - нагрузка низкая, но парсить может сутками. Второй берет готовый список айпи с antizapret.prostovpn.org, отрабатывает за полминуты. Я использовал второй вариант:

/opt/zapret/ipset/get_antizapret.sh

Cейчас за роутером должно заработать всё. Осталось только вставить в cron актуализацию выгрузки:

cp /opt/zapret/ipset/get_antizapret.sh /opt/etc/cron.daily/get_antizapret.sh

Правим cron скрипт /opt/etc/cron.daily/get_antizapret.sh:

Строку 

SCRIPT=$(readlink -f $0)

удаляем, а строку

EXEDIR=$(dirname $SCRIPT)

меняем на 

EXEDIR=/opt/zapret/ipset

Теперь роутер сам каждую ночь будет обновлять выгрузку. Чтобы отключить обход блокировок достаточно выполнить команду (действует до перезагрузки) :

/opt/etc/init.d/S99zapret stop

 

 

Edited by Михаил Лукьянов
  • Thanks 1
  • Upvote 2

Share this post


Link to post
Share on other sites
5 часов назад, Михаил Лукьянов сказал:

Копируем бинарные версии nfqws и tpws соответствующие нашей архитектуре (можно просто позапускать версии из разных папок и посмотреть что заработает)

или

opkg install http://bin.entware.net/mipselsf-k3.4/archive/libnetfilter-queue_2017-06-27-601abd1c-1_mipsel-3.4.ipk
opkg install http://bin.entware.net/mipselsf-k3.4/archive/zapret_0.19-20180818-1_mipsel-3.4.ipk

для MIPSEL роутеров.

Share this post


Link to post
Share on other sites

и для MIPS (DSL, LTE, VOX)

opkg install http://bin.entware.net/mipssf-k3.4/keenetic/t/libnetfilter-queue_2017-06-27-601abd1c-1_mips-3.4.ipk
opkg install http://bin.entware.net/mipssf-k3.4/keenetic/t/zapret_0.19-20180818-1_mips-3.4.ipk

 

Share this post


Link to post
Share on other sites
13 часа назад, Михаил Лукьянов сказал:

Включаем сохранение готовых айписетов, для этого в конец файла /opt/zapret/ipset/create_ipset.sh добавляем строку:


ipset save zapret -f /opt/zapret/ipset/zapret.ipset

Добавил строчку. Выдаёт ошибку. 

Adding to ipset ipban (hash:net) : /opt/zapret/ipset/zapret-ip-user-ipban.txt
/opt/zapret/ipset/create_ipset.sh: line 29: ipset : not found

Share this post


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

Добавил строчку. Выдаёт ошибку. 

Adding to ipset ipban (hash:net) : /opt/zapret/ipset/zapret-ip-user-ipban.txt
/opt/zapret/ipset/create_ipset.sh: line 29: ipset : not found

Вы когда с форума копируете код, проверьте чтобы вопросов лишних туда не навставляло, а то у меня так выглядит после вставки в консоль

~ # ipset??? save zapret -f /opt/zapret/ipset/zapret.ipset?????
-sh: ipset: not found

И прошивка у вас надеюсь не та что в профиле указана? нужна не ниже 2.13.A.3.0-1.

Александр РыжовTheBBкруто конечно, но как узнать об этом? Тут и тут ничего нет, в opkg list тоже. Магия какая-то.

Edited by Михаил Лукьянов
Про версию прошивки

Share this post


Link to post
Share on other sites
10 минут назад, Михаил Лукьянов сказал:

Александр РыжовTheBBкруто конечно, но как узнать об этом?

Это тестовые пакеты. Если будет доказана их работоспособность и полезность, они войдут в основной состав.

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

Добавил строчку. Выдаёт ошибку. 

Adding to ipset ipban (hash:net) : /opt/zapret/ipset/zapret-ip-user-ipban.txt
/opt/zapret/ipset/create_ipset.sh: line 29: ipset : not found 

opkg install ipset

 

Share this post


Link to post
Share on other sites
2 часа назад, Михаил Лукьянов сказал:

Вы когда с форума копируете код, проверьте чтобы вопросов лишних туда не навставляло, а то у меня так выглядит после вставки в консоль

Ваш совет помог. Спасибо.

Сделал все по инструкции но почему то не запускается ни один сайт. Какими командами можно про верить работоспособность схемы ?  Прошивка 2.13 B2 роутер GIGA III Entware самая свежая. 

Share this post


Link to post
Share on other sites
26 минут назад, vlad сказал:

Ваш совет помог. Спасибо.

Сделал все по инструкции но почему то не запускается ни один сайт. Какими командами можно про верить работоспособность схемы ?  Прошивка 2.13 B2 роутер GIGA III Entware самая свежая. 

По инструкции нужно было остановиться на этапе рутрекера и кинозала если ничего не работает) Какой провайдер, что говорит blockcheck (перед запуском обязательно нужно гасить zapret через /opt/etc/init.d/S99zapret stop)?

Share this post


Link to post
Share on other sites
1 минуту назад, Михаил Лукьянов сказал:

По инструкции нужно было остановиться на этапе рутрекера и кинозала если ничего не работает) Какой провайдер, что говорит blockcheck (перед запуском обязательно нужно гасить zapret через /opt/etc/init.d/S99zapret stop)?

К сожаление нет компа под рукой чтоб запустить blockcheck ;(( Провайдер ЭГС-Телеком. Наверное малоизвестный ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×