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

Здравствуйте! Помогите настроить zapret на openwrt с nftables для обхода замедления ютуб. Установил его с помощью install_easy:

  • firewall type : nftables
  • ipv6 support: No
  • MODE : nfqws
  • NFQWS_OPT_DESYNC=“–dpi-desync=split2 --dpi-desync-split-pos=1” (остальные пустые)
  • http suppport: No
  • https support: Yes
  • quic: No
  • filtering : hostlist
  • flow offloading : donttouch

Чтобы проверять отключил службу и запускаю вручную с --debug=1 но в выводе ничего нет, и я так понимаю что у меня вся проблема в том что роутер с openwrt используется в качестве точки доступа и подключен одним проводом в LAN порт, а в nftables в таблице zapret wanif и lanif - оба br-lan. По факту так и есть, и вход и выход в br-lan, но так не работает. Пробовал сносить все правила и добавлять все тоже самое но с lan - phy1-ap0(wifi) и wan eth0 - все равно в дебаге ничего нет. Подскажите, пожалуйста, что можно сделать?

Точка доступа - обычно это bridge. L2 соединение, а не L3.
iptables/nftables для zapret работают на уровне L3. Они не могут работать с bridge.
Чтобы они заработали, надо сделать routed конфигурацию (L3).
Сделайте отдельный bridge для wifi, если несколько SSID, иначе не надо делать.
Отдельный интерфейс для WAN. Настройте между ними маршрутизацию по IP.
На шлюзе тоже придется прописать статический маршрут до подсети wifi.

Например
inet - GW (192.168.1.1/24) - AP (192.168.1.2/24, 192.168.2.1/24)
На GW прописываем статик роуте 192.168.2.0/24 со шлюзом AP 192.168.1.2
Если надо , чтобы клиенты из 192.168.1.1/24 могли работать с wifi клиентами , можно использовать dhcp options с route

config dhcp 'lan'
  option interface 'lan'
  ....
  list dhcp_option '121,192.168.2.0/24,192.168.1.2'
  list dhcp_option '249,192.168.2.0/24,192.168.1.2'

Для упрощения или если на GW доступа нет можно использовать NAT. Но это не лучший варик.

Если надо ipv6 - с этим чуть посложнее. Зависит от того, как раздаются ip адреса - slaac или dhcpv6.
Если slaac, то надо, чтобы оба роутера выдавали в сеть router advertisement. точка доступа - только на свою подсеть без default route. С odhcpd это может не получиться. Может потребоваться использовать radvd. windows клиенты это подхватят, а в linux потребуется на каждом клиенте делать еще sysctl : sysctl -w net.ipv6.conf.$IFACE.accept_ra_rt_info_max_plen=64

У меня именно такая конфигурация дома, так что если что - пишите в личку, вопрос это не по теме zapret

Или если по уму - надо ставить запрет на сам GW. Если есть такая возможность. Тогда и выкрутасов не понадобится

Понял, спасибо, ipv6 не нужен, буду пробовать как то на l3 переделать.

Не получилось у меня установить запрет на flint ax1800. Выдает ошибку: * opkg_install_cmd: Cannot install package iptables-mod-nfqueue.
could not install prerequisites
Попробовал добавить несколько репозиториев, но в поиске все равно не появляется “iptables-mod-nfqueue.”

В toh openwrt нет такого устройства.
Чьи-то само-собиралки ? В самопалах часто отсутствует репозитории, модули ядра, так что неудивительно. К тому же явно какая-то старая версия, раз iptables используются.
Где-то найденный файлик на форумах. Репозитории могли давно протухнуть.
Или это вообще не openwrt, а мерлин какой-нибудь ?
Или даже отсебятина от производителя пре-инсталлед ? Тогда там наверняка все протухло

Это не совсем чистый openwrt, да.
Но может этот пакет
с iptables тут такая ситуация. Не знаю может я просто не нашел правильный репозиторий где есть пакет iptables-mod-nfqueue.

Накатывать левые репозитории на систему = почти наверняка ее портить
Если даже каким-то чудом оно встанет, то оно никак не компенсирует отсутствие совместимых модулей ядра. Если их нет, это все

Да это продукция китайской фирмы GL-inet. У них OpenWRT из коробки идёт.
А коли ручки китайцев взялись, то на выходе получаем - Г.

У них явно magic у модулей ядра не совпадает с официальными релизными сборками OpenWRT.
А в из офф репозитория нету способа собрать прошивку для устройств на чипах qcom ipq6000.

Вот так всё плохо. Проще поменять роутер.

Можно похимичить с tpws в ручном режиме без скриптов.
Он ничего дополнительного не требует
Для ютубе точно хватит

blockcheck.sh поддерживает ли тест не заблокированных, но замедляемых доменов вроде googlevideo?
Пытался на линуксе протестить rr2---sn-hgn7rn7r.googlevideo.com, говорит доступно без байпаса и на этом останавливается, но замедление вроде есть.

rr2---sn-q4fl6nss.googlevideo.com начал тестировать, но там почему-то с таймаута началось. Видимо поэтому и начал, т.к. первичную проверку доступности не прошёл.

iptables, IPv4, http N, остальное дефолт

Не поддерживает

А можно ли принудительно заставить bloсkcheck.sh подбирать параметры для домена, если домен доступен?

Да, режим force при выборе quick/standard/force.
Но это не поможет протестировать замедление

А нужно ли поднимать два процесса под tcp и udp отдельно или можно обойтись одним?

Зависит от стратегии. Если они сочетаемы - да, иначе - нет
–dpi-desync=split2
–dpi-desync=fake

сочесть нельзя без дополнительных параметров, ограничивающих fake на tcp. и это не должен быть TTL
можно так сделать : winws --wf-tcp=443 --wf-udp=443 --dpi-desync=fake,split2 --dpi-desync-fooling=badsum
на *nix перенаправить udp 443 и tcp 443 на одну очередь/divert port
но этот пример каксается только замедления ютуба без обхода блокировок

в целом multi-instance это нормальное явление в zapret. так и задумано

23 posts were split to a new topic: Подписи драйверов Windows 7 x64

Приветствую! Подскажите, если я запускаю zapret с дебагом и вижу что он обрабатывает пакеты - значить обход должен работать? Я его поставил ради Ютуба на ТВ, вижу что он вроде бы работает но поведение на ТВ какое-то странное, то играет видео в любом качестве, то другое видео уже не играет. Но самое частое: включаешь видео и через ± две минуты останавливается и приходится перезапускать проигрывание возвращаясь назад и включать по новой. Иногда можно качество поменьше выбрать и заиграет снова, но чаще это не помогает. zapret поднят на роутере с опенврт. Опенврт был настроен точкой доступа(кабель с инетом включен в lan, lan в бридже с wifi, dhcp отключен). Добавил второй бридж с другим wifi и с другой адресацией и dhcp сервером, телек подключен к нему по wifi. Второй бридж ходит в инет через первый получается. Zapret пробовал и со split2 и disorder2, split-pos 1 и 2. Во всех сочетаниях вижу что запрет пакеты обрабатывает но Ютуб скорее не работает чем работает… Подскажите что можно покрутить или какие логи приложить чтобы прояснить ситуацию.

Тот факт, что пакеты поступают на nfqws, говорит лишь о том, что они туда поступают, и ни о чем больше.
Если стратегия не работает, то и обход не будет работать.
Необходимы curl тесты, которые приведены тут : Обход замедления youtube в России · bol-van/zapret · Discussion #200 · GitHub

А я думал что тспу везде один и тот же и детектит и замедляет Ютуб везде одинаково и стратегия должна работать что и у всех… Провел тесты curl’oм - замедления как будто нет вообще, файл скачивается всегда на около тарифной скорости. В лисе на ПК все ок, и с quic и без него, на андроид приложение тоже все ок. Проверял все без обходов, а вот на двух разных телевизорах lg с webos приложение Ютуб так толком и не работает со вчерашнего дня(

Хотел отредактировать сообщение, а сделал дубликат