Как создать собственный обход белых списков: технический гайд по цепочкам, Reality и выбору VPS

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

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

Белые списки — это режим фильтрации трафика, при котором по умолчанию запрещено всё, кроме явно разрешённых адресов. В отличие от классических чёрных списков, где блокируются конкретные сайты, здесь работает принцип default-deny: пакет, который не соответствует разрешённому диапазону IP или домену, просто уничтожается. В России этот режим начал активно применяться с осени 2025 года, сначала в южных регионах, а затем распространился на большинство областей. Технически это реализовано через ТСПУ — устройства, установленные у операторов связи ещё в 2019–2021 годах в рамках закона о суверенном интернете. Когда ТСПУ переводится в режим drop-all, он пропускает только те IP-адреса и SNI, которые есть в специальном списке, утверждённом Минцифры. Первая редакция списка появилась 5 сентября 2025 года, и к весне 2026-го в нём уже было более сотни сервисов. Важно понимать: белый список не отменяет чёрный, а становится первой ступенью фильтрации. Сначала пакет проверяется на принадлежность к разрешённым подсетям, и только потом, если он прошёл, применяются старые сигнатурные блокировки VPN и реестра запрещённых сайтов. Это двухуровневая система: L3 (сетевой уровень) отсекает по IP, а L7 (прикладной) анализирует SNI в TLS-рукопожатии. Для пользователя это означает, что даже если сайт есть в белом списке, но его SNI попал в чёрный перечень, соединение будет разорвано. При этом правила SNI не всегда консистентны: один и тот же домен может пропускаться через IP Яндекса, но блокироваться через IP VK, что говорит о нецентрализованном управлении фильтрами.

Как ТСПУ фильтрует трафик: два уровня, которые нужно обходить

Фильтрация в режиме белых списков работает на двух уровнях одновременно. Первый — L3, сетевой: проверяется IP-адрес назначения. Если он не входит в разрешённый CIDR-диапазон, пакет молча дропается на маршрутизаторе оператора, ещё до того, как дойдёт до DPI. Это значит, что для не-вайтлист IP не работает вообще ничего: ни ICMP, ни TCP на 80 или 443 порту, ни UDP. Пакеты физически не покидают сеть оператора. Для разрешённых IP картина другая: TCP-порты 80 и 443 работают, но UDP-порт 443 (QUIC) и UDP 53 (DNS) обычно режутся, как и стандартный порт WireGuard 51820. Второй уровень — L7, прикладной: если IP в белом списке, ТСПУ анализирует SNI внутри TLS ClientHello. Если SNI находится в чёрном списке, соединение рвётся через RST. Например, при подключении к IP Яндекса с SNI google.com соединение устанавливается, но возвращает HTTP 406, а с SNI twitter.com — connection reset. Интересно, что SNI telegram.org через некоторые IP пропускается, хотя сам Telegram заблокирован. Это говорит о том, что чёрный список SNI неполон и неодинаков для разных подсетей. Ещё одна важная деталь: фильтрация по объёму данных. ТСПУ не всегда рвёт соединение сразу — он может позволить передать первые 16–20 килобайт, а затем молча перестать форвардить пакеты. Это делается без RST и ICMP, поэтому соединение просто зависает и умирает по таймауту. Такой подход сложнее диагностировать и обходить, потому что нет явного сигнала о блокировке. Для пользователя это выглядит как обычная деградация сети: страница начинает грузиться, но не догружается.

Почему обычный VPN не работает и что такое цепочка

Многие пользователи пытаются обойти белые списки с помощью обычного VPN-подключения к зарубежному серверу, но это не работает. Причина проста: IP-адрес VPN-сервера не входит в белый список, поэтому пакеты до него просто не доходят — они дропаются на L3 уровне. Даже если использовать протоколы с маскировкой, такие как VLESS + Reality, прямое подключение к европейскому VPS почти всегда оказывается под шейпингом. ТСПУ научилось «замораживать» такие сессии: после передачи 15–20 килобайт данных пакеты перестают приходить, и соединение зависает. Единственный рабочий способ — построить цепочку из двух серверов. Схема выглядит так: клиент подключается к российской «прокладке» — VPS внутри РФ, чей IP входит в белый список. ТСПУ лояльно относится к внутрироссийскому трафику, поэтому сессия не замерзает. Затем российская нода через VLESS или другой протокол пробрасывает трафик на зарубежную ноду, которая уже выходит в открытый интернет. Для ТСПУ это выглядит как обычный обмен данными между двумя серверами, который фильтруется гораздо слабее, чем прямой заход пользователя на иностранный хостинг. Ключевой момент — российская нода должна иметь «белый» IP, иначе цепочка не заработает. Поэтому выбор хостинга и проверка IP становятся критически важными.

Выбор российской прокладки: какие хостинги дают белые IP

Чтобы цепочка работала, российский VPS должен находиться в подсети, которая включена в белый список. Сканирование, проведённое энтузиастами, показало, что в белом списке около 63 тысяч IP-адресов, принадлежащих 2557 ASN. Больше всего адресов у Yandex.Cloud — почти 13 тысяч, что составляет примерно пятую часть всего списка. Это делает Яндекс.Облако самым надёжным вариантом для прокладки. Также в списке присутствуют Timeweb (около 2900 IP), Ростелеком (2312), VK (почти 3000 через три ASN), Selectel (почти 2000), REG.RU и другие. При выборе хостинга стоит учитывать, что не все IP внутри одного ASN гарантированно белые. Например, у VK Cloud, по отзывам, «белые» IP поймать почти невозможно, несмотря на то что VK в списке. У Timeweb есть бесплатный reroll IP, но выбить нужный адрес может быть долго. Яндекс.Облако даёт бесплатный грант 4000 рублей при регистрации, что позволяет протестировать сервер без затрат. Однако есть риск, что сервер быстро заблокируют, если он будет использоваться для обхода. EDGE Cloud также упоминается как хорошая альтернатива с CDN. Практический совет: после создания VPS разверните на нём любой веб-сервер на 443 порту и проверьте доступность с мобильного интернета (МТС, Мегафон) без VPN. Если сайт открывается — IP белый, можно использовать. Если нет — меняйте IP или пробуйте другого хостинг-провайдера.

Настройка зарубежной выходной ноды: VLESS + Reality

Выходная нода — это сервер за пределами России, который будет открывать доступ к заблокированным сайтам. На нём нужно поднять обычный VLESS-инбаунд с транспортом xhttp в режиме packet-up. Важно использовать актуальную версию Xray-core (минимум 25.12.8), так как старые версии Reality детектятся через анализ TLS 1.3 NewSessionTicket. Новые версии умеют мимикрировать под этот тип сообщений, что снижает вероятность обнаружения. Для маскировки под обычный HTTPS-трафик используется протокол Reality с сертификатом от реального домена. В качестве SNI можно указать любой разрешённый домен, например vkvideo.ru или другой из списка whitelisted доменов. Это делает трафик неотличимым от обычного посещения сайта. Пример конфигурации инбаунда на выходной ноде: протокол vless, порт 443, security reality, fingerprint chrome, serverName vkvideo.ru, flow xtls-rprx-vision. Транспорт xhttp в режиме packet-up помогает снизить потребление памяти и избежать вылетов на iOS. Также рекомендуется настроить разделение трафика: российские сайты (ВК, Госуслуги, Яндекс) должны идти напрямую, а заблокированные — через цепочку. Это экономит трафик и снижает нагрузку на зарубежную ноду.

Настройка российской прокладки: мост в цепочке

Российская прокладка — это сервер внутри РФ, который принимает трафик от клиента и перенаправляет его на выходную ноду. В конфиге Xray на российской ноде нужно настроить outbounds для связи с европейским сервером. Пример аутбаунда: протокол vless, адрес IP евро-ноды, порт 443, пользователь с UUID и flow xtls-rprx-vision, шифрование none. В streamSettings указывается network xhttp, security reality, fingerprint chrome, serverName vkvideo.ru (или другой whitelisted домен), publicKey и shortId с евро-ноды. В xhttpSettings задаётся mode packet-up и path, например /api/v1/update. Также добавляется outbound freedom с тегом DIRECT для прямых подключений. Далее настраивается роутинг: правила, по которым трафик к российским сайтам идёт напрямую, а к заблокированным — через цепочку. Это делается через routing-блок в конфиге. Важно, чтобы российская нода имела белый IP, иначе клиент не сможет к ней подключиться. Также стоит обновить ядро Xray до актуальной версии, чтобы избежать детекта. Если на прокладке сидит много пользователей, можно оптимизировать sysctl: увеличить net.core.somaxconn, tcp_max_syn_backlog и отключить tcp_syncookies (если уверены в защите от DDoS).

Клиентская часть: как подключиться к цепочке

Клиент — это устройство пользователя (телефон или компьютер), которое подключается к российской прокладке. Для этого используется любой VPN-клиент, поддерживающий VLESS + Reality, например v2rayNG, Shadowrocket или официальный Xray-клиент. В настройках клиента указывается адрес российской ноды, порт 443, UUID пользователя, security reality, fingerprint chrome, SNI — тот же whitelisted домен, который используется на прокладке, и flow xtls-rprx-vision. Важно, чтобы клиент и прокладка использовали одинаковые параметры Reality (publicKey, shortId). После подключения весь трафик идёт через цепочку: клиент → российская прокладка → зарубежная нода → интернет. Для российских сайтов можно настроить split tunneling, чтобы они открывались напрямую, без прокладки, что ускорит доступ и снизит нагрузку. На iOS есть ограничение: лимит памяти для VPN-процесса составляет 50 MiB, поэтому не стоит загружать тяжёлые Geo-файлы. Используйте облегчённые версии или packet-up режим, чтобы избежать вылетов. Если отваливается WhatsApp или Instagram, попробуйте добавить IPv6 на выходную ноду или убрать flow vision из конфига для этих сервисов.

Альтернативные методы обхода: Cloud Functions и готовые сервисы

Помимо цепочки из двух VPS, существуют и другие способы обхода белых списков. Один из них — использование Yandex Cloud Functions как прокси. Эндпоинт functions.yandexcloud.net универсально входит в белый список у всех провайдеров. Можно написать serverless-функцию, которая будет работать как SOCKS5-прокси, и подключаться к ней. Бесплатный тариф включает 1 000 000 вызовов в месяц, 100 000 ГБ-секунд и 40 000 ГГц-секунд, чего достаточно для личного использования. DPI не применяется к IP Яндекса на уровне L3 и L7, поэтому такой прокси работает стабильно. Однако этот метод подходит скорее для лёгкого веб-сёрфинга, а не для тяжёлого трафика. Другой вариант — использовать готовые сервисы, которые уже внедрили цепочки и белые IP. Среди них упоминаются hynet.space (наиболее универсальное решение), Amnezia (но есть жалобы на закрытость и проблемы с другими сервисами на одном VPS), Voxiproxy (оптимизирован для мобильного трафика), MamontVPN (фокусируется на iOS), SayVPN и DuckVPN. Однако у готовых сервисов есть недостатки: они могут быть нестабильны на некоторых провайдерах, а также не дают полного контроля над конфигурацией. Для тех, кто хочет разобраться самостоятельно, лучше собрать свою цепочку.

Практические советы и подводные камни

При настройке собственного обхода белых списков важно учитывать несколько моментов. Во-первых, белые списки нестабильны: они меняются от региона к региону, от оператора к оператору и даже от точки доступа. То, что работает сегодня, может перестать работать завтра. Поэтому полезно следить за обновлениями списков, например в репозитории openlibrecommunity/twl, который обновляется еженедельно. Во-вторых, не все IP в белом списке одинаково полезны: лучше выбирать подсети с высокой плотностью белых адресов, например 77.88.0.0/24 (Яндекс) или 87.240.166.0/24 (VK CDN). В-третьих, избегайте использования SNI заведомо заблокированных доменов (twitter.com, youtube.com) — они могут вызвать RST. В-четвёртых, помните, что UDP-трафик (QUIC, DNS, WireGuard) часто режется даже для белых IP, поэтому используйте TCP. Наконец, не забывайте про юридические риски: обход блокировок может быть незаконным, и ответственность лежит на пользователе. Также стоит учитывать, что ТСПУ постоянно совершенствуется, и то, что работает сейчас, может перестать работать в будущем.

Что делать, если ничего не работает: диагностика и запасные варианты

Если ваша цепочка не работает, начните с диагностики. Проверьте, доступен ли российский VPS с мобильного интернета: попробуйте открыть сайт, размещённый на нём, без VPN. Если сайт не открывается, значит IP не белый — попробуйте сменить IP или хостинг. Если сайт открывается, но VPN-подключение не устанавливается, проверьте конфигурацию Xray на обеих нодах: совпадают ли UUID, publicKey, shortId, SNI. Убедитесь, что на зарубежной ноде открыт порт 443 и нет файрвола, блокирующего входящие соединения. Также проверьте, что на российской прокладке не включён режим, который режет трафик по объёму. Если проблема в iOS, попробуйте использовать packet-up вместо stream-up и облегчённые Geo-файлы. Если отваливаются отдельные сервисы (WhatsApp, Instagram), добавьте IPv6 на выходную ноду или уберите flow vision. В крайнем случае можно переключиться на готовый сервис, например hynet.space, который уже настроен и протестирован. Но помните, что любой метод обхода может перестать работать в любой момент, поэтому всегда имейте запасной план: например, домашний проводной интернет, который пока не подвержен белым спискам, или несколько разных прокладок.

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

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

Обычный VPN-сервер за границей имеет IP-адрес, который не входит в белый список. ТСПУ на L3 уровне дропает все пакеты, идущие на неразрешённые IP, поэтому соединение не устанавливается. Даже если использовать протоколы с маскировкой, такие как VLESS + Reality, прямое подключение к зарубежному серверу часто подвергается шейпингу: после 15–20 килобайт данных сессия «замерзает» — пакеты перестают приходить, и соединение зависает. Поэтому нужна цепочка с российской прокладкой, чей IP в белом списке.

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

Самый простой способ — развернуть на VPS любой веб-сервер на 443 порту и попробовать открыть его с мобильного интернета (МТС, Мегафон, Билайн) без VPN. Если сайт открывается — IP белый. Также можно использовать сканирование: прогнать masscan по порту 443 с мобильного интерфейса и посмотреть, какие IP отвечают. Но это сложнее. Ещё можно свериться с открытыми списками, например openlibrecommunity/twl, но они могут быть неполными.

Какие хостинги в России дают белые IP?

Самый надёжный вариант — Yandex.Cloud: в белом списке около 13 тысяч его IP, это примерно пятая часть всего списка. Также хорошие шансы у Timeweb (около 2900 IP), VK (почти 3000 IP через три ASN), Selectel (почти 2000 IP), REG.RU. Однако не все IP внутри одного ASN гарантированно белые. Например, у VK Cloud поймать белый IP почти невозможно. Рекомендуется проверить конкретный IP перед покупкой.

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

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

Какие протоколы и инструменты нужны для настройки цепочки?

Для настройки цепочки понадобятся два сервера: российский и зарубежный. На обоих устанавливается Xray-core (минимум версии 25.12.8). Используется протокол VLESS с транспортом xhttp в режиме packet-up и security Reality для маскировки. На клиенте используется любой VPN-клиент, поддерживающий VLESS + Reality, например v2rayNG или Shadowrocket. Также нужен UUID, publicKey и shortId, которые генерируются на серверах.

Почему соединение зависает после 16–20 килобайт данных?

Это особенность работы ТСПУ в режиме белых списков. Вместо явного разрыва через RST, фильтр молча перестаёт форвардить пакеты после того, как объём данных в TCP-сессии превышает порог (примерно 16–20 КБ). Соединение остаётся открытым, но данные не доходят, и клиент отваливается по таймауту. Это делается для того, чтобы блокировка была менее заметной и сложнее диагностировалась. Обойти это можно только с помощью цепочки, где российская прокладка не подвергается такому ограничению.

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

Для маскировки в Reality нужно использовать SNI домена, который входит в белый список и не вызывает подозрений. Хорошие варианты: storage.yandex.net, yastatic.net (Яндекс CDN), userapi.com, vkuser.net (VK CDN), hosting.reg.ru, cdnvideo.ru, okcdn.ru. Избегайте SNI заведомо заблокированных доменов (twitter.com, youtube.com), так как они могут вызвать RST. Список whitelisted доменов можно найти в репозитории openlibrecommunity/twl.