Что такое белые списки и почему они ломают привычные VPN
Белые списки — это режим фильтрации, при котором провайдер пропускает только трафик к заранее разрешённым IP-адресам и доменам, а всё остальное блокируется по умолчанию. В отличие от классических чёрных списков, где запрещены конкретные сайты, здесь работает обратная логика: запрещено всё, кроме явно одобренного. Такой подход применяется в тестовом режиме в ряде регионов России, и он создаёт серьёзные проблемы для большинства VPN-сервисов.
Почему обычные VPN перестают работать? Дело в том, что фильтрация идёт на двух уровнях. На сетевом уровне (L3) блокируются все пакеты, которые направлены на IP-адреса вне белого списка. Если сервер VPN находится, скажем, в Нидерландах, его адрес в список не входит, и пакеты просто не покидают сеть оператора. На прикладном уровне (L7) DPI-система проверяет SNI в TLS-запросах и разрывает соединения, если домен не разрешён. Даже если IP-адрес сервера случайно окажется в списке, SNI с именем VPN-сервера приведёт к блокировке.
Таким образом, стандартные протоколы — OpenVPN, IKEv2, WireGuard — оказываются бесполезны, потому что их трафик легко распознать по характерным сигнатурам, а их серверы почти никогда не попадают в белый список. Для обхода нужны протоколы, которые умеют маскировать трафик под обычный HTTPS и использовать серверы, размещённые на разрешённых IP-адресах.
Ключевые требования к протоколу для работы в условиях белых списков
Чтобы протокол реально работал при белых списках, он должен удовлетворять нескольким условиям.
1. Маскировка трафика под HTTPS. DPI-системы анализируют не только заголовки, но и паттерны трафика: размеры пакетов, временные интервалы, структуру TLS-рукопожатия. Протокол должен имитировать поведение обычного браузера, чтобы его нельзя было отличить от легитимного веб-соединения.
2. Использование разрешённых IP-адресов. Поскольку блокировка на уровне L3 отсекает все неразрешённые адреса, сервер должен находиться в подсети, которая входит в белый список. Это могут быть российские хостинги (Timeweb, Yandex Cloud, VK Cloud) или CDN-сети, которые присутствуют в списке.
3. Поддержка SNI-обфускации. SNI (Server Name Indication) — это поле в TLS-запросе, которое указывает имя сервера. В режиме белых списков DPI проверяет SNI и блокирует соединения с неразрешёнными доменами. Протокол должен позволять подменять SNI на домен из белого списка, например, на vk.com или ya.ru.
4. Устойчивость к активному зондированию. Некоторые DPI-системы пытаются самостоятельно подключиться к серверу, чтобы проверить, действительно ли это легитимный сайт. Протокол должен корректно отвечать на такие запросы, например, отдавать заглушку, если кто-то открывает адрес сервера в браузере.
Этим требованиям соответствуют не все протоколы. Например, классический Shadowsocks без плагинов легко детектируется, а WireGuard без обфускации блокируется на уровне UDP. Поэтому выбор протокола — это не вопрос вкуса, а вопрос выживания в условиях жёсткой фильтрации.
VLESS + XTLS-Reality: почему это считается лучшим решением
VLESS (V2Ray Lightweight Encryption Security Stream) — это протокол, разработанный как упрощённая и более производительная альтернатива VMESS. Он не шифрует трафик на уровне протокола, что снижает накладные расходы и повышает скорость. Но главное преимущество VLESS — его гибкость: он поддерживает различные транспорты (TCP, WebSocket, gRPC) и может работать поверх TLS.
В сочетании с технологией XTLS-Reality VLESS становится практически идеальным инструментом для обхода белых списков. Reality — это метод маскировки, который имитирует TLS-рукопожатие реального сайта (например, vk.com или ya.ru). Сервер «притворяется» этим сайтом: он использует его сертификат, поддерживает TLS-сессию и отвечает на зондирование как настоящий веб-сервер. DPI видит обычное HTTPS-соединение с разрешённым доменом и пропускает его.
Почему Reality считается лучшим? Во-первых, он не требует покупки дорогих сертификатов или настройки CDN — достаточно VPS с IP в белом списке. Во-вторых, он устойчив к активному зондированию: если DPI попытается подключиться к серверу напрямую, Reality вернёт корректный ответ от имитируемого сайта. В-третьих, XTLS-Vision (расширение для VLESS) оптимизирует передачу данных, что даёт высокую скорость даже при обходе фильтрации.
На практике конфигурация VLESS+Reality выглядит так: клиент подключается к серверу на порту 443, отправляя SNI с доменом из белого списка (например, vklive.enotfast.com). Сервер, размещённый на IP из подсети Timeweb или Yandex Cloud, принимает соединение, и весь трафик идёт внутри TLS-туннеля, неотличимого от обычного HTTPS.
Shadowsocks и его плагины: проверенная классика с нюансами
Shadowsocks — это прокси-протокол, который уже много лет используется для обхода блокировок. Его главное преимущество — простота и низкие накладные расходы. Однако в чистом виде Shadowsocks легко детектируется DPI по характерной структуре пакетов. Поэтому для работы в условиях белых списков необходимы дополнительные плагины маскировки.
Самые популярные плагины — v2ray-plugin и simple-obfs. Они маскируют трафик под обычный HTTP или HTTPS, добавляя к пакетам правильные заголовки и имитируя поведение веб-клиента. Например, v2ray-plugin может работать в режиме WebSocket, что делает трафик неотличимым от обычного веб-сокета. Это позволяет обойти SNI-фильтрацию, если правильно настроить домен.
Однако у Shadowsocks есть ограничения. Во-первых, он не поддерживает имитацию TLS-рукопожатия на уровне Reality, поэтому активное зондирование может выдать прокси. Во-вторых, для работы через белые списки сервер всё равно должен находиться на разрешённом IP, иначе L3-фильтрация отсечёт его. В-третьих, скорость может быть ниже, чем у VLESS, из-за дополнительных слоёв маскировки.
Тем не менее, Shadowsocks остаётся рабочим вариантом, особенно если у вас уже есть настроенный сервер и вы не хотите переходить на VLESS. Главное — использовать актуальные плагины и выбирать SNI-домены из белого списка.
Trojan-GFW: маскировка под HTTPS с заглушкой
Trojan-GFW — это ещё один протокол, который заслуживает внимания. Его принцип работы основан на том, что весь трафик выглядит как обычный HTTPS-запрос к легитимному сайту. Если кто-то попытается открыть адрес сервера в браузере, он увидит обычную веб-страницу-заглушку, что делает сервер практически неотличимым от настоящего сайта.
Trojan использует TLS и порт 443, что уже само по себе маскирует трафик. Для обхода белых списков важно, чтобы SNI указывал на разрешённый домен. Например, можно настроить Trojan на домене, который входит в белый список, или использовать SNI-подмену на клиенте.
Однако у Trojan есть свои слабости. Он менее гибок, чем VLESS, и не поддерживает такие продвинутые методы маскировки, как Reality. Кроме того, его трафик может быть распознан по характерным паттернам, если DPI использует машинное обучение. Тем не менее, для базового обхода белых списков Trojan остаётся рабочим вариантом, особенно если сервер размещён на российском хостинге с IP в белом списке.
На практике Trojan часто используется в связке с Nginx: Nginx выступает как фронтенд, отдавая заглушку для посторонних, а Trojan обрабатывает только запросы с правильным паролем. Это добавляет дополнительный уровень маскировки.
Почему стандартные VPN-протоколы не работают: OpenVPN, WireGuard, IKEv2
Многие пользователи задаются вопросом: почему нельзя просто использовать OpenVPN или WireGuard? Ответ кроется в том, как эти протоколы взаимодействуют с сетью.
OpenVPN использует UDP или TCP на портах 1194 или 443. Его трафик имеет характерную сигнатуру в заголовках пакетов, которую DPI распознаёт без труда. Даже если использовать порт 443, DPI анализирует структуру пакетов и временные интервалы, отличая VPN от обычного HTTPS. В режиме белых списков OpenVPN блокируется на уровне L3, если IP сервера не в списке, и на уровне L7, если SNI не разрешён.
WireGuard — это современный протокол, который славится высокой скоростью и простотой. Однако его UDP-пакеты имеют характерную структуру, и DPI легко их идентифицирует. Кроме того, WireGuard использует фиксированные порты (обычно 51820), которые легко блокировать. В режиме белых списков UDP-трафик почти полностью режется, поэтому WireGuard без обфускации бесполезен.
IKEv2/IPSec использует UDP-порты 500 и 4500, которые также легко блокируются. Кроме того, этот протокол часто требует дополнительных настроек для работы через NAT, что делает его ещё более уязвимым для DPI.
Таким образом, все стандартные протоколы имеют один и тот же недостаток: их трафик легко отличить от обычного веб-трафика. Для обхода белых списков нужны протоколы, которые специально разработаны для маскировки, такие как VLESS+Reality или Shadowsocks с плагинами.
Как выбрать сервер и SNI-домен для максимальной эффективности
Даже лучший протокол не заработает, если сервер находится на IP, который не входит в белый список. Поэтому выбор сервера и SNI-домена — это критически важный шаг.
Выбор сервера. По данным сканирования, в белый список входят IP-адреса российских хостингов и облачных провайдеров. Лидерами по количеству IP являются Yandex Cloud (более 12 000 адресов), Timeweb (около 2 900), VK (почти 3 000 через несколько ASN), Selectel и Beget. Если вы арендуете VPS у одного из этих провайдеров, есть высокая вероятность, что его IP попадёт в белый список. Однако это не гарантировано, поэтому перед покупкой стоит проверить IP через сервисы вроде 2ip.ru или использовать бесплатные пробные периоды.
Выбор SNI-домена. SNI должен указывать на домен, который точно есть в белом списке. Из сканирования известны надёжные варианты: storage.yandex.net, yastatic.net, userapi.com, vkuser.net, hosting.reg.ru, cdnvideo.ru. Важно избегать доменов, которые явно заблокированы, например twitter.com или youtube.com — они могут вызвать RST-ответ. Также стоит учитывать, что правила SNI-фильтрации могут различаться в зависимости от подсети: один и тот же SNI может пропускаться через IP Яндекса, но блокироваться через IP VK.
Практические советы. Если вы используете VLESS+Reality, выберите SNI домена, который имитирует реальный сайт, например vklive.enotfast.com. Для Shadowsocks с v2ray-plugin можно использовать любой HTTPS-домен из белого списка. Главное — чтобы домен не был в чёрном списке SNI и чтобы сервер отвечал на зондирование корректно.
Практические примеры настройки VLESS+Reality и Shadowsocks
Рассмотрим, как настроить обход белых списков на практике. Для VLESS+Reality потребуется VPS с IP в белом списке и установленный Xray или V2Ray.
Пример конфигурации VLESS+Reality:
vless://UUID@IP:443?type=tcp&security=reality&pbk=ПУБЛИЧНЫЙ_КЛЮЧ&fp=chrome&sni=vklive.enotfast.com&sid=SHORT_ID&flow=xtls-rprx-visionЗдесь UUID — это ваш идентификатор, IP — адрес сервера, pbk — публичный ключ Reality, sni — домен из белого списка, sid — короткий ID. На сервере необходимо сгенерировать ключи Reality и настроить Xray с параметрами, имитирующими сайт.
Пример настройки Shadowsocks с v2ray-plugin:
Установите Shadowsocks-libev и v2ray-plugin. В конфигурации укажите:
{
"server": "0.0.0.0",
"server_port": 443,
"password": "ваш_пароль",
"method": "chacha20-ietf-poly1305",
"plugin": "v2ray-plugin",
"plugin_opts": "tls;host=storage.yandex.net"
}Здесь host — это SNI-домен, который будет использоваться для маскировки. На клиенте настройте Shadowsocks с теми же параметрами и укажите адрес сервера.
Важные нюансы. Убедитесь, что сервер слушает порт 443 и использует TLS-сертификат. Для Reality сертификат не нужен, так как он имитирует существующий сайт. Для Shadowsocks с v2ray-plugin потребуется настоящий сертификат, если вы используете режим TLS. Также не забывайте про фаервол: разрешите входящие соединения на порт 443.
Ограничения и риски: что нужно знать перед использованием
Несмотря на эффективность VLESS+Reality и других методов, у них есть ограничения и риски.
Нестабильность белых списков. Белые списки не являются статичными. Они меняются в зависимости от региона, оператора и даже времени суток. Например, в Москве белые списки могут работать эпизодически, а в регионах — постоянно. Один и тот же IP может быть доступен на одной вышке, но заблокирован на соседней. Поэтому даже рабочий сервер может перестать работать без предупреждения.
Различия между операторами. У разных операторов (МТС, Билайн, МегаФон, Теле2) правила фильтрации могут отличаться. Например, у Мегафона внешние DNS-серверы блокируются, а у МТС — нет. Это значит, что метод, работающий у одного оператора, может не сработать у другого. Рекомендуется иметь несколько серверов и протоколов для переключения.
Юридические риски. Использование методов обхода блокировок может нарушать законодательство РФ. Статья 15.1 ФЗ-149 предусматривает ответственность за обход блокировок, хотя на практике наказания редки. Тем не менее, стоит осознавать возможные последствия.
Технические риски. Неправильная настройка может привести к утечке трафика или блокировке сервера. Также существует риск, что DPI-системы будут совершенствоваться и научатся распознавать даже Reality. Поэтому важно следить за обновлениями и использовать актуальные версии протоколов.
Сравнение протоколов: сводная таблица и рекомендации
Для наглядности сравним основные протоколы по ключевым параметрам.
| Протокол | Маскировка | Скорость | Сложность настройки | Устойчивость к DPI | |----------|------------|----------|---------------------|--------------------| | VLESS+Reality | Отличная (имитация TLS) | Высокая | Средняя | Высокая | | Shadowsocks + v2ray-plugin | Хорошая (WebSocket/TLS) | Средняя | Низкая | Средняя | | Trojan-GFW | Хорошая (HTTPS) | Средняя | Низкая | Средняя | | OpenVPN | Плохая | Средняя | Низкая | Низкая | | WireGuard | Плохая | Высокая | Низкая | Низкая |
Рекомендации. Если вам нужна максимальная эффективность и вы готовы потратить время на настройку, выбирайте VLESS+Reality. Он обеспечивает лучшую маскировку и высокую скорость. Если вы предпочитаете простоту, используйте Shadowsocks с v2ray-plugin — он проще в настройке и тоже работает. Trojan-GFW — хороший компромисс, но менее гибок.
Для большинства пользователей оптимальным решением будет использование готовых VPN-сервисов, которые уже настроили все эти технологии. Например, некоторые сервисы предлагают обфускацию WireGuard, которая маскирует трафик под HTTPS. Однако такие сервисы могут быть дороже, и их эффективность зависит от качества реализации.
В любом случае, перед выбором протокола стоит протестировать его в вашем регионе и у вашего оператора. Начните с бесплатных пробных периодов или настройте собственный сервер на VPS с IP в белом списке.
Вопросы и ответы
Какой протокол лучше всего подходит для обхода белых списков?
Лучшим протоколом считается VLESS в сочетании с XTLS-Reality. Он имитирует TLS-рукопожатие реального сайта из белого списка, что делает трафик неотличимым от обычного HTTPS. Reality устойчив к активному зондированию и обеспечивает высокую скорость. Альтернативы — Shadowsocks с плагинами (v2ray-plugin) и Trojan-GFW, но они менее надёжны.
Почему обычные VPN (OpenVPN, WireGuard) не работают при белых списках?
Обычные VPN используют характерные сигнатуры трафика, которые DPI легко распознаёт. Кроме того, их серверы обычно находятся на IP-адресах, не входящих в белый список, поэтому пакеты блокируются на уровне L3. Даже если IP разрешён, SNI с доменом VPN-сервера вызывает блокировку на уровне L7.
Можно ли использовать бесплатные VPN для обхода белых списков?
Практически нет. Бесплатные VPN обычно используют стандартные протоколы без обфускации, поэтому их трафик легко блокируется. Некоторые сервисы предлагают бесплатные тарифы с обфускацией (например, ZoogVPN с ZoogShadow), но они имеют ограничения по трафику и скорости. Для стабильной работы лучше использовать платные сервисы или собственный сервер.
Как проверить, работает ли мой VPN при белых списках?
Подключитесь к VPN и откройте сайт 2ip.ru или whoer.net. Проверьте, изменился ли ваш IP-адрес. Затем попробуйте открыть несколько заблокированных сайтов (например, YouTube или Instagram). Если они открываются — VPN работает. Если ничего не открывается, включая разрешённые сайты, значит VPN заблокирован.
Какие SNI-домены лучше использовать для маскировки?
Надёжные SNI-домены включают storage.yandex.net, yastatic.net, userapi.com, vkuser.net, hosting.reg.ru, cdnvideo.ru. Они входят в белые списки у большинства операторов. Избегайте доменов, которые явно заблокированы, например twitter.com или youtube.com, так как они могут вызвать RST-ответ.
Что делать, если VPN перестал работать при белых списках?
Сначала попробуйте переключиться на другой сервер или протокол. Если используете VLESS+Reality, проверьте, что SNI-домен всё ещё в белом списке. Также можно сменить порт на 443 или 80. Если ничего не помогает, возможно, ваш IP-адрес был исключён из списка — арендуйте новый VPS или используйте сервис с обфускацией.
Насколько законно использовать методы обхода белых списков?
В России использование VPN и других средств обхода блокировок не запрещено напрямую, но существует статья 15.1 ФЗ-149, которая предусматривает ответственность за предоставление таких средств. На практике наказания для пользователей редки, но юридические риски существуют. Рекомендуется ознакомиться с местным законодательством.