Обход блокировки сайтов Linux

Обход блокировки сайтов Linux

Обход блокировки сайтов на Linux

В данной статье я расскажу как настроить обход блокировки сайтов в Linux на примере Ubuntu 22.04. Для обхода блокировки будет использоваться утилита zapret. Как настроить обход для Windows я рассказал в этой статье.

zapret v.48
Автономное, без задействования сторонних серверов, средство противодействия DPI. Может помочь обойти блокировки или замедление сайтов http(s), сигнатурный анализ tcp и udp протоколов, например с целью блокировки VPN.

Первым делом необходимо установить пакеты git и curl если они у вас не установлены.

apt install git curl

Далее делаем клон репозитория bol-van/zapret

git clone https://github.com/bol-van/zapret.git

Переходим в каталог zapret и устанавливаем бинарники

cd zapret/
./install_bin.sh 

В ответ должны увидеть такой ответ:

x86_64 is OK
installing binaries ...
linking : ../binaries/x86_64/ip2net => /home/adm1/zapret/ip2net
linking : ../binaries/x86_64/mdig => /home/adm1/zapret/mdig
linking : ../binaries/x86_64/nfqws => /home/adm1/zapret/nfq
linking : ../binaries/x86_64/tpws => /home/adm1/zapret/tpws

Теперь нам нужно определить какой способ обхода блокировки нам подходит. Для этого пишем:

./blockcheck.sh | tee /tmp/blockcheck.txt

Далее нам будут заданы несколько вопросов:

specify domain(s) to test. multiple domains are space separated.
domain(s) (default: rutracker.org) :

Домен(ы) для тестирования методов обхода блокировки. Я указал rutracker.org и nnmclub.to

ip protocol version(s) — 4, 6 or 46 for both (default: 4) :
Версия протокола IP. У меня 4.

check http (default : Y) (Y/N) ?
Проверять ли доступность сайта по протоколу HTTP. Говорим да.

check https tls 1.2 (default : Y) (Y/N) ?
Проверять ли доступность сайта по протоколу HTTPS с TLS v1.2. Тоже да.

check https tls 1.3 (default : N) (Y/N) ?
Тоже самое, что и предыдущее только для TLS версии 1.3. Я оставил по умолчанию, т. е. нет.

do not verify server certificate (default : N) (Y/N) ?
Проверять ли SSL сертификат? Тоже оставляем по умолчанию, нет.

how many times to repeat each test (default: 1)
Сколько раз нужно повторять тест. Я оставил по умолчанию.

do all tests despite of result ? (default : N) (Y/N) ?
Делать все тесты несмотря на результат. По умолчанию.

После этого пойдет тестирование. После завершения тестирования смотрим файл /tmp/blockcheck.txt и ищем в нем !!!!! AVAILABLE !!!!!. Это и будет наш обход блокировки сайтов в linux. Их может быть несколько. У меня на Ростелеком это:

- checking tpws --hostcase
!!!!! AVAILABLE !!!!!
- checking tpws --hostspell=hoSt
!!!!! AVAILABLE !!!!!
- checking tpws --split-http-req=method
!!!!! AVAILABLE !!!!!
- checking tpws --split-http-req=method --hostcase
!!!!! AVAILABLE !!!!!
- checking tpws --split-http-req=host
!!!!! AVAILABLE !!!!!
- checking tpws --split-http-req=host --hostcase
!!!!! AVAILABLE !!!!!
- checking tpws --hostdot
!!!!! AVAILABLE !!!!!
- checking tpws --hosttab
!!!!! AVAILABLE !!!!!
- checking tpws --hostnospace
!!!!! AVAILABLE !!!!!
- checking tpws --methodspace
!!!!! AVAILABLE !!!!!
- checking tpws --methodeol
!!!!! AVAILABLE !!!!!
- checking tpws --unixeol
!!!!! AVAILABLE !!!!!
- checking tpws --hostpad=1024
!!!!! AVAILABLE !!!!!
- checking tpws --hostpad=2048
!!!!! AVAILABLE !!!!!
- checking tpws --hostpad=4096
!!!!! AVAILABLE !!!!!
- checking tpws --hostpad=8192
!!!!! AVAILABLE !!!!!
- checking tpws --hostpad=16384
!!!!! AVAILABLE !!!!!

Запускаем скрипт install_easy.sh

./install_easy.sh

Далее нам также будут заданы несколько вопростов:

easy install is supported only from default location : /opt/zapret
currently its run from /home/adm1/zapret
do you want the installer to copy it for you (default : N) (Y/N) ?

Отвечаем да.

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

Какой фаервол используется. У меня iptables.

enable ipv6 support (default : N) (Y/N) ?
Использование протокола IPv6. Оставляем по умолчанию, нет.

select MODE :
1 : tpws
2 : tpws-socks
3 : nfqws
4 : filter
5 : custom
your choice (default : tpws) :

Режим обхода блокировки. Опираемся на результаты проверки. У меня это tpws.

TPWS_OPT=»—hostspell=HOST —split-http-req=method —split-pos=3″
do you want to edit the options (default : N) (Y/N) ?

Хотим ли мы изменить параметры для режима. Также опираемся на результаты проверки. Я поменял на —hostspell=hoSt.

LAN interface :
1 : NONE
2 : enp0s3
3 : lo
your choice (default : NONE) :

Так как мы настраиваем на клиенте, то выбираем вариант NONE.

WAN filtering works only for local outgoing traffic !
WAN interface :
1 : ANY
2 : enp0s3
3 : lo
your choice (default : ANY) :

На каком WAN интерфейсе будет работать фильтрация. Можно оставить по умолчанию.

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

Поддержка http. Да.

enable https support (default : Y) (Y/N) ?
Поддержка https. Да.

select filtering :
1 : none
2 : ipset
3 : hostlist
your choice (default : none) :

Оставляем по умолчанию.

Перезапускаем демона:

service zapret restart

И проверяем доступность сайта. Если сайт не открывается или сломались другие сайты, то пробуйте другие параметры.

Заблокированный сайт открылся
Заблокированный сайт открылся

На этом все, спасибо за внимание! 🙂




Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *