Почему VPN не единственный способ обойти блокировку
Когда сайт блокируется, большинство пользователей сразу ищут VPN-приложение. Однако VPN — не единственный и не всегда самый удобный инструмент. Блокировки работают на разных уровнях: DNS-запросы, IP-адреса, SNI-поле в TLS-соединении, HTTP-заголовки. Если понять, какой уровень фильтруется, можно обойти ограничение точечно, не шифруя весь трафик и не теряя скорость.
Например, при DNS-блокировке достаточно сменить DNS-сервер или включить DNS over HTTPS. При блокировке по SNI помогают методы фрагментации пакетов. А если блокировка по IP, можно использовать зеркала или SSH-туннель. VPN решает все эти задачи разом, но часто требует установки, настройки и может быть заблокирован сам. Локальные методы, описанные ниже, работают на устройстве пользователя и не требуют внешних серверов, что делает их привлекательной альтернативой.
Как работает DPI и почему его можно обмануть
Deep Packet Inspection (DPI) — технология, которая анализирует содержимое пакетов, а не только заголовки. В России для блокировок используется ТСПУ (технические средства противодействия угрозам), которые устанавливаются на сетях провайдеров. ТСПУ проверяет первые пакеты TLS-соединения, где передаётся SNI — имя сайта в открытом виде. Если домен в списке запрещённых, соединение сбрасывается.
Однако у DPI есть слабые места. Во-первых, он не может склеивать фрагментированные пакеты на лету. Во-вторых, он часто анализирует только первый пакет, игнорируя последующие. В-третьих, можно использовать TTL-игры, чтобы поддельный пакет дошёл до DPI, но не до сервера. Эти принципы лежат в основе многих инструментов обхода, которые работают локально, без VPN.
Фрагментация пакетов: разрыв SNI
Фрагментация — один из самых эффективных способов обмана DPI. Идея в том, чтобы разбить первый TLS-пакет на несколько маленьких фрагментов так, чтобы имя домена в SNI оказалось разорванным. Например, вместо «instagram.com» отправляется «instag» и «ram.com». DPI не видит целого домена и пропускает трафик, а сервер на другом конце собирает фрагменты обратно — для него это штатная работа TCP-стека.
Инструменты, использующие фрагментацию, называются ByeDPI, zapret2, youtubeUnblock. Они работают как локальные прокси: браузер или приложение подключается к ним, а они уже фрагментируют трафик. Настройка обычно сводится к выбору стратегии (например, split или tlsrec). Важно понимать, что фрагментация не шифрует трафик, а только маскирует SNI, поэтому она не защищает от анализа содержимого, но для обхода блокировок этого достаточно.
Десинхронизация и поддельные пакеты
Десинхронизация — ещё один приём, основанный на том, что DPI анализирует только первый пакет. Перед настоящими данными отправляется поддельный пакет с мусором или случайными данными. DPI обрабатывает его, решает, что соединение чистое, и перестаёт следить за сессией. Настоящий пакет приходит следом и беспрепятственно доходит до сервера.
Чтобы поддельный пакет не вызвал проблем на сервере, в него подставляют невалидные, но безопасные значения (например, случайный SNI или повреждённый заголовок). Сервер просто отбрасывает такой пакет как повреждённый. Этот метод часто комбинируют с TTL-играми: поддельный пакет отправляется с уменьшенным TTL, чтобы он гарантированно не дошёл до сервера, а только до DPI. Такие стратегии реализованы в ByeDPI (параметры disorder, fake, oob) и zapret2.
TTL-игры и подмена полей
TTL (Time to Live) — поле в IP-пакете, которое уменьшается на каждом маршрутизаторе. Если TTL становится нулевым, пакет отбрасывается. Идея TTL-игры: отправить поддельный пакет с TTL, достаточным, чтобы дойти до DPI, но недостаточным, чтобы дойти до сервера. DPI обработает его как настоящий, а реальный пакет с нормальным TTL придёт позже и не будет проверен.
Подмена полей в поддельном пакете (например, random SNI или дублирование session ID) делает его безопасным для сервера, если он всё же дойдёт. Эти методы часто комбинируются: например, в ByeDPI стратегия fake_ttl8 использует поддельный пакет с TTL 8, который обычно достаточен для DPI, но не для удалённого сервера. Такие приёмы эффективны против ТСПУ, но требуют подбора параметров под конкретную сеть.
ECH: шифрование имени сайта
Encrypted Client Hello (ECH) — технология, которая шифрует SNI внутри TLS-соединения. Вместо имени сайта снаружи виден только общий псевдоним, например cloudflare-ech.com, который используется для множества сайтов. Это делает точечную блокировку невозможной: фильтр не знает, какой именно сайт запрашивается.
Однако ECH имеет ограничения. В ноябре 2024 года пользователи в России заметили, что сайты на Cloudflare с включённым ECH перестали открываться. ТСПУ, обнаружив ECH, обрывает соединение. Cloudflare временно отключил TLS 1.3 (что отключает и ECH), и сайты снова стали доступны. Это показывает, что ECH может быть заблокирован грубо, но в целом технология перспективна. Для использования ECH нужен браузер с поддержкой (например, Firefox) и сайт, который его поддерживает.
Практические инструменты: ByeDPI, zapret2, youtubeUnblock
На основе описанных приёмов создано несколько открытых инструментов. ByeDPI — простой локальный SOCKS5-прокси для Windows, Linux и Android. Он поддерживает фрагментацию, десинхронизацию и TTL-игры. zapret2 — преемник старого zapret, с движком на Lua, что позволяет гибко настраивать стратегии. youtubeUnblock — специализированный вариант для YouTube, работает на роутерах с OpenWrt.
Тесты показали, что эти инструменты успешно открывают большинство заблокированных сайтов: Instagram, Facebook, LinkedIn, WhatsApp, Signal, Discord. Однако есть нюансы: Telegram остался заблокированным во всех тестах, а ProtonMail открывался частично. Это связано с тем, что блокировка может быть по IP, а не по SNI. Инструменты требуют подбора стратегии: например, ByeDPI с disorder_tlsrec открывает WhatsApp, но не Meduza, а fake_ttl8 — наоборот. Поэтому важно тестировать разные параметры.
Альтернативные методы: DNS over HTTPS, зеркала, веб-прокси
Если блокировка реализована на уровне DNS, помогает DNS over HTTPS (DoH). DoH шифрует DNS-запросы, и провайдер не может подменить ответ. Включить DoH можно в настройках браузера (Chrome, Firefox) или на уровне системы. Это не маскирует трафик, но решает проблему DNS-блокировок.
Зеркала и альтернативные домены — ещё один простой способ. Владельцы сайтов часто создают копии на других доменах или поддоменах. Если блокировка по домену, зеркало работает. Веб-прокси (например, CroxyProxy) работают как посредники: вы вводите URL на сайте прокси, и он загружает страницу. Это не требует установки, но небезопасно для ввода паролей, так как прокси видит трафик.
Tor, SSH-туннели и IPFS: когда нужна анонимность
Tor Browser направляет трафик через несколько узлов, скрывая IP и обходя блокировки по домену и IP. Однако скорость низкая, и для видеосервисов он не подходит. SSH-туннель с динамическим портом создаёт локальный SOCKS-прокси, через который можно передавать трафик. Для провайдера это выглядит как обычная SSH-сессия. Требуется свой сервер за пределами блокировки.
IPFS — децентрализованная файловая сеть, где контент хранится по хэшам, а не по доменам. Это позволяет обходить блокировки по URL, но подходит только для статического контента. Эти методы требуют технических навыков, но обеспечивают высокий уровень анонимности и устойчивости к цензуре.
Ограничения и риски: что важно знать
Ни один метод не гарантирует 100% доступ. Эффективность зависит от типа блокировки, сети и инструмента. Например, в тестах Telegram не открылся ни одним инструментом, а ProtonMail — только частично. Это связано с тем, что блокировка может быть по IP, а не по SNI.
Также важно помнить о безопасности. Веб-прокси и анонимайзеры могут видеть ваш трафик, поэтому не вводите через них пароли. Tor не защищает от деанонимизации при входе в аккаунты. SSH-туннель требует доверенного сервера. И наконец, обход блокировок может нарушать законодательство, поэтому пользователь несёт ответственность за свои действия.
Вопросы и ответы
Какой самый простой способ обойти блокировку без VPN?
Самый простой способ — использовать DNS over HTTPS (DoH) в браузере. Включите его в настройках Chrome или Firefox, указав Cloudflare (1.1.1.1) или Google (8.8.8.8). Это помогает при DNS-блокировках. Также можно попробовать веб-прокси, например CroxyProxy, но он менее безопасен.
Почему Telegram не открывается даже с инструментами обхода DPI?
В тестах ByeDPI, zapret2 и youtubeUnblock Telegram остался заблокированным. Это связано с тем, что блокировка Telegram, вероятно, реализована на уровне IP-адресов, а не SNI. Инструменты DPI-обхода маскируют SNI, но не меняют IP. Для обхода IP-блокировки нужен SSH-туннель или VPN.
Что такое ECH и почему сайты с ним могут не открываться?
ECH (Encrypted Client Hello) шифрует имя сайта в TLS-соединении, оставляя видимым только общий псевдоним. Это затрудняет точечную блокировку. Однако в ноябре 2024 года ТСПУ начал обрывать все соединения с ECH, что привело к блокировке сайтов на Cloudflare. Cloudflare временно отключил ECH, и доступ восстановился.
Безопасно ли использовать веб-прокси для входа на заблокированные сайты?
Веб-прокси небезопасны для передачи личных данных. Администратор прокси видит весь трафик, включая пароли и платёжные данные. Используйте их только для чтения информации. Для авторизации лучше применять SSH-туннель или VPN с доверенным сервером.
Какой инструмент лучше всего подходит для обхода блокировок на роутере?
Для роутеров с OpenWrt или Entware подходят youtubeUnblock и zapret2. Они работают на уровне netfilter и NFQUEUE, что позволяет обходить блокировки для всех устройств в сети. youtubeUnblock специализирован на YouTube, но может работать с любыми доменами. zapret2 более гибкий благодаря сценариям на Lua.
Можно ли обойти блокировку, просто сменив DNS-сервер?
Да, если блокировка реализована на уровне DNS. Провайдер может подменять ответы на запросы к заблокированным доменам. Использование публичных DNS (8.8.8.8, 1.1.1.1) или DNS over HTTPS решает эту проблему. Однако при блокировке по IP или SNI смена DNS не поможет.
Какие риски связаны с использованием инструментов обхода DPI?
Инструменты обхода DPI не шифруют трафик, поэтому провайдер может видеть содержимое. Они также могут быть заблокированы или перестать работать после обновлений ТСПУ. Кроме того, использование таких инструментов может нарушать законодательство, поэтому пользователь несёт ответственность.