bol-van / zapret

DPI bypass multi platform
5.84k stars 512 forks source link

Zapret-on-Keenetic/помощь с подбором параметров #286

Closed unter223 closed 3 weeks ago

unter223 commented 3 weeks ago

Добрый вечер (или день, у кого как). Для обхода блокировки YouTube использовал GoodByeDpi, на телефоне смотрел по мобильному интернету и все было хорошо. Теперь на мобильном скорости не хватает даже для 360р, решил поставить Zapret на свой роутер Keenetic. Сделал все по инструкции, но с указанными параметрами не заработало.

Как я уже сказал, я использовал GoodByeDpi со следующими параметрами, и все работало: start "" goodbyedpi.exe -5 -e1 --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt т.е. применялось следующее:

Заметил, что обход блокировок в моем случае зависит от параметра "-e", при значении 2 (дефолт) не работает, при 1 - все отлично. Поскольку я не особо силен во всем этом, необходима помощь в подборе параметров для Zapret-on-Keenetic

nikrays commented 3 weeks ago

@unter223

# CHOOSE NFQWS DAEMON OPTIONS for DPI desync mode. run "nfq/nfqws --help" for option list
DESYNC_MARK=0x40000000
DESYNC_MARK_POSTNAT=0x20000000
NFQWS_OPT_DESYNC="--dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=0 --dpi-desync-fooling=md5sig,badsum --dpi-desync-repeats=6 --dpi-desync-any-protocol --dpi-desync-cutoff=d4" 
#NFQWS_OPT_DESYNC_HTTP=
#NFQWS_OPT_DESYNC_HTTPS=
#NFQWS_OPT_DESYNC_HTTP6=
#NFQWS_OPT_DESYNC_HTTPS6=
NFQWS_OPT_DESYNC_QUIC="--dpi-desync=fake,disorder2 --dpi-desync-repeats=6 --dpi-desync-ttl=0  --dpi-desync-any-protocol --dpi-desync-cutoff=d4 --dpi-desync-fooling=md5sig,badsum"
#NFQWS_OPT_DESYNC_QUIC6=
unter223 commented 3 weeks ago

@nikrays при перезапуске Zapret получаю следующее

Adding iptables rule for nfqws postrouting (qnum 200) :  -p tcp -m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x400000
iptables: No chain/target/match by that name.
Adding iptables rule for nfqws input+forward (qnum 200) :  -p tcp -m multiport --sports 80,443 -m connbytes --connbytes-dir=reply --connbytes-mode=packets --connbytes 1:9
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
Adding ip6tables rule for nfqws postrouting (qnum 200) :  -p tcp -m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x400000
ip6tables: No chain/target/match by that name.
Adding ip6tables rule for nfqws input+forward (qnum 200) :  -p tcp -m multiport --sports 80,443 -m connbytes --connbytes-dir=reply --connbytes-mode=packets --connbytes 1:9
ip6tables: No chain/target/match by that name.
ip6tables: No chain/target/match by that name.
Adding iptables rule for nfqws postrouting (qnum 210) :  -p udp -m multiport --dports 443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x40000000
iptables: No chain/target/match by that name.
Adding ip6tables rule for nfqws postrouting (qnum 210) :  -p udp -m multiport --dports 443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x4000000
ip6tables: No chain/target/match by that name.
net.netfilter.nf_conntrack_tcp_be_liberal = 1

Вероятно так не должно быть.

nikrays commented 3 weeks ago

@unter223 В общем сделайте как тут, и все получиться

https://github.com/nikrays/Zapret-on-Keenetic

unter223 commented 3 weeks ago

@nikrays сделано именно по этому гайду

nikrays commented 3 weeks ago

@unter223 Значит что-то не правильно, он как минимум нормально стартануть должен Вот только что человеку настроил, здоровый лог запуска выглядит так

/ # /opt/zapret/init.d/sysv/zapret start xt_multiport.ko is already loaded xt_connbytes.ko is already loaded xt_NFQUEUE.ko is already loaded Starting daemon 1: /opt/zapret/nfq/nfqws --user=nobody --dpi-desync-fwmark=0x40000000 --qnum=200 --dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=0 --dpi-desync-fooling=md5sig,badsum --dpi-desync-repeats=6 --dpi-desync-any-protocol --dpi-desync-cutoff=d4 --hostlist=/opt/zapret/ipset/zapret-hosts-user.txt --hostlist-exclude=/opt/zapret/ipset/zapret-hosts-user-exclude.txt --hostlist-auto=/opt/zapret/ipset/zapret-hosts-auto.txt --hostlist-auto-fail-threshold=3 --hostlist-auto-fail-time=60 --hostlist-auto-retrans-threshold=3 Starting daemon 10: /opt/zapret/nfq/nfqws --user=nobody --dpi-desync-fwmark=0x40000000 --qnum=210 --user=nobody --dpi-desync-fwmark=0x40000000 --dpi-desync=fake,disorder2 --dpi-desync-repeats=6 --dpi-desync-ttl=0 --dpi-desync-any-protocol --dpi-desync-cutoff=d4 --dpi-desync-fooling=md5sig,badsum --hostlist=/opt/zapret/ipset/zapret-hosts-user.txt --hostlist-exclude=/opt/zapret/ipset/zapret-hosts-user-exclude.txt --hostlist-auto=/opt/zapret/ipset/zapret-hosts-auto.txt --hostlist-auto-fail-threshold=3 --hostlist-auto-fail-time=60 --hostlist-auto-retrans-threshold=3 Applying iptables Creating ip list table (firewall type iptables) setting high oom kill priority reloading ipset backend (no-update) Adding iptables rule for nfqws postrouting (qnum 200) : -p tcp -m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x40000000 Adding iptables rule for nfqws input+forward (qnum 200) : -p tcp -m multiport --sports 80,443 -m connbytes --connbytes-dir=reply --connbytes-mode=packets --connbytes 1:9 Adding ip6tables rule for nfqws postrouting (qnum 200) : -p tcp -m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x40000000 Adding ip6tables rule for nfqws input+forward (qnum 200) : -p tcp -m multiport --sports 80,443 -m connbytes --connbytes-dir=reply --connbytes-mode=packets --connbytes 1:9 Adding iptables rule for nfqws postrouting (qnum 210) : -p udp -m multiport --dports 443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x40000000 Adding ip6tables rule for nfqws postrouting (qnum 210) : -p udp -m multiport --dports 443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x40000000 net.netfilter.nf_conntrack_tcp_be_liberal = 1

nikrays commented 3 weeks ago

@unter223 и еще.. проверьте на кинетике в компонентах вкладка OPKG все ли галочки стоят????)

unter223 commented 3 weeks ago

@unter223 и еще.. проверьте на кинетике в компонентах вкладка OPKG все ли галочки стоят????)

Снимок экрана 2024-08-17 004341

Только что проверил все пункты по гайду, все должно быть нормально. Еще раз запустил установку пакетов, все стоит

/ # opkg install coreutils-sort curl git-http grep gzip ipset iptables kmod_ndms nano xtables-addons_legacy
Package coreutils-sort (9.3-1) installed in root is up to date.
Package curl (8.8.0-2) installed in root is up to date.
Package git-http (2.45.2-2) installed in root is up to date.
Package grep (3.11-1) installed in root is up to date.
Package gzip (1.13-1) installed in root is up to date.
Package ipset (7.21-1) installed in root is up to date.
Package iptables (1.4.21-4) installed in root is up to date.
Package kmod_ndms (30-1) installed in root is up to date.
Package nano (8.0-1) installed in root is up to date.
Package xtables-addons_legacy (1.47.1-2) installed in root is up to date.

Переустанавливаю Zapret, по гайду на этом этапе сказано "Дальше жмем Enter 3 раза", после чего должно быть "Далее "select filtering:" (Выбираем 4 вариант затем enter. Автохостлист, пригодится для автопополнения запрещенных доменов РКН)", но у меня спрашивают:

enable http support (default : Y) (Y/N) ?

enable keep alive support only if DPI checks every outgoing packet for http signature
dont enable otherwise because it consumes more cpu resources
enable http keep alive support (default : N) (Y/N) ?

enable https support (default : Y) (Y/N) ?

WARNING ! Keenetic is not officially supported by zapret.
WARNING ! This firmware requires additional manual iptables setup to support udp desync properly.
WARNING ! Keenetic uses proprietary ndmmark to limit MASQUERADE.
WARNING ! Desynced packets may go outside without MASQUERADE with LAN source ip.
WARNING ! To fix this you need to add additional MASQUERADE rule to iptables nat table.
WARNING ! Installer WILL NOT fix it for you automatically.
WARNING ! If you cannot understand what it is all about - do not enable QUIC.

enable quic support (default : Y) (Y/N) ?

В прошлой установке я также нажал enter, т.е. выбралось Y, возможно в этом проблема. Как мне реагировать на эти Warnings?

nikrays commented 3 weeks ago

Это не важно, главное внимательность, выбрать главное iptables цифра 1 , когда спросят

Позже вы все равно мой конфиг вставите и ещё скажите, у вас авторизация у провайдера pppoe?

unter223 commented 3 weeks ago

Это не важно, главное внимательность, выбрать главное iptables цифра 1 , когда спросят

Да, выбираю iptables

select firewall type :
1 : iptables
2 : nftables
your choice (default : iptables) : 1

Позже вы все равно мой конфиг вставите и ещё скажите, у вас авторизация у провайдера pppoe?

Да, авторизация PPPoE. Меняю днс, игнорирую от провайдера.

IP-адрес 100.70.12.209, по ifconfig

ppp0      Link encap:Point-to-Point Protocol
          inet addr:100.70.12.209  P-t-P:192.168.1.13  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:19230 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8994 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:21790294 (20.7 MiB)  TX bytes:1696391 (1.6 MiB)

Выбираю порт ppp0 при установке.

nikrays commented 3 weeks ago

Ну все правильно, дальше?

nikrays commented 3 weeks ago

А где ipv6?

unter223 commented 3 weeks ago

Ну все правильно, дальше?

Дальше все по гайду точно так же делаю.

А где ipv6?

Не совсем понимаю суть вопроса.

nikrays commented 3 weeks ago

В компонентах добавить надо ipv6 в поиске напишите

nikrays commented 3 weeks ago

Screenshot_2024-08-17-01-44-55-056_com android chrome

unter223 commented 3 weeks ago

Добавил. Прошелся по всем пунктам с нуля, итог тот же самый

Adding iptables rule for nfqws postrouting (qnum 200) :  -p tcp -m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x40000000
iptables: No chain/target/match by that name.
Adding iptables rule for nfqws input+forward (qnum 200) :  -p tcp -m multiport --sports 80,443 -m connbytes --connbytes-dir=reply --connbytes-mode=packets --connbytes 1:9
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
Adding ip6tables rule for nfqws postrouting (qnum 200) :  -p tcp -m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x40000000
ip6tables: No chain/target/match by that name.
Adding ip6tables rule for nfqws input+forward (qnum 200) :  -p tcp -m multiport --sports 80,443 -m connbytes --connbytes-dir=reply --connbytes-mode=packets --connbytes 1:9
ip6tables: No chain/target/match by that name.
ip6tables: No chain/target/match by that name.
Adding iptables rule for nfqws postrouting (qnum 210) :  -p udp -m multiport --dports 443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x40000000
iptables: No chain/target/match by that name.
Adding ip6tables rule for nfqws postrouting (qnum 210) :  -p udp -m multiport --dports 443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -m mark ! --mark 0x40000000/0x40000000
ip6tables: No chain/target/match by that name.
net.netfilter.nf_conntrack_tcp_be_liberal = 1
unter223 commented 3 weeks ago

После установки ipv6 в OPKG появились новые компоненты. Поставил их, перезапустил роутер - все заработало. Большое спасибо за помощь, вопрос закрыт.

nikrays commented 3 weeks ago

Прям везде все заработало на всех устройствах?) поздравляю

AntonA99 commented 3 weeks ago

куда смотреть, кинетик настроен, в гостевой сети с натом всё работает, и нативные приложухи youtube и в браузерах.. а вот основная сеть Lan без ната, интерфейс Br0, трафик ходит через кинетик транзитом... точнее уходит, а назад не возвращается, что то его режет, в маршрутизации кинетика сеть и шлюз прописаны, в фаерволе и на wan и на Lan порту всё разрешено...