Разбор: почему DPI блокирует VPN и как Reality обходит это технически

regsc

Проверен
24.07.26
5
Проверенный
0
Всем привет! Раз тут раздел про гайды и IT — разберу техническую сторону того, как сейчас устроена борьба VPN vs DPI, без воды.

Как DPI вообще детектит VPN

DPI не видит содержимое зашифрованного трафика — только форму хендшейка: домен назначения, сертификат, поведение сессии. Обычный VPN (WireGuard/OpenVPN поверх своего TLS) выдаёт себя именно формой: домен не совпадает ни с чем известным, сертификат самоподписанный или только что выпущен, паттерн трафика характерный для туннеля. Этого достаточно для блокировки по паттерну, без анализа контента — самый дешёвый способ для DPI резать VPN массово.

Как Reality это обходит

VLESS + XTLS Reality вместо своего сертификата использует хендшейк настоящего популярного сайта — домен, сертификат, поведение сессии полностью совпадают с обычным заходом на этот сайт. Ключ для настоящего туннеля проверяется уже после этого внешне обычного хендшейка. Снаружи — неотличимо от реального HTTPS к этому сайту.

Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки или изображения.
Практические грабли (на реальном опыте):
— Fingerprint клиента важен: chrome в некоторых версиях ловит DPI-блокировку из-за post-quantum расширения в ClientHello, которого настоящие браузеры ещё массово не шлют. firefox стабильнее
— У Reality жёсткий лимит ~8192 байт на TLS Certificate record сайта-прикрытия — если сертификат разрастётся при ротации у самого сайта, хендшейк массово ломается у всех клиентов разом
— Резервный протокол на UDP (Hysteria2) нужен на случай, если именно TCP-путь где-то заблокируют

Умный роутинг — отдельная тема

Если делать сплит-роутинг (локальные сайты — напрямую, остальное — через VPN), не стоит завязываться на geoip-базы на устройстве клиента — часть приложений просто падает на таком правиле. Надёжнее — явные routing.rules прямо в шаблоне конфига, который получает клиент.

Собрали всё это на практике в своём сервисе (
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки или изображения.
, VPN-бот в Telegram) — если кому-то интересны детали конкретных решений или грабли, которые не поместились сюда — спрашивайте в теме, отвечу.
 
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки или изображения.
День добрый, очень интересная и актуальная сейчас тема. Стало интересно насколько сейчас в целом актуально ставить Hysteria2 как селфхост, и какие риски у него попасть под DPI?
 
Актуально, но как резервный протокол, не основной — хорош как UDP-альтернатива, если TCP-путь где-то заблокируют.

Главный риск по DPI — самоподписанный сертификат, который клиент пиннит напрямую. Активное зондирование может его вычислить, потому что почти никакой легитимный сайт так не работает. Обязательно юзайте masquerade (маскировка порта под реальный сайт), и не делайте Hysteria2 единственным протоколом — держите его рядом с Reality как фолбэк, а не замену.
 
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки или изображения.
Актуально, но как резервный протокол, не основной — хорош как UDP-альтернатива, если TCP-путь где-то заблокируют.

Главный риск по DPI — самоподписанный сертификат, который клиент пиннит напрямую. Активное зондирование может его вычислить, потому что почти никакой легитимный сайт так не работает. Обязательно юзайте masquerade (маскировка порта под реальный сайт), и не делайте Hysteria2 единственным протоколом — держите его рядом с Reality как фолбэк, а не замену.
Чисто технически, можно ли хостить, ну, например, ускоритель игр только на UDP протоколе, т.к. слышал что TCP для игр конкретно не нужен (беру в пример Cloudflare Warp)
 
Да, чисто UDP-ретранслятор сделать можно — сама механика туннелирования (шифрование, инкапсуляция пакетов) прекрасно работает на UDP, и большинство игр действительно гоняют геймплейный трафик (позиции, действия) именно по UDP, потому что там важна скорость, а не гарантия доставки — потери пакетов игра сама компенсирует предсказанием.

Но важный нюанс про WARP: он не «UDP-only» в смысле «пропускает только UDP-трафик». WARP работает на WireGuard, а это протокол, у которого транспорт (сам туннель наружу) — UDP, но внутри этого UDP-туннеля прекрасно инкапсулируется абсолютно любой трафик, включая TCP. То есть WARP реально ускоряет и TCP тоже — просто оборачивает его в UDP-пакеты снаружи.

Если сделать акселератор, который буквально отказывается проксировать TCP-соединения (а не просто заворачивает их в UDP-транспорт) — он ускорит геймплей, но сломает логин, матчмейкинг, подгрузку патчей и часть античитов (EAC/BattlEye нередко требуют TCP-хендшейк) — они у большинства игр всё ещё на TCP. Поэтому все рабочие ускорители (тот же WARP, ExitLag, Mudfish) технически «UDP-транспорт снаружи», но обслуживают оба протокола внутри, а не режут TCP целиком.
 

Правила

  1. Все сделки — только через Гарант 0nixSecure
  2. Спам и деанон — бан навсегда
  3. Соблюдайте OpSec
  4. Запрещены дубли аккаунтов (мульти-аккаунты)
  5. Контент только по тематике форума
Назад
Верх