Мой провайдер помимо замедления YouTube так же стал блокировать соединения с моими рабочими VPN. Сразу скажу, обходной путь придумал не сам, мне его подсказал автор проекта zapret, а точнее его комментарий, более того, ныне я его использую, чтоб смотреть нормально YouTube.
— Стоит добавить, что nftables и nfqws работает у меня, но это не значит, что заработает и у вас! Возможно, вам придётся изменить некоторые параметры. (очень внимательно читаем комментарий по ссылке выше и штудируем, как портировать правила iptables в nftables.)
$ iptables-translate -A OUTPUT -t mangle -o wlan0 -p udp --dport 443 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 220 --queue-bypass
И получилось:
$ nft 'add rule ip mangle OUTPUT oifname "wlan0" udp dport 443 mark and 0x40000000 != 0x40000000 counter queue num 220 bypass'
wlan0 — интерфейс, через который мы ходим в сеть, 443 — порт подключения к VPN сервису, и меняем OUTPUT на output:
$ nft 'add rule ip mangle output oifname "wlan0" udp dport { 443, 18189 } mark and 0x40000000 != 0x40000000 counter queue num 220 bypass' (у меня два VPN коннекта, отсюда и два порта)
🖥 Перед запуском, проверяем, что у нас есть таблица ip mangle:
$ nft list tables
В случае, если нет создаём её и цепочку output:
$ nft add table ip mangle
$ nft 'add chain ip mangle output { type filter hook output priority 0 ; }'Смотрим, что всё создалось:
$ nft -a list table ip mangle теперь запускаем строку с добавлением нового правила и снова проверяем, что внутри таблицы, и последнее, запускаем демон, который маскирует пакеты отправленные на требуемые порты: $ /opt/zapret/nfq/nfqws --uid 2 --qnum=220 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d2 --dpi-desync-repeats=10 --dpi-desync-ttl=5 --daemon
❗️ Обратите внимание, значение ttl у вас может отличаться. Своё я подглядел через ps aux | grep nfqws, которое стоит в демоне от zapret.
#VPN #РКН