MyTetra Share
Делитесь знаниями!
Как в Linux разблокировать сайт, который попал под блокировку Роскомнадзора
Время создания: 01.09.2020 09:31
Текстовые метки: linux, блокировка, разблокировка, роскомназдор, iptables
Раздел: Компьютер - Linux - Сеть в Linux

Когда Роскомнадзор блокирует сайты по IP, под блокировку могут попасть и другие, непричастные сайты, которые находятся на том же хосте у провайдера хостинг-услуг. Такое, например, изредка случается с GitHub, если на его же IP-шниках крутится какое-нибудь американское казино.


Для доступа к таким незаконно заблокированным сайтам проще всего использовать VPN. Но если VPN нет, то можно попытаться получить доступ напрямую. Все внешние сайты в России доступны по линиям, контролируемым Ростелекомом, поэтому действия по доступу к заблокированным внешним сайтам для любого внутреннего российского провайдера услуг Интернет будут одинаковыми.


По информации на 2016 год, Ростелеком использует пассивный DPI, т.е. он подключен параллельно, вероятно, пассивным оптическим сплиттером, из-за чего он не может перехватывать отправляемый пакет как таковой, а может только подделать ответ от имени веб-сайта, который перенаправит на страницу-заглушку. Также DPI отправляет перенаправление только с TCP-флагом ACK, хотя обычно используются флаги PSH, ACK. Размер TCP-заголовка тоже всегда равен 20 байтам. Зная эту информацию, для раблокировки сайта у себя на Linux-компьютере, можно написать следующие правила:



# iptables -t raw -A PREROUTING -p tcp --sport 80 -m u32 --u32 "0x1E&0xFFFF=0x5010 && 0x60=0x7761726e && 0x64=0x696e672e && 0x68=0x72742e72" -m comment --comment "Rostelecom HTTP" -j DROP


# iptables -t raw -A PREROUTING -p tcp --sport 443 -m u32 --u32 "4=0x00000000&&0x20=0x50140000" -m comment --comment "Rostelecom HTTPS" -j DROP



Правило iptables для HTTP проверяет TCP-флаги в пакете, пришедшем с 80 порта, его размер, и ищет строку «warning.rt.r» внутри пакета по заданному смещению (строка задается в 16-тиричном виде). Если все совпадает, то отбрасываем этот пакет, и получаем настоящий пакет от сайта.

Для HTTPS, ростелекомовский DPI присылает Reset-пакет (флаги RST, ACK) с нулевым значением TCP-окна и нулями в IP Identification, flags и fragment offset. Такого в реальной жизни не случается, и мы можем отбрасывать все такие пакеты.


Информация взята из обсуждения на Habrahabr: https://habr.com/ru/post/356052/


Так же в этом разделе:
 
MyTetra Share v.0.53
Яндекс индекс цитирования