Что такое VLESS, Reality, XTLS Vision и XHTTP: как устроены современные VPN-протоколы

Как провайдер распознаёт VPN, почему обычные WireGuard и OpenVPN стали заметны и что внутри связки Xray + VLESS + Reality. Разбор без команд, чтобы осознанно выбрать схему для своего сервера.

7 октября 2026 г.·7 мин чтения·vless, reality, xray, dpi

В любой инструкции по VPN на своём сервере мелькают VLESS, Reality, XTLS и XHTTP, но объяснения, что это и зачем, обычно нет. Отсюда типичная ситуация: одна и та же схема у соседа работает год, а у вас отваливается через неделю. Ниже — что видит провайдер, по каким признакам он отличает VPN от обычного сайта и как каждый слой современного стека эти признаки убирает. После этого выбор между Marzban, 3X-UI, Amnezia и Outline перестаёт быть гаданием.

Под эту инструкцию подойдёт любой VPS на tanaka.host: серверы в Германии, IPv4 и IPv6 в комплекте, оплата по дням.

Что видит провайдер

Содержимое зашифрованного соединения прочитать нельзя, но вокруг него остаётся много открытого: IP-адрес и порт, транспортный протокол, объём и ритм передачи, а главное — первые байты каждого соединения, которые у большинства протоколов идут в открытом виде. На этом и работают системы фильтрации; в России их называют ТСПУ.

Способы блокировки по возрастанию точности:

Способ Как работает Побочный эффект
По IP или подсети Запрет адреса целиком Задевает всех соседей по хостингу, поэтому применяют точечно
По началу соединения Опознание протокола по первым пакетам, как по почерку Работает на любом порту и любом сервере
По косвенным признакам Большой объём к одному адресу, нетипичный ритм, несоответствие имени сайта и IP По отдельности слабые, в сумме дают уверенную оценку

Вывод, из которого вытекает всё остальное: зашифровать трафик недостаточно. Соединение должно быть неотличимо от того, что блокировать нельзя, потому что на нём держится обычный интернет — например, от открытия сайта по HTTPS.

Почему WireGuard и OpenVPN стали заметны

Оба протокола создавались для защиты данных в чужих сетях, а не для сокрытия самого факта VPN. Шифрование у них надёжное, но рукопожатие — обмен служебными пакетами при подключении — имеет постоянную и документированную структуру. Достаточно один раз описать её в правиле DPI, и дальше такие соединения находятся где угодно.

Первый ответ на это — менять внешний вид известного протокола. Так работает AmneziaWG: криптография WireGuard остаётся, но в рукопожатие добавляется случайный мусор, а служебные заголовки шифруются (подробнее — в статье про Amnezia VPN). Второй ответ — Shadowsocks, на котором построен Outline: соединение зашифровано с первого байта и выглядит как случайный шум.

Но выяснилось, что полное отсутствие структуры — тоже признак. Нормальный трафик почти всегда начинается с узнаваемого заголовка, и поток «без лица» сам по себе подозрителен. Отсюда идея VLESS и Reality: не прятать структуру, а одолжить её у самого массового трафика — HTTPS.

Xray и протокол VLESS

Ядро почти всех современных схем — Xray. Он работает и на сервере, и внутри клиентского приложения и гоняет трафик между ними выбранным способом. Панели Marzban, 3X-UI и Remnawave ничего не передают сами: они только управляют настройками Xray и выдают пользователям ссылки.

VLESS — протокол, по которому клиент и сервер Xray договариваются. Он намеренно примитивен: клиент сообщает свой UUID и адрес назначения, сервер проверяет UUID и начинает пересылку. Маскировки в VLESS нет, и это принципиально — внешний вид соединения задаёт внешний слой (обычно TLS), а VLESS не добавляет к нему ни лишних байтов, ни узнаваемых признаков. В свежих версиях Xray у VLESS появилось собственное шифрование, но в связке с TLS или Reality его оставляют выключенным — в панелях это значение none.

Когда говорят «VLESS Reality» или «VLESS + TLS + XHTTP», речь о трёх независимых уровнях:

Уровень За что отвечает Варианты
Протокол Кто вы и куда идут данные VLESS
Транспорт Как байты упакованы при передаче RAW (бывший TCP), XHTTP
Безопасность Как соединение выглядит для наблюдателя TLS со своим доменом, Reality

Транспорт: RAW и XHTTP

RAW — одно долгое TCP-соединение, как при загрузке страницы. Самый быстрый вариант, и именно он идёт в паре с Reality.

XHTTP режет трафик на множество обычных HTTP-запросов, и со стороны это похоже на сайт, который дёргает своё API. Такие запросы могут проходить через CDN вроде Cloudflare: провайдер видит подключение к адресу CDN, за которым миллионы сайтов, а IP вашего сервера скрыт. XHTTP можно использовать и без CDN — напрямую со своим доменом и настоящим сертификатом.

Слой безопасности: TLS или Reality

Обычный TLS — это ваш домен и сертификат Let’s Encrypt. Соединение выглядит как визит на ваш сайт, и это честная маскировка. Цена — нужен домен, а сервер должен отвечать как настоящий сайт, иначе проверка его выдаст.

Reality решает ту же задачу без домена и сертификата. Каждое TLS-соединение начинается с ClientHello, где открытым текстом стоит имя сайта — поле SNI. Клиент Reality пишет туда имя постороннего реально существующего сайта (его называют целью, dest). Провайдер видит обычное начало подключения к этому сайту.

Хитрость в ответе сервера. Фильтр может сам подключиться к вашему IP и посмотреть, какой сертификат ему предъявят. Если бы сервер Reality отвечал своим, обман вскрылся бы сразу. Поэтому в ClientHello настоящего клиента спрятана метка, вычисленная из публичного ключа сервера и Short ID. Сервер с парным приватным ключом метку узнаёт и дальше ведёт соединение как VPN. Все остальные подключения — проверка провайдера, случайный сканер — он прозрачно пересылает сайту-цели. Проверяющий получает подлинный сертификат и настоящие страницы, потому что фактически общается с этим сайтом через ваш сервер.

Слабое место Reality не в криптографии. Провайдер видит пару «SNI + IP». Если в SNI стоит microsoft.com, а адрес принадлежит небольшому хостингу, сочетание неестественно. Поэтому целью выбирают небольшие сайты, которые сами живут у хостеров, а лучший вариант — маскироваться под собственный сайт на том же сервере (схема self-steal), где имя, адрес и сертификат согласованы полностью.

XTLS Vision и отпечаток браузера

Даже идеальная маскировка может выдать характер содержимого. Почти весь интернет уже под TLS, поэтому внутри туннеля идут HTTPS-соединения — получается «TLS внутри TLS». Размеры первых пакетов такого вложенного рукопожатия образуют узнаваемую последовательность.

Поток XTLS Vision (xtls-rprx-vision) делает две вещи: дополняет первые пакеты до неузнаваемых размеров, а после завершения внутреннего рукопожатия перестаёт шифровать уже зашифрованные данные второй раз. Первое прячет рисунок, второе снимает нагрузку с процессора и ускоряет передачу. Для Reality поверх RAW Vision включают всегда.

Последний элемент — отпечаток TLS (fingerprint, uTLS). Каждый браузер начинает соединение по-своему: свой набор шифров и расширений. По нему можно определить, какой программой создано подключение, и клиент Xray умеет подражать популярным браузерам. Выбор образца тоже влияет на заметность: для серверов, к которым подключаются из России, обычно советуют firefox, а не chrome.

Какую схему выбрать

Задача Что подойдёт
Всё в одном приложении, без терминала Amnezia VPN: AmneziaWG плюс XRay с Reality на одном сервере
VPN для семьи за пять минут Marzban или 3X-UI с VLESS Reality — панель сама выберет сайт-цель
Пользователи, лимиты, подписки 3X-UI
Несколько серверов под одной панелью Remnawave
Есть свой домен, нужна максимальная маскировка Self-steal для Reality
Свой домен, трафик как у обычного сайта VLESS + TLS + XHTTP
Простой VPN по одной ссылке-ключу Outline, но его блокируют чаще
Классика без маскировки, для своих задач WireGuard с wg-easy, OpenVPN

Если подключение перестало работать, не переустанавливайте всё подряд — сначала пройдите по шагам из статьи VPN на своём сервере не подключается: там отличают блокировку адреса от ошибки в настройках.