Конфиг VLESS для обхода белых списков: SNI, цепочки и актуальные методы

Разбираем, как настроить VLESS для обхода белых списков операторов: SNI-маскировка, цепочки серверов, выбор транспорта и решение проблем с DPI.

Что такое белые списки и почему они ломают VPN

Белые списки (whitelist) — это система фильтрации трафика, при которой доступ разрешен только к заранее одобренным доменам и IP-адресам. В отличие от черных списков, где блокируются конкретные ресурсы, whitelist по умолчанию запрещает всё, кроме явно разрешенного. Такие ограничения активно применяются в школах, офисах, государственных учреждениях, а в последнее время — и на тарифах мобильных операторов России, таких как МТС, Билайн, Теле2 и Мегафон.

Проблема традиционных VPN в том, что их трафик легко идентифицируется системами глубокого анализа пакетов (DPI). Протоколы вроде OpenVPN, IKEv2 или WireGuard имеют характерные сигнатуры, а SNI (Server Name Indication) в TLS-рукопожатии указывает на домен VPN-сервера, которого нет в белом списке. В результате соединение блокируется еще на этапе установки.

Белые списки могут работать на разных уровнях: только по SNI, по IP-адресам или по комбинации SNI и IP. Наиболее жесткий вариант — фильтрация по IP, когда проверяется не только домен, но и фактический адрес сервера. В этом случае даже правильно настроенный SNI не поможет, если IP не входит в разрешенный диапазон. Понимание этих нюансов — первый шаг к созданию рабочего конфига.

VLESS и SNI-обфускация: как это работает

VLESS (V2Ray Lightweight Encryption Security Stream) — это упрощенный протокол из семейства V2Ray, разработанный для минимизации накладных расходов. В отличие от VMESS, он не использует шифрование на уровне протокола, что делает его быстрее и легче. VLESS поддерживает различные транспорты: TCP, WebSocket, HTTP/2, gRPC и xhttp, а также может работать поверх TLS.

Ключевая особенность VLESS для обхода белых списков — возможность маскировки SNI. SNI — это расширение TLS, которое передает имя хоста в открытом виде при установке соединения. Операторы анализируют SNI, чтобы понять, к какому домену идет запрос. Если домен не в белом списке — соединение блокируется.

SNI-обфускация заключается в том, что клиент отправляет SNI популярного легитимного домена (например, cloudflare.com, google.com или vk.com), который точно есть в белом списке. Для оператора трафик выглядит как обычный HTTPS-запрос к разрешенному сайту. TLS-рукопожатие проходит успешно, и поверх установленного соединения создается VLESS-туннель. DPI не может отличить такой трафик от обычного веб-серфинга, так как SNI указывает на разрешенный домен, а данные зашифрованы.

Однако важно понимать: SNI-маскировка работает только если фильтрация осуществляется по SNI. Если оператор проверяет IP-адрес назначения, этот метод перестает работать. Поэтому в современных условиях одной лишь подмены SNI часто недостаточно.

Почему простой VLESS + SNI перестал работать

До осени 2025 года многие пользователи успешно обходили белые списки, используя VLESS с подменой SNI на домены вроде stats.vk-portal.net или yadi.sk. Однако начиная с ноября 2025 года, по сообщениям на профильных форумах, массово перестали работать конфиги, которые раньше функционировали. Причины несколько:

  1. Переход на фильтрацию по IP. Операторы начали сравнивать IP-адрес, который резолвится из SNI-домена, с фактическим IP сервера, куда уходит трафик. Если они не совпадают — соединение блокируется. Это делает бессмысленной подмену SNI на домен, если сервер физически находится не на IP этого домена.
  1. Замораживание сессий. Вместо разрыва соединения через RST, ТСПУ (технические средства противодействия угрозам) начали «замораживать» сессию: после передачи 15-20 КБ данных пакеты перестают приходить, и соединение висит до таймаута. Это особенно заметно при просмотре видео или загрузке больших файлов.
  1. Обновление DPI. Системы фильтрации научились распознавать старые версии Xray-core и характерные паттерны VLESS-трафика, даже если SNI замаскирован.

В результате простые конфиги с подменой SNI перестали работать у большинства пользователей, особенно на Теле2 и Билайне. МТС пока остается наиболее лояльным оператором, но и там ситуация меняется.

Цепочки серверов: как обойти фильтрацию по IP

Когда белый список проверяет IP-адрес назначения, единственный рабочий способ — использовать сервер, который сам находится в белом списке. Для этого применяется схема с цепочкой из двух серверов:

  • Выходная нода — зарубежный VPS (например, в Европе), который обеспечивает доступ в открытый интернет.
  • Мост (прокладка) — дешевый VPS внутри России, размещенный в облаке, которое входит в белый список (Яндекс.Облако, VK Cloud, EDGE).

Клиент подключается к российской ноде. ТСПУ лояльно относится к внутреннему трафику, поэтому сессия не замораживается. Российская нода через протокол vnext пробрасывает трафик на зарубежную ноду, которая уже выходит в интернет. Для ТСПУ это выглядит как обычный обмен данными между двумя серверами, который фильтруется гораздо слабее.

Важный нюанс: российская нода должна иметь IP-адрес, который входит в белый список оператора. Не все IP в облаках «белые». Например, в VK Cloud найти такой IP почти невозможно, а в Яндекс.Облаке нужно искать подходящие диапазоны. Проверить можно, развернув веб-сервер на 443 порту и попробовав открыть его с мобильного интернета без VPN. Если сайт открывается — IP белый.

Настройка цепочки требует определенных навыков, но это один из немногих методов, который реально работает при жестких белых списках.

Настройка конфига VLESS для цепочки: пошагово

Рассмотрим практический пример настройки цепочки с использованием Xray-core. Потребуются два сервера: зарубежный (выходной) и российский (мост). На обоих должен быть установлен Xray-core версии не ниже 25.12.8, чтобы избежать детекта через анализ TLS 1.3 NewSessionTicket.

Шаг 1. Настройка зарубежной ноды. Поднимаем обычный VLESS-инбаунд. Рекомендуется использовать транспорт xhttp в режиме packet-up — это снижает нагрузку и делает трафик менее заметным.

Шаг 2. Настройка российской ноды (моста). В конфиге Xray на российском сервере нужно принять трафик от клиента и отправить его в цепочку через блок outbounds. Пример аутбаунда для связи нод:

{
  "outbounds": [
    {
      "tag": "chain-to-europe",
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "ip-вашей-евро-ноды",
            "port": 443,
            "users": [
              {
                "id": "uuid-вашего-юзера-на-евро-ноде",
                "flow": "xtls-rprx-vision",
                "encryption": "none"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "xhttp",
        "security": "reality",
        "realitySettings": {
          "fingerprint": "chrome",
          "serverName": "vkvideo.ru",
          "publicKey": "ваш-pbk-с-евро-ноды",
          "shortId": "ваш-sid"
        },
        "xhttpSettings": {
          "mode": "packet-up",
          "path": "/api/v1/update"
        }
      }
    },
    {
      "protocol": "freedom",
      "tag": "DIRECT"
    }
  ]
}

Шаг 3. Разделение трафика (Routing). На российской ноде настраиваем роутинг, чтобы российские сайты (ВКонтакте, Госуслуги, Яндекс) шли напрямую, а заблокированные — через мост. Это экономит трафик и ускоряет доступ к локальным ресурсам.

"routing": {
  "domainStrategy": "IPIfNonMatch",
  "rules": [
    {
      "type": "field",
      "outboundTag": "DIRECT",
      "domain": [
        "geosite:category-ru",
        "regexp:\\.ru$",
        "geosite:yandex",
        "full:cp.cloudflare.com"
      ]
    },
    {
      "type": "field",
      "inboundTag": ["inbound-от-клиента"],
      "outboundTag": "chain-to-europe"
    }
  ]
}

После настройки перезапустите Xray на обеих нодах и проверьте подключение. Если что-то не работает, проверьте логи и соответствие UUID, publicKey и shortId.

Выбор транспорта и SNI-домена: практические советы

Выбор транспорта и SNI-домена критически важен для успешного обхода белых списков. Вот основные рекомендации:

Транспорт:

  • TCP + TLS — стандартный вариант, работает в большинстве случаев, но легко детектится.
  • WebSocket + TLS — маскируется под обычный WebSocket-трафик, хорош для обхода DPI.
  • HTTP/2 — выглядит как обычный HTTP/2-трафик, но требует правильной настройки.
  • gRPC — современный протокол, сложнее для обнаружения, но требует больше ресурсов.
  • xhttp (packet-up) — новый транспорт, который хорошо зарекомендовал себя в цепочках. Режим packet-up уменьшает накладные расходы и снижает вероятность заморозки сессии.

Выбор SNI-домена:

  • Используйте популярные CDN-домены: cloudflare.com, fastly.com, amazonaws.com.
  • Крупные сервисы: google.com, microsoft.com, apple.com.
  • Для российских операторов хорошо работают домены VK и Яндекса: vk.com, ya.ru, vkvideo.ru, stats.vk-portal.net.

Важно, чтобы SNI-домен резолвился в IP, который совпадает с IP вашего сервера (или хотя бы находится в том же диапазоне). В противном случае оператор может заблокировать соединение из-за несоответствия. Проверить это можно с помощью команды openssl s_client -connect domain:443 -servername domain — если рукопожатие проходит, домен доступен.

Также обратите внимание на uTLS (fingerprint). Эмуляция отпечатка браузера (chrome, firefox, safari) помогает скрыть особенности TLS-клиента. Однако, по отзывам, uTLS не всегда решает проблему, если блокировка идет по IP.

Решение типичных проблем: iOS, WhatsApp, заморозка сессий

Даже при правильной настройке могут возникать проблемы. Рассмотрим самые частые:

Проблемы с iOS. На iPhone лимит памяти для VPN-процесса составляет всего 50 MiB. Если в конфиг загружены тяжелые Geo-файлы, клиент может падать при старте. Решение: используйте транспорт xhttp в режиме packet-up вместо stream-up, а также облегченные версии Geo-файлов.

WhatsApp или Instagram не работают. Часто бывает, что один сервис летает, а другой висит в статусе подключения. Возможные костыли:

  • Добавьте IPv6 на выходную ноду.
  • Попробуйте убрать поток vision из конфига для этих сервисов.

Заморозка сессий. Если соединение зависает после передачи 15-20 КБ данных, это признак того, что ТСПУ «морозит» сессию. Решение — использовать цепочку с российской нодой, как описано выше. Также помогает обновление Xray-core до последней версии.

Проблемы с DNS. Убедитесь, что DNS-запросы не утекают. Используйте DNS-серверы, которые не блокируются, или настройте DNS через VLESS-туннель.

Проверка SNI. Периодически проверяйте доступность выбранного SNI-домена. Операторы могут добавлять домены в черный список, и тогда конфиг перестанет работать. Используйте скрипты для автоматической проверки списка доменов.

Альтернативные методы: CDN, Reality и облачные сервисы

Помимо цепочек, существуют и другие методы обхода белых списков:

Использование CDN. Если оператор пропускает трафик к CDN-серверам (например, Cloudflare), можно настроить VLESS через CDN. Трафик идет на домен CDN, который в белом списке, а CDN перенаправляет его на ваш сервер. Этот метод работает, но требует, чтобы CDN-домен был разрешен, и может быть медленным.

VLESS + Reality. Протокол Reality позволяет маскировать трафик под реальный TLS-домен без необходимости иметь собственный сертификат. Однако, как показала практика, Reality также перестал работать при белых списках, если IP сервера не в белом списке. Тем не менее, в связке с цепочкой и правильным выбором SNI он может быть эффективен.

Облачные сервисы. Аренда VPS в Яндекс.Облаке или VK Cloud, которые имеют «белые» IP-диапазоны, — один из самых надежных способов. Однако найти такой IP сложно, и операторы постоянно ужесточают фильтрацию. Некоторые пользователи сообщают, что даже IP из белого списка должен совпадать с SNI-доменом вплоть до третьего октета.

Готовые сервисы. Если не хочется настраивать все вручную, можно воспользоваться коммерческими VPN-сервисами, которые уже внедрили цепочки и «белые» IP. Среди упоминаемых: hynet.cloud, Amnezia, Voxiproxy, MamontVPN, SayVPN, DuckVPN. Однако их надежность варьируется, и перед покупкой стоит изучить отзывы.

Будущее обхода белых списков: что дальше

Ситуация с белыми списками постоянно меняется. Операторы и ТСПУ внедряют новые методы фильтрации, а сообщество ищет обходные пути. На данный момент цепочки с российской нодой — самый рабочий способ, но и он не гарантирует 100% стабильности.

Основные тенденции:

  • Ужесточение фильтрации по IP. Вероятно, операторы будут переходить на полную блокировку по IP-адресам, что сделает невозможным обход без использования «белых» IP.
  • Развитие DPI. Системы глубокого анализа пакетов становятся умнее: они анализируют не только SNI, но и поведение трафика, размеры пакетов, тайминги.
  • Появление новых протоколов. Разработчики Xray и других инструментов постоянно ищут новые способы маскировки. Например, xhttp — это уже ответ на заморозку сессий.

Пользователям стоит быть готовыми к тому, что конфиги придется обновлять регулярно. Следите за обновлениями Xray-core, проверяйте актуальные SNI-домены и тестируйте разные транспорты. Также полезно участвовать в профильных сообществах, где оперативно делятся рабочими решениями.

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

Вопросы и ответы

Почему мой VLESS-конфиг перестал работать при белых списках?

Скорее всего, оператор перешел с фильтрации по SNI на фильтрацию по IP-адресу. Теперь проверяется не только домен в SNI, но и фактический IP сервера. Если IP не входит в белый список, соединение блокируется. Также возможна заморозка сессий после 15-20 КБ данных. Решение — использовать цепочку с российской нодой, которая имеет «белый» IP.

Как проверить, входит ли IP моего сервера в белый список оператора?

Разверните на сервере любой веб-сервер на 443 порту и попробуйте открыть его с мобильного интернета (МТС, Мегафон и т.д.) без VPN. Если сайт открывается — IP «белый». Также можно использовать скрипты для проверки SNI-доменов через openssl s_client, но это не гарантирует проверку IP.

Что такое цепочка серверов и зачем она нужна?

Цепочка — это схема, где клиент подключается к российской ноде (мосту), которая имеет «белый» IP, а та перенаправляет трафик на зарубежную ноду. Для ТСПУ это выглядит как обычный обмен между серверами, поэтому фильтрация не срабатывает. Это один из немногих методов, работающих при белых списках по IP.

Какой транспорт лучше всего подходит для обхода белых списков?

Сейчас хорошо зарекомендовал себя транспорт xhttp в режиме packet-up. Он снижает накладные расходы и уменьшает вероятность заморозки сессии. Также можно использовать WebSocket + TLS или gRPC. Выбор зависит от конкретного оператора и условий, поэтому стоит тестировать разные варианты.

Можно ли обойти белые списки с помощью CDN?

Да, если оператор пропускает трафик к CDN-серверам (например, Cloudflare). Настройте VLESS через CDN: трафик идет на домен CDN, который в белом списке, а CDN перенаправляет его на ваш сервер. Однако этот метод может быть медленным и требует, чтобы CDN-домен был разрешен.

Какие SNI-домены лучше использовать для маскировки?

Для российских операторов хорошо работают домены VK и Яндекса: vk.com, ya.ru, vkvideo.ru, stats.vk-portal.net. Также можно использовать популярные CDN: cloudflare.com, fastly.com. Важно, чтобы SNI-домен резолвился в IP, который совпадает с IP вашего сервера, иначе оператор может заблокировать соединение.

Что делать, если VPN работает по Wi-Fi, но не работает по мобильному интернету?

Это типичная ситуация при белых списках: мобильный оператор применяет более строгую фильтрацию, чем домашний провайдер. Проверьте, входит ли IP вашего сервера в белый список оператора. Если нет — используйте цепочку с российской нодой или арендуйте VPS в облаке с «белыми» IP (Яндекс.Облако, VK Cloud).