Запрещаем(обходим) блокировки сайтов с помощью своей GNU/Linux ОС

Запрещаем(обходим) блокировки сайтов с помощью своей GNU/Linux ОС

Сегодня мы научимся заходить на «заблокированные»(это даже звучит смешно) ресурсы без сучка и задоринки. Да, вам даже не понадобятся ни прокси, ни Tor, ни VPN, никакие ssh-тунели. Всего пара команд в консоли и вы на коне ;)

В этом поможет нам утилита iptables.

Первым делом, зайдите на какой либо заблокированный ресурс. Например — rutracker.org
Если у вас происходит редирект на страницу провайдера, где говорится, что ресурс заблокирован, то мы на правильном пути ;) Копируем адрес вида — “warning.providername.ru”, где providername — это ваш провайдер.

Теперь в вашей GNU/Linux системе открываем консоль под root или используем sudo и вводим:

iptables -I INPUT -p tcp --sport 80 -m string --string "Location: http://warning.providername.ru" --algo bm -j DROP

Не забывайте подставить правильный адрес страницы блокировки вашего провайдера.

И последний момент для https, дропаем RST-пакеты, которые обрывают соединение:

iptables -I INPUT -p tcp --sport 443 --tcp-flags RST RST -j DROP

Попробуйте зайти снова на заблокированный ресурс, в нашем случае rutracker.org, и, скорее всего, он откроется без всякой блокировки. Технически, это даже не считается обходом блокировки. Ведь, мы вправе настраивать сетевую работу нашей системы, как нам захочется. И нам никто не может этого запретить. Провайдеры используют подставку пакетов, чтобы перекинуть нас на другой адрес. Мы просто откидываем их перенаправление и продолжаем дальше обмениваться пакетами с «заблокированным» ресурсом.

Может не сработать, если ваш провайдер блокирует доступ иным способом. Может не сработать, если у вас руки не из того места ;) Этот способ, может так же перестать работать в будущем, т.к. вы распространяя эту инфу по сети, подогреваете новые нападки на провайдеров, которых заставят искать более изощрённый способ блокировки(который мы опять же обойдём, ведь блокировать что-то в сети бессмысленно).

Если у вас всё заработало, остался последний штрих. После перезагрузки системы, эти правила iptables слетят. Нам нужно их сохранить и запускать каждый раз при старте системы. В сети есть множество способов, как сделать это. Например, можно так:

Используя root в консоли:

iptables-save > /etc/network/iptables.save

Или если используя sudo, то будет так:

sudo sh -c 'iptables-save -c > /etc/network/iptables.save'

Теперь добавляем в файл /etc/rc.local:

F="/etc/network/iptables.save"test -f "$F" && /sbin/iptables-restore < $F

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

comments powered by Disqus