> Полный список статей есть в [llms.txt](https://docs.f3cloud.com/llms.txt). Markdown-версия есть у каждой страницы, достаточно добавить .md к её адресу. Эта страница в Markdown: [https://docs.f3cloud.com/ru/vpn-guide/vless-reality-overview.md](https://docs.f3cloud.com/ru/vpn-guide/vless-reality-overview.md).

# Что такое VLESS и Reality – как устроены протоколы обхода блокировок

Что такое VLESS и Reality простыми словами. Как провайдеры находят и блокируют VPN, почему OpenVPN и WireGuard стали заметны, как устроены Xray, VLESS, TLS, Reality, XHTTP и XTLS Vision, и какую схему выбрать для своего сервера.

Слова VLESS, Reality, XTLS и XHTTP встречаются почти в каждой инструкции по настройке VPN, но редко объясняется, что за ними стоит и почему одна и та же схема у одних работает годами, а у других перестаёт работать через неделю. В этой статье мы последовательно разберём, как провайдер видит ваше соединение, какие признаки выдают VPN и как современные протоколы эти признаки устраняют. После неё будет понятно, чем отличаются наши инструкции и какую из них выбрать.

***

## Как провайдер находит и блокирует VPN

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

Самый грубый способ блокировки – запрет конкретных IP-адресов или целых подсетей. Он прост, но затрагивает всех, кто размещён по соседству, поэтому его применяют выборочно, например к адресам известных VPN-сервисов или к подсетям популярных хостингов. Более тонкий способ – анализ начала соединения. Почти каждый протокол открывает сеанс характерным сообщением, и по нему систему можно опознать так же уверенно, как человека по почерку. Наконец, существуют косвенные признаки, такие как необычный объём трафика к одному адресу, нехарактерный для обычного сайта ритм обмена или несоответствие имени сайта и адреса сервера. По отдельности они мало что доказывают, но в сочетании позволяют системе принять решение с высокой уверенностью.

Отсюда следует главный принцип, на котором построено всё дальнейшее. Чтобы соединение не блокировали, недостаточно его зашифровать. Нужно, чтобы оно было неотличимо от соединений, которые блокировать нельзя, потому что от них зависит работа обычного интернета.

***

## Почему классические VPN стали заметны

OpenVPN и WireGuard проектировались для защиты данных в недоверенных сетях, а не для скрытия самого факта подключения. Их шифрование надёжно, но рукопожатие, то есть обмен служебными сообщениями при установке соединения, имеет постоянную и хорошо описанную структуру. Системе фильтрации достаточно один раз научиться распознавать это начало, чтобы находить такие соединения на любом сервере и любом порту. Именно поэтому обычный WireGuard многие провайдеры научились блокировать.

Первым ответом стали протоколы, которые меняют внешний вид известных решений. AmneziaWG, например, сохраняет надёжную основу WireGuard, но добавляет в рукопожатие случайный мусор и меняет служебные заголовки, так что знакомый почерк исчезает. Об этом подходе рассказано в статье про [Amnezia VPN](https://docs.f3cloud.com/ru/vpn-guide/setup-amnezia.md). Другим ответом стал Shadowsocks, на котором работает [Outline](https://docs.f3cloud.com/ru/vpn-guide/outline-vpn.md). Он шифрует соединение с первого байта, и его содержимое выглядит как случайный поток данных. Однако со временем выяснилось, что полное отсутствие структуры тоже является признаком, ведь обычный интернет-трафик почти всегда начинается с узнаваемого заголовка. Так возникла идея, которая лежит в основе VLESS и Reality. Вместо того чтобы прятать структуру, нужно позаимствовать её у самого распространённого и неприкосновенного вида трафика, у обычного открытия сайта по HTTPS.

***

## Xray и протокол VLESS

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

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

Таким образом, когда говорят «VLESS Reality» или «VLESS + TLS + XHTTP», имеют в виду три независимых уровня. VLESS отвечает за то, кто вы и куда идут данные. Транспорт определяет, как именно байты упаковываются при передаче. Слой безопасности определяет, как соединение выглядит для постороннего наблюдателя.

***

## Транспорт и защита соединения

Простейший транспорт называется RAW, в старых версиях он назывался TCP. Данные идут по одному долгому TCP-соединению, как при обычной загрузке страницы. Это самый быстрый вариант, и именно он используется вместе с Reality. Транспорт **XHTTP** устроен сложнее. Он разбивает трафик на множество обычных HTTP-запросов, и со стороны это похоже на работу сайта, который загружает данные через API. Кроме того, такие запросы в принципе могут проходить через CDN, например Cloudflare. Тогда провайдер видит подключение к адресу CDN, через который работают миллионы сайтов, а адрес вашего сервера остаётся скрытым. В нашей статье про [VLESS + TLS + XHTTP](https://docs.f3cloud.com/ru/vpn-guide/setup-vless-xhttp.md) XHTTP работает без CDN, напрямую с вашим доменом и настоящим сертификатом.

Слой безопасности бывает двух основных видов. Первый – обычный TLS с вашим собственным доменом и настоящим сертификатом Let's Encrypt. Соединение выглядит как посещение вашего сайта, и это честная маскировка, но для неё нужен домен, а сервер должен отвечать как настоящий сайт. Второй вариант – Reality, которому посвящён следующий раздел.

***

## Как работает Reality

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

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

У этой схемы есть уязвимое место, и оно не в криптографии. Провайдер видит одновременно имя сайта и IP-адрес, на который ушло соединение. Если в SNI указан крупный сайт вроде microsoft.com, а адрес принадлежит небольшому хостингу, сочетание выглядит неестественно. Поэтому для цели выбирают небольшие сайты, которые сами размещены у хостинг-провайдеров, а самый надёжный вариант – маскироваться под собственный сайт на том же сервере. Эта схема называется [self-steal](https://docs.f3cloud.com/ru/vpn-guide/reality-self-steal.md), и в ней имя, адрес и сертификат полностью согласованы между собой.

***

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

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

Последний элемент – отпечаток TLS. Браузеры начинают соединение каждый по-своему, с характерным набором шифров и расширений, и по этому набору можно определить, какой программой создано подключение. Приложения на Xray умеют подражать распространённым браузерам, а нужный образец задаётся параметром fingerprint, или uTLS. Выбор образца тоже влияет на заметность. Почему для серверов в России мы советуем `firefox`, а не `chrome`, объясняется в статье про [Marzban](https://docs.f3cloud.com/ru/vpn-guide/marzban-ustanovka-vpn.md#otpechatok-tls-fingerprint).

***

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

Все перечисленные механизмы можно собрать по-разному, и наши инструкции отличаются именно тем, сколько работы вы готовы сделать сами и какую устойчивость хотите получить.

| Задача | Что подойдёт |
| --- | --- |
| VPN для себя и семьи за 5 минут, без настроек | [Marzban нашим скриптом](https://docs.f3cloud.com/ru/vpn-guide/marzban-ustanovka-vpn.md), VLESS Reality с выбором сайта автоматически |
| Удобная панель с пользователями, лимитами и подписками | [3X-UI](https://docs.f3cloud.com/ru/vpn-guide/3x-ui-rukovodstvo-po-ustanovke-i-ispolzovaniyu-paneli.md) |
| Несколько серверов под одной панелью | [Remnawave](https://docs.f3cloud.com/ru/vpn-guide/remnawave-ustanovka-na-vps.md) |
| Максимальная маскировка, есть свой домен | [Self-steal для Reality](https://docs.f3cloud.com/ru/vpn-guide/reality-self-steal.md) |
| Свой домен и соединение, похожее на работу обычного сайта | [VLESS + TLS + XHTTP](https://docs.f3cloud.com/ru/vpn-guide/setup-vless-xhttp.md) |
| Всё в одном приложении, без командной строки | [Amnezia VPN](https://docs.f3cloud.com/ru/vpn-guide/setup-amnezia.md) |
| Простой VPN по одной ссылке-ключу | [Outline](https://docs.f3cloud.com/ru/vpn-guide/outline-vpn.md), но его чаще блокируют |

Если подключение всё же перестало работать, причину помогает найти статья [«VPN на своём сервере не подключается»](https://docs.f3cloud.com/ru/vpn-guide/vpn-not-connecting.md). В ней по шагам разобрано, как отличить блокировку сервера от ошибки в настройках.

***

## Наши ресурсы

**Telegram-канал:** [https://t.me/f3cloud_news](https://t.me/f3cloud_news)\
**Сайт хостинга:** [https://f3cloud.com](https://f3cloud.com/ru)
