Zapret: обсуждение

большая вероятность, что NAT подрежет или обьединит фрагменты.
ipfrag может потребовать внешнего IP на устройстве с zapret
вообще эта техника только для точечного пробива отдельных ресурсов и работает лишь иногда, а не как правило

можно попробовать прогнать блокчек на QUIC на rutracker.org
если ipfrag срабатывает, то шансы есть

Кто-нибудь сталкивался:
Zapret на компьютере и android tv - работает идеально.
На телефонах, планшетах - при старте каждого видео задержка 5-10 сек.
После того как видео уже запустилось, перематывается хорошо, без подгрузок

Zapret установлен на роутере (OpenWrt),
конфиг NFQWS_OPT_DESYNC=“–dpi-desync=fake,split2 --dpi-desync-ttl=2”

blockcheck показывает

preparing winws redirection

  • checking winws --wf-l3=ipv4 --wf-udp=443 --dpi-desync=fake
    !!! AVAILABLE !!!
  • checking winws --wf-l3=ipv4 --wf-udp=443 --dpi-desync=fake --dpi-desync-repeats=2
    !!! AVAILABLE !!!
  • checking winws --wf-l3=ipv4 --wf-udp=443 --dpi-desync=fake --dpi-desync-repeats=5
    !!! AVAILABLE !!!
  • checking winws --wf-l3=ipv4 --wf-udp=443 --dpi-desync=fake --dpi-desync-repeats=10
    !!! AVAILABLE !!!
  • checking winws --wf-l3=ipv4 --wf-udp=443 --dpi-desync=fake --dpi-desync-repeats=20
    !!! AVAILABLE !!!
  • checking winws --wf-l3=ipv4 --wf-udp=443 --dpi-desync=ipfrag2 --dpi-desync-ipfrag-pos-udp=8
    !!! AVAILABLE !!!
  • checking winws --wf-l3=ipv4 --wf-udp=443 --dpi-desync=ipfrag2 --dpi-desync-ipfrag-pos-udp=16
    !!! AVAILABLE !!!
  • checking winws --wf-l3=ipv4 --wf-udp=443 --dpi-desync=ipfrag2 --dpi-desync-ipfrag-pos-udp=24
    !!! AVAILABLE !!!
  • checking winws --wf-l3=ipv4 --wf-udp=443 --dpi-desync=ipfrag2 --dpi-desync-ipfrag-pos-udp=32
    !!! AVAILABLE !!!
  • checking winws --wf-l3=ipv4 --wf-udp=443 --dpi-desync=ipfrag2 --dpi-desync-ipfrag-pos-udp=40
    !!! AVAILABLE !!!
  • checking winws --wf-l3=ipv4 --wf-udp=443 --dpi-desync=ipfrag2 --dpi-desync-ipfrag-pos-udp=64
    !!! AVAILABLE !!!

но winws открывает только сайт рутрекер на протоколы он не действует даже с теми стратегиями которые стоят в роутере

winws и nfqws на роутере мешать нельзя, они будут друг другу мешать

я отключал в роутере запрет Я запускал на Windows

не только рутракер. nnmclub, kinozal. те, что на cloudflare.
там не блокируют ip фрагменты udp
но вообще это неплохая новость, значит дурение с ipfrag помогает
да и fake тоже помогает. fake гораздо более живуч, чем ipfrag.
можно попробовать его напустить на wireguard на порт 500
лучше в командной строке с --debug, чтобы смотреть действительно ли идет дурение wireguard handshake

А как правильно. Запустить . Командной строке

точно так же, только порт заменить с 443 на 500
и --debug для проверки

А нет ли случайно сего чудного решения в формате докер образа? Хочется попробовать на некротик припарковать

Не будет работать. Там отдельный network namespace, ограниченные права и нехватка модулей ядра
Эта тема предназначена только для запуска сервисных приложений, но никак не для рулежки сетевой подсистемой

Окей, приниматся, под капотом некротики действительно странные. А если парковать на какую-нибудь малинку? А в контейнер положить WG сервер, который и будет входным интерфейсом для всего, что туда заворачивается?

Мне кажется смысла нет.
zapret разрабатывался изначально исходя из абсолютного минимума зависимостей.
Он работает на сильно обрезаных прошивках, так что к userland окружению совершенно нетребователен.
А вот к модулям ядра требователен, и их не подтянешь докером.
Традиционный linux обычно расчитан на загрузку модулей по мере надобности. Сами команды типа iptables, nftables их загружают. Что будет в контейнере, где эти команды не увидят модулей от основного ядра ? Наверно, придется их искусственно загружать перед запуском контейнера.
Но там же еще есть выбор iptables, nftables, и модули нужны разные. Все что ли загружать ? iptables есть еще nft и legacy. Старое ядро не потянет новые nftables даже если я положу nft в контейнер.

Звучит разумно. Жаль. Хотелось решение в формате “чёрного ящика”, не конфликтющего с уже навешанными правилами iptables и прочими накрученными чудесами в системе.

Черный ящик - это виртуалка. Требования к ней самые минимальные.
Но настраивать все равно придется

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

Почитал я readme.txt, поматерился, но так и не понял: как же сделать исключение для сайта? Любая фильтрация работает странно, но вкратце autohostlist работал, hostlist работал с добавленным сайтом, но сейчас пробуя то же — не получается. Ключ none для фильтрации срабатывает против замедления, но ломает сайт. Поделитесь, как вы делаете исключения?!

вот что происходит пакеты дропаются

winws.exe --wf-l3=ipv4 --wf-udp=2408 --dpi-desync=ipfrag2 --dpi-desync-ipfrag-pos-udp=8 --debug
windivert filter size: 420
windivert filter:
!impostor and !loopback and ip and
((outbound and ((udp.DstPort == 2408)) and ((ip.DstAddr < 127.0.0.1 or ip.DstAddr > 127.255.255.255) and (ip.DstAddr < 10.0.0.0 or ip.DstAddr > 10.255.255.255) and (ip.DstAddr < 192.168.0.0 or ip.DstAddr > 192.168.255.255) and (ip.DstAddr < 172.16.0.0 or ip.DstAddr > 172.31.255.255) and (ip.DstAddr < 169.254.0.0 or ip.DstAddr > 169.254.255.255)))
or
(inbound and tcp and false))
initializing conntrack with timeouts tcp=60:300:60 udp=60
windivert initialized. capture is started.
packet: id=0 len=176 outbound IPv6=0 IPChecksum=1 TCPChecksum=1 UDPChecksum=1 IfIdx=19.0
IP4: 192.168.40.35 => 162.159.193.5 proto=udp ttl=128 sport=50682 dport=2408
UDP: 01 00 00 00 23 58 84 D1 F0 5B 80 F0 3D E0 F2 42 18 6F E4 EE FE A6 15 2A FE B1 EE BF 8B 2B 3C EF … : …#X…[…=…B.o……+<. …
packet contains wireguard handshake initiation
dpi desync src=192.168.40.35:50682 dst=162.159.193.5:2408
sending 1st ip fragment 0-7 ip_payload_len=8 : 45 00 00 1C 6D C1 20 00 80 11 60 9F C0 A8 28 23 A2 9F C1 05 C5 FA 09 68 00 9C 94 3B : E…m. …`…(#…h…;
sending 2nd ip fragment 8-155 ip_payload_len=148 : 45 00 00 A8 6D C1 00 01 80 11 80 12 C0 A8 28 23 A2 9F C1 05 01 00 00 00 23 58 84 D1 F0 5B 80 F0 3D E0 F2 42 18 6F E4 EE FE A6 15 2A FE B1 EE BF 8B 2B 3C EF A2 8A FD 00 17 96 EF 1F D3 B7 B0 1E 02 EF D8 A4 65 F2 33 DB 8E 6B DD 38 F4 19 12 3F … : E…m…(#…#X…[…=…B.o…
…+<…e.3…k.8…? …
packet: id=0 drop
packet: id=1 len=176 outbound IPv6=0 IPChecksum=1 TCPChecksum=1 UDPChecksum=1 IfIdx=19.0
IP4: 192.168.40.35 => 162.159.193.5 proto=udp ttl=128 sport=50682 dport=2408
UDP: 01 00 00 00 69 D8 AB 6A 2C F8 6C 59 CC B2 32 10 EA 4C 29 AC 47 D9 17 81 DC 4A C3 23 8B 1F DF D2 … : …i…j,.lY…2…L).G…J.#… …
packet contains wireguard handshake initiation
dpi desync src=192.168.40.35:50682 dst=162.159.193.5:2408
sending 1st ip fragment 0-7 ip_payload_len=8 : 45 00 00 1C 6D C2 20 00 80 11 60 9E C0 A8 28 23 A2 9F C1 05 C5 FA 09 68 00 9C 17 EC : E…m. …`…(#…h…
sending 2nd ip fragment 8-155 ip_payload_len=148 : 45 00 00 A8 6D C2 00 01 80 11 80 11 C0 A8 28 23 A2 9F C1 05 01 00 00 00 69 D8 AB 6A 2C F8 6C 59 CC B2 32 10 EA 4C 29 AC 47 D9 17 81 DC 4A C3 23 8B 1F DF D2 64 01 58 EA 71 DD AF 1F 63 98 48 D9 FE 51 06 43 38 96 47 D1 F4 1E B9 84 C8 A5 0A 61 … : E…m…(#…i…j,.lY…2…L).G…J.#…d.X.q…c.H…Q.C8.G…a …
packet: id=1 drop
packet: id=2 len=176 outbound IPv6=0 IPChecksum=1 TCPChecksum=1 UDPChecksum=1 IfIdx=19.0
IP4: 192.168.40.35 => 162.159.193.5 proto=udp ttl=128 sport=50682 dport=2408
UDP: 01 00 00 00 AB E3 F5 3A 45 EB E8 6E 2E 3A D8 93 2E DD 88 4A 6E E0 1E EC 7B E2 19 A7 AF D1 62 D1 … : …:E…n.:…Jn…{…b. …
packet contains wireguard handshake initiation
dpi desync src=192.168.40.35:50682 dst=162.159.193.5:2408
sending 1st ip fragment 0-7 ip_payload_len=8 : 45 00 00 1C 6D C3 20 00 80 11 60 9D C0 A8 28 23 A2 9F C1 05 C5 FA 09 68 00 9C 1F BF : E…m. …`…(#…h…
sending 2nd ip fragment 8-155 ip_payload_len=148 : 45 00 00 A8 6D C3 00 01 80 11 80 10 C0 A8 28 23 A2 9F C1 05 01 00 00 00 AB E3 F5 3A 45 EB E8 6E 2E 3A D8 93 2E DD 88 4A 6E E0 1E EC 7B E2 19 A7 AF D1 62 D1 DE 08 3D EA 6A 41 63 47 CE B2 CE 13 B8 95 60 60 A2 C9 A9 79 DA C5 E2 AE 24 E5 40 AB … : E…m…(#…:E…n.:…Jn…{…b…=.jAcG…``…y…$.@. …
packet: id=2 drop
packet: id=3 len=176 outbound IPv6=0 IPChecksum=1 TCPChecksum=1 UDPChecksum=1 IfIdx=19.0
IP4: 192.168.40.35 => 162.159.193.5 proto=udp ttl=128 sport=50682 dport=2408
UDP: 01 00 00 00 02 25 CA 25 25 B4 41 77 CB B6 F5 60 08 3A FC 83 E7 39 BC B7 EA C3 E0 CA 25 CC CA 91 … : …%.%%.Aw…`.:…9…%… …
packet contains wireguard handshake initiation
dpi desync src=192.168.40.35:50682 dst=162.159.193.5:2408
sending 1st ip fragment 0-7 ip_payload_len=8 : 45 00 00 1C 6D C4 20 00 80 11 60 9C C0 A8 28 23 A2 9F C1 05 C5 FA 09 68 00 9C 12 33 : E…m. …`…(#…h…3
sending 2nd ip fragment 8-155 ip_payload_len=148 : 45 00 00 A8 6D C4 00 01 80 11 80 0F C0 A8 28 23 A2 9F C1 05 01 00 00 00 02 25 CA 25 25 B4 41 77 CB B6 F5 60 08 3A FC 83 E7 39 BC B7 EA C3 E0 CA 25 CC CA 91 FD 86 EF FF 99 52 00 7F 49 FA 89 3E 16 5E CD F2 95 5F 1D F3 49 41 20 D0 94 D1 BF E8 … : E…m…(#…%.%%.Aw…`.:…9…%…R.I…>.^…_…IA … …
packet: id=3 drop
packet: id=4 len=176 outbound IPv6=0 IPChecksum=1 TCPChecksum=1 UDPChecksum=1 IfIdx=19.0
IP4: 192.168.40.35 => 162.159.193.5 proto=udp ttl=128 sport=64478 dport=2408
UDP: 01 00 00 00 49 45 60 B9 E4 E8 62 48 F9 78 E0 3C 3A FE A4 4E 63 7B 9D 50 C9 A3 38 9F CF 17 9E 75 … : …IE`…bH.x.<:…Nc{.P…8…u …
packet contains wireguard handshake initiation
dpi desync src=192.168.40.35:64478 dst=162.159.193.5:2408
sending 1st ip fragment 0-7 ip_payload_len=8 : 45 00 00 1C 6D C5 20 00 80 11 60 9B C0 A8 28 23 A2 9F C1 05 FB DE 09 68 00 9C DA E4 : E…m. …`…(#…h…
sending 2nd ip fragment 8-155 ip_payload_len=148 : 45 00 00 A8 6D C5 00 01 80 11 80 0E C0 A8 28 23 A2 9F C1 05 01 00 00 00 49 45 60 B9 E4 E8 62 48 F9 78 E0 3C 3A FE A4 4E 63 7B 9D 50 C9 A3 38 9F CF 17 9E 75 3E DF BE BE E4 6E 0F 18 1E 1C 42 F4 C9 9C 13 32 20 DD A0 F8 4C 0D 49 FC 47 07 B9 45 … : E…m…(#…IE`…bH.x.<:…Nc{.P…8…u>…n…B…2 …L.I.G…E …
packet: id=4 drop
packet: id=5 len=176 outbound IPv6=0 IPChecksum=1 TCPChecksum=1 UDPChecksum=1 IfIdx=19.0
IP4: 192.168.40.35 => 162.159.193.5 proto=udp ttl=128 sport=64478 dport=2408
UDP: 01 00 00 00 A7 36 24 06 CC 37 F7 3F 7F 8A AD EB 0A 1F 83 26 33 76 7F 9C FD A2 FA 9B A1 B8 8F 14 … : …6$…7.?..&3v… …
packet contains wireguard handshake initiation
dpi desync src=192.168.40.35:64478 dst=162.159.193.5:2408
sending 1st ip fragment 0-7 ip_payload_len=8 : 45 00 00 1C 6D C6 20 00 80 11 60 9A C0 A8 28 23 A2 9F C1 05 FB DE 09 68 00 9C 57 31 : E…m. …`…(#…h…W1
sending 2nd ip fragment 8-155 ip_payload_len=148 : 45 00 00 A8 6D C6 00 01 80 11 80 0D C0 A8 28 23 A2 9F C1 05 01 00 00 00 A7 36 24 06 CC 37 F7 3F 7F 8A AD EB 0A 1F 83 26 33 76 7F 9C FD A2 FA 9B A1 B8 8F 14 82 7F FF CB 6D E3 C4 22 F6 54 11 4D A0 6D 3B B3 A1 05 FE 90 22 AA 47 35 48 AB 10 85 … : E…m…(#…6$…7.?..&3v…m…“.T.M.m;…”.G5H… …
packet: id=5 drop
packet: id=6 len=176 outbound IPv6=0 IPChecksum=1 TCPChecksum=1 UDPChecksum=1 IfIdx=19.0
IP4: 192.168.40.35 => 162.159.193.5 proto=udp ttl=128 sport=64478 dport=2408
UDP: 01 00 00 00 D5 E1 E2 6A 1B D6 EA E7 4F 86 79 9D 6C 47 41 87 77 64 6B F6 B5 E5 60 EF BB 6E FD C5 … : …j…O.y.lGA.wdk…`…n… …
packet contains wireguard handshake initiation
dpi desync src=192.168.40.35:64478 dst=162.159.193.5:2408
sending 1st ip fragment 0-7 ip_payload_len=8 : 45 00 00 1C 6D C7 20 00 80 11 60 99 C0 A8 28 23 A2 9F C1 05 FB DE 09 68 00 9C B9 BB : E…m. …`…(#…h…
sending 2nd ip fragment 8-155 ip_payload_len=148 : 45 00 00 A8 6D C7 00 01 80 11 80 0C C0 A8 28 23 A2 9F C1 05 01 00 00 00 D5 E1 E2 6A 1B D6 EA E7 4F 86 79 9D 6C 47 41 87 77 64 6B F6 B5 E5 60 EF BB 6E FD C5 33 19 4D 93 93 86 DF 12 5D EE 13 3C DC E5 61 A7 41 69 81 39 C0 22 12 C5 A3 24 EB C9 … : E…m…(#…j…O.y.lGA.wdk…`…n…3.M…]…<…a.Ai.9."…$… …
packet: id=6 drop

Не работает выходит. drop это нормально. дропнутый пакет заменяется собственными отсылаемыми фрагментами. Но они фильтруются. Значит не взлетело.
Идет периодическая отсылка запроса wireguard без ответа.
Порт 500 стремноват немного. Он используется IKE. Если возможно лучше бы заменить порт на другой. Хоть на 443.
Но скорее всего IP warp в бане, либо если они прыгающие, применена тактика усиленной блокировки (любое подозрительное убиваем, используем более сложные методы обнаружения, stateless режим) на диапазоне IP. Возможно, с фильтром по порту

но сайт с включенным kyber открывается

На kyber идет фрагментация на уровне application protocol, а ipfrag - фрагментация на уровне IP.

тогда почему дропаются на моих настройка которые на роутере прекрасно работают а на виндоусе дропают