Белые списки ХАП: как работают, что в них попадает и как настроить обход

Разбираем механику белых списков ХАП: фильтрация по IP и SNI, состав списков, способы обхода через CDN и Reality, настройка Happ и ответы на частые вопросы.

Что такое белые списки ХАП и чем они отличаются от обычных блокировок

Белые списки ХАП — это режим фильтрации интернет-трафика, при котором оператор связи пропускает только заранее одобренные IP-адреса и домены, а всё остальное блокируется. В отличие от классических чёрных списков, где запрещён конкретный список ресурсов, белый список работает по принципу «запрещено всё, кроме явно разрешённого». Это принципиально меняет подход к обходу: если раньше достаточно было сменить IP или использовать VPN, то теперь сам VPN-сервер должен находиться в разрешённом списке, иначе соединение не установится.

Физически блокировка реализуется на уровне ТСПУ (технические средства противодействия угрозам), которые устанавливаются у операторов связи. Когда абонент пытается открыть сайт, пакет сначала проходит проверку по IP-адресу назначения. Если адрес не входит в белый список, пакет просто отбрасывается — пользователь видит таймаут. Если IP разрешён, трафик проходит дополнительную проверку на уровне SNI (Server Name Indication) в TLS-запросе, и в случае обнаружения запрещённого домена соединение разрывается принудительно (RST).

Важно понимать, что белые списки — это не «глушение сигнала» и не отключение 4G. Радиосигнал остаётся активным, но маршрутизатор оператора не пропускает пакеты к неразрешённым адресам. Поэтому звонки и SMS продолжают работать, а интернет становится доступен только для ограниченного набора сервисов. Это подтверждается и практикой: при включении белых списков у абонентов остаются доступными госуслуги, банки, крупные маркетплейсы и мессенджеры, одобренные регулятором.

Архитектура фильтрации: два уровня проверки — L3 и L7

Белые списки ХАП работают на двух уровнях одновременно, что делает их значительно более жёсткими, чем простые блокировки по доменам.

Уровень 1 (L3, сетевой) — это фильтрация по IP-адресам (CIDR). Оператор составляет список разрешённых подсетей, и любой пакет, направленный на IP вне этого списка, отбрасывается на маршрутизаторе ещё до того, как попадёт в DPI-систему. Это означает, что для не-вайтлист IP не работает ничего: ни ICMP, ни TCP на 80 или 443 порту, ни UDP. Пакеты физически не покидают сеть оператора.

Уровень 2 (L7, прикладной) — это проверка SNI в TLS ClientHello. Даже если IP-адрес разрешён, ТСПУ анализирует имя домена, которое клиент запрашивает при установке HTTPS-соединения. Если SNI находится в чёрном списке (например, twitter.com или youtube.com), соединение принудительно разрывается. При этом важно, что SNI-фильтрация не всегда консистентна: один и тот же домен может пропускаться через один IP и блокироваться через другой. Это связано с тем, что правила ТСПУ различаются для разных ASN (автономных систем) и могут обновляться неравномерно.

Порядок проверки выглядит так: пакет приходит на маршрутизатор → проверяется IP назначения → если IP не в белом списке, пакет дропается → если IP разрешён, проверяется SNI → если SNI в чёрном списке, отправляется RST → если SNI чист, трафик пропускается. Такая двухуровневая архитектура делает бесполезными методы, основанные только на подмене SNI или использовании ECH (Encrypted Client Hello), поскольку основная блокировка происходит по IP.

Что попадает в белый список: состав и приоритеты

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

Первый уровень (обязательный) — это ресурсы, которые присутствуют в белом списке у всех операторов и во всех регионах. К ним относится мессенджер max.ru, а также ключевые государственные сервисы. Эти домены можно не проверять — они работают всегда.

Второй уровень (почти всегда) — это популярные платформы: vk.com, ya.ru, а также инфраструктура, признанная государственно значимой. Они есть в списках у большинства операторов, но могут отсутствовать в отдельных регионах или у отдельных провайдеров.

Третий уровень (необязательный) — это банки, маркетплейсы и прочие коммерческие сервисы. Здесь наблюдается настоящая лотерея: у одного оператора может быть доступен Тинькофф, у другого — нет. При этом, по данным сканирований, почти все банки попадают в белый список, кроме Сбербанка. Забавно, что при этом сервис видеозвонков salutejazz.ru от Сбера в списке есть. Это говорит о том, что состав списков формируется не по строгой логике, а скорее по заявкам и техническим потребностям.

Отдельно стоит отметить, что в белых списках обнаруживаются сотни VPN-серверов, включая домены с явным словом vpn в названии. Например, vpn.gov45.ru (государственный VPN Курганской области) или russvpn.ru. Это создаёт любопытную ситуацию: государство борется с VPN на уровне DPI, но при этом собственные списки содержат множество VPN-серверов, которые пропускаются без проблем.

География и нестабильность: почему белые списки работают по-разному

Белые списки ХАП не являются статичной и единообразной системой. Они работают неравномерно как по регионам, так и по времени, что создаёт дополнительные сложности для пользователей и операторов.

В Москве белые списки включаются эпизодически, обычно на несколько часов. В Санкт-Петербурге они могут не работать неделями. А вот в большинстве регионов России режим белых списков действует постоянно, 24/7. При этом даже внутри одного региона у разных операторов правила могут отличаться: у Мегафона и Т2 белые списки могут работать постоянно, у МТС — по расписанию, а у Билайна — свои настройки.

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

Такая нестабильность делает невозможным создание универсального «вечного» ключа для обхода. Подписки с автоматическим обновлением серверов становятся необходимостью, так как статичный ключ может перестать работать в любой момент, когда его подсеть выпадет из белого списка.

Почему обычный VPN не работает в режиме белых списков

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

Когда вы подключаетесь к VPN-серверу, ваш трафик направляется на IP-адрес этого сервера. В режиме белых списков оператор проверяет IP назначения, и если он не входит в разрешённый список, пакеты просто отбрасываются. VPN-сервер, расположенный на дата-центровом IP (например, Hetzner или DigitalOcean), почти наверняка не будет в белом списке, поэтому соединение не установится. Приложение будет висеть на «Connecting» или выдавать таймаут.

Важно понимать, что проблема не в настройках VPN-клиента и не в протоколе. Даже если вы используете VLESS с Reality и подменяете SNI на легитимный домен, это не поможет, если IP-адрес сервера не разрешён. Фильтрация по IP происходит на уровне L3, до того как DPI начнёт анализировать содержимое пакета. Поэтому все методы, основанные на маскировке трафика, бессильны, если сам сервер находится вне белого списка.

Единственный способ заставить VPN работать — это разместить сервер на IP-адресе, который уже входит в белый список. Это могут быть IP-адреса крупных российских хостинг-провайдеров (Timeweb, Yandex Cloud, VK Cloud) или CDN-сетей (например, CDN Яндекса). Именно на этом принципе строятся все рабочие схемы обхода.

Метод 1: VLESS + Reality на российском VPS

Один из самых популярных и стабильных способов обхода белых списков — использование VLESS с Reality на VPS, который находится в белом списке. Этот метод основан на том, что IP-адрес сервера уже разрешён оператором, а Reality обеспечивает маскировку трафика под обычное HTTPS-соединение.

Для настройки потребуется:

  • VPS у провайдера, чьи подсети входят в белый список (Timeweb, Yandex Cloud, VK Cloud и другие).
  • Домен с SNI, который также в белом списке (например, vk.com, ya.ru или домены CDN).
  • Установка Xray с протоколом VLESS и настройкой Reality + XTLS-Vision.

Пример конфига: vless://UUID@IP:443?type=tcp&security=reality&pbk=...&fp=chrome&sni=vklive.enotfast.com&sid=...&flow=xtls-rprx-vision

Провайдеры имеют свои особенности. Timeweb предлагает бесплатный reroll IP, что позволяет подобрать адрес, который точно в белом списке. Yandex Cloud даёт грант 4000 рублей при регистрации и имеет высокий шанс попадания в белый список, но аккаунты могут быстро блокироваться. VK Cloud держится дольше, но верификация сложнее и сервис дороже.

Важно выбирать правильный SNI для маскировки. Из сканирований известно, что хорошими кандидатами являются домены Яндекс CDN (storage.yandex.net, yastatic.net), VK CDN (userapi.com, vkuser.net), а также хостинги (hosting.reg.ru) и CDN (cdnvideo.ru). Опасные SNI — это явно заблокированные домены (twitter.com, youtube.com), которые могут вызвать RST даже при разрешённом IP.

Метод 2: Использование whitelisted-CDN как фронта

Более надёжный и масштабируемый подход — размещение VPN-сервера за легальным CDN, который уже входит в белый список. Этот метод особенно актуален для сервисов, предоставляющих VPN-подписки, так как позволяет быстро менять фронт-хосты при изменении списков.

Схема работы: клиент подключается к домену CDN (например, CDN Яндекса) по 443 порту. CDN проксирует запрос на реальный VLESS-сервер, который может находиться где угодно. Для DPI оператора это выглядит как обычное HTTPS-обращение к легальному CDN-домену, поэтому трафик пропускается.

Для реализации этого метода требуется:

  • Наличие домена, который резолвится в IP CDN, входящий в белый список.
  • Настройка XHTTP или другого транспорта, совместимого с CDN.
  • Отдача подписки с заголовками no-cache, чтобы клиенты не кэшировали старые конфиги.

Важный нюанс: XHTTP через CDN может работать в двух режимах — GET и POST. Если CDN не поддерживает POST, клиент вынужден использовать GET, и тогда в конфиге сервера обязательно должен быть задан режим packet-up. Без этого часть клиентов не сможет подключиться.

Этот метод обеспечивает большую устойчивость, так как при выпадении одной подсети CDN из белого списка можно быстро переключиться на другую. Однако он добавляет задержку (примерно 20–80 мс) и снижает скорость из-за оверхеда XHTTP.

Метод 3: Yandex Cloud Functions как бесплатный прокси

Ещё один интересный способ обхода — использование serverless-функций Yandex Cloud в качестве прокси. Эндпоинт functions.yandexcloud.net универсально входит в белый список у всех операторов, что делает его надёжной точкой входа.

Yandex Cloud Functions предоставляет бессрочный free tier, который включает:

  • 1 000 000 вызовов в месяц
  • 100 000 ГБ-секунд
  • 40 000 ГГц-секунд

Этого достаточно для личного использования и даже для небольшой группы пользователей. Идея заключается в том, чтобы написать SOCKS5-клиент, который подключается к функции, а функция уже проксирует трафик к целевым ресурсам. Поскольку IP Яндекса не блокируется на уровне L3 и L7, трафик проходит без проблем.

Этот метод особенно привлекателен тем, что не требует покупки VPS и регистрации домена. Однако он требует навыков программирования и настройки serverless-функции. Кроме того, бесплатный лимит может оказаться недостаточным для активного использования, особенно при просмотре видео или загрузке больших файлов.

Тем не менее, для тех, кто хочет иметь запасной канал связи на случай отключений, Yandex Cloud Functions — это практичное и экономичное решение.

Настройка Happ под белые списки: пошаговое руководство

Happ — популярный VPN-клиент для VLESS/Reality/XHTTP, который часто используется для подключения к серверам, обходящим белые списки. Настройка Happ под белые списки сводится к добавлению правильной подписки и выбору подходящего сервера.

Пошаговая инструкция:

  1. Откройте Happ и перейдите в раздел добавления подписки (обычно кнопка «+»).
  2. Вставьте ссылку на подписку от вашего VPN-сервиса. Убедитесь, что ссылка начинается с https:// и ведёт на актуальный конфиг.
  3. Дождитесь загрузки списка серверов. В списке ищите серверы, помеченные как «CDN» или «whitelist», либо с доменным SNI известного CDN (например, yastatic.net, userapi.com).
  4. Выберите такой сервер и подключитесь. Проверьте, что ваш внешний IP изменился (можно использовать любой сервис определения IP).
  5. Включите автообновление подписки, чтобы конфиги обновлялись автоматически.

Частые проблемы:

  • Happ на iOS не обновляет подписку — клиент кэширует старые конфиги. Решение: удалите подписку и добавьте заново. Со стороны сервиса помогает отдача подписки с заголовками no-cache.
  • Ключ подключается, но интернета нет — вероятно, проблема с XHTTP в GET-режиме. Убедитесь, что на сервере задан режим packet-up.
  • В одном клиенте работает, в Happ нет — разное поведение с GET/POST на CDN. Проверьте настройки сервера.

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

Ограничения и риски: что не работает и почему

Несмотря на существование рабочих методов обхода, важно понимать их ограничения и риски. Белые списки ХАП — это не статичная система, и методы, которые работают сегодня, могут перестать работать завтра.

Что не работает в режиме белых списков:

  • QUIC/HTTP3 — UDP-трафик на 443 порт режется почти всегда, даже на домашних провайдерах без белых списков.
  • ECH/ESNI — шифрование имени домена бесполезно, так как основная блокировка идёт по IP.
  • Обычные VPN на зарубежных VPS — IP не в белом списке, соединение не устанавливается.
  • DNS-запросы к внешним серверам (8.8.8.8, 1.1.1.1) — порт UDP:53 закрыт, работает только DNS провайдера.

Риски:

  • Нестабильность списков — подсети CDN могут выпадать из белого списка, поэтому подписки с быстрой сменой фронта надёжнее статичных ключей.
  • Скорость и задержка — whitelisted-CDN добавляет 20–80 мс к пингу и снижает пропускную способность из-за оверхеда XHTTP.
  • Юридические риски — обход блокировок может нарушать законодательство РФ, что влечёт административную или уголовную ответственность.
  • Технические сложности — настройка сервера требует знаний в области сетевых технологий и может быть недоступна обычному пользователю.

Рекомендуется держать два ключа: быстрый прямой (Reality) на обычные дни и whitelisted-CDN как резерв на период отключений. Это позволяет сохранить доступность при минимальных потерях скорости.

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

Что такое белые списки ХАП и как они работают?

Белые списки ХАП — это режим фильтрации интернет-трафика, при котором оператор связи пропускает только заранее одобренные IP-адреса и домены. Работает на двух уровнях: сначала проверяется IP назначения (L3), затем SNI в TLS-запросе (L7). Если IP не в списке — пакет отбрасывается, если SNI в чёрном списке — соединение разрывается.

Почему обычный VPN не работает при белых списках?

Обычный VPN-сервер находится на дата-центровом IP, который не входит в белый список. Оператор блокирует пакеты на уровне L3, ещё до того как VPN-клиент установит соединение. Даже подмена SNI не помогает, так как фильтрация идёт по IP, а не по домену.

Как настроить Happ для работы при белых списках?

Добавьте подписку, в которой есть сервер за whitelisted-CDN (фронт через легальный CDN-домен). Выберите сервер с пометкой «CDN» или «whitelist», подключитесь и проверьте IP. Включите автообновление подписки. Если Happ на iOS не обновляет конфиги, удалите подписку и добавьте заново.

Что такое «ключи для happ белый список» и чем они отличаются от обычных?

Формат тот же — обычный vless://. Отличие в том, что сервер спрятан за whitelisted-CDN хостом, а транспорт (чаще XHTTP) настроен под CDN. Особых «ключей Happ» не существует: значение имеют только IP назначения и настройки на стороне сервера.

Почему в одном приложении ключ работает, а в Happ — нет?

Частая причина — транспорт XHTTP через CDN. CDN без поддержки POST вынуждает использовать GET, и тогда в конфиге обязателен явный режим packet-up. Без него часть клиентов подключается, а часть нет. Правится на сервере, а не в интерфейсе Happ.

Будет ли whitelisted-CDN ключ быстрым?

Обычно медленнее прямого Reality: лишний узел добавляет к пингу примерно 20–80 мс, а полоса упирается в ноду и оверхед XHTTP. Такой ключ ценен не скоростью, а тем, что работает во время веерных отключений. Разумно держать два ключа: прямой на каждый день и whitelisted-CDN как резерв.

Может ли whitelisted-сервер перестать работать?

Да. Белый список у оператора меняется, конкретная подсеть CDN может выпасть. Поэтому подписка с быстрой сменой фронт-хоста надёжнее статичного ключа: провайдер меняет хост у себя, и конфиг обновляется автоматически.