Обходим блокировку VPN

в 17:20, , рубрики: vpn, блокировка, замедление, провайдер, Роскомнадзор

Мой провайдер помимо замедления (читай полная блокировка) YouTube так-же стали блокировать соединения с моими рабочими VPN. Работодатель не очень любит, когда на встречах на вопрос о прогрессе, я неделю отвечаю, что у меня не работает 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.

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

Автор: greg_fat

Источник

  1. Алексей:

    Не работает

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js