Как устроены белые списки и почему DNS-обход — не панацея
Белые списки — это режим фильтрации, при котором провайдер пропускает только трафик к заранее одобренным IP-адресам и доменам, а всё остальное блокируется на уровне маршрутизации. В отличие от классических чёрных списков, где запрещено конкретное, здесь по умолчанию запрещено всё, кроме разрешённого. Это принципиально меняет подход к обходу: если раньше достаточно было сменить DNS, чтобы обойти блокировку по домену, то теперь фильтрация идёт на сетевом уровне (L3) и уровне приложений (L7).
Когда вы пытаетесь открыть сайт, который не входит в белый список, пакеты просто не покидают сеть оператора — они отбрасываются на маршрутизаторе. Даже если вы укажете DNS-сервер, который вернёт IP-адрес заблокированного ресурса, соединение всё равно не установится, потому что сам IP не разрешён. Поэтому DNS-обход в чистом виде работает только в сценариях, где блокировка основана на доменных именах, а не на IP-адресах. В условиях белых списков это почти всегда не так.
Тем не менее, DNS остаётся важным элементом: он определяет, какой IP-адрес вы получите для домена. Если DNS-сервер вернёт адрес, который не в белом списке, доступ будет невозможен. Если же он вернёт адрес из разрешённого диапазона (например, через CDN или прокси), то шансы на успех появляются. Поэтому понимание того, какие DNS-серверы доступны и как они работают, критично для построения рабочей схемы обхода.
Почему стандартные DNS (8.8.8.8, 1.1.1.1) не работают при белых списках
При белых списках провайдеры часто блокируют не только HTTP/HTTPS-трафик, но и DNS-запросы к внешним серверам. Например, в ходе тестов через мобильного оператора Мегафон было обнаружено, что порт UDP:53 закрыт для всех внешних DNS-серверов: 8.8.8.8 (Google), 1.1.1.1 (Cloudflare) и 77.88.8.8 (Яндекс) — все они дают таймаут. Работает только DNS-сервер самого провайдера (в случае Мегафона — 10.233.58.133). Это означает, что даже если вы вручную пропишете DNS Google, запрос не уйдёт — он будет отброшен на уровне сети.
Такая блокировка реализована на уровне L3: UDP-пакеты к неразрешённым IP-адресам просто не маршрутизируются. Это касается не только DNS, но и других UDP-протоколов, включая QUIC (UDP:443) и WireGuard (UDP:51820). Поэтому любые попытки использовать альтернативные DNS-серверы, которые не входят в белый список, обречены на провал.
Важно отметить, что ситуация может отличаться у разных операторов и в разных регионах. У некоторых провайдеров внешние DNS могут быть доступны, но это скорее исключение, чем правило. В большинстве случаев при включённом белом списке доступен только DNS провайдера, что делает классический DNS-обход невозможным.
Какие DNS-серверы могут работать: внутренние и специальные
Если внешние DNS заблокированы, остаётся вариант использовать DNS-серверы, которые находятся в белом списке. Это могут быть:
- DNS провайдера — как правило, работает всегда, но возвращает только разрешённые адреса. Он не поможет обойти блокировку, но обеспечивает базовую работу с разрешёнными сайтами.
- DNS-серверы на IP-адресах из белого списка — если у вас есть свой сервер в облаке Яндекса, VK или Timeweb, вы можете поднять на нём DNS-сервер и использовать его. Поскольку IP сервера входит в белый список, UDP:53 к нему будет пропускаться. Однако нужно учитывать, что не все провайдеры разрешают произвольный UDP-трафик даже к белым IP — в тестах Мегафона UDP:53 к внешним адресам был закрыт, но к адресам из белого списка (например, к IP Яндекса) он может работать.
- DNS-over-HTTPS (DoH) и DNS-over-TLS (DoT) — эти протоколы работают поверх TCP (порт 443 для DoH, 853 для DoT). Если IP-адрес DNS-сервера входит в белый список, DoH-запросы могут проходить, так как они маскируются под обычный HTTPS-трафик. Например, можно использовать DoH-сервер Яндекса (https://common.dot.yandex.ru) или Cloudflare (https://cloudflare-dns.com/dns-query), но только если их IP не заблокирован.
На практике наиболее надёжный вариант — поднять собственный DNS-сервер на VPS с IP из белого списка и использовать его через DoH или обычный UDP:53. Это требует технических навыков, но даёт контроль над резолвингом и возможность возвращать адреса, которые ведут на прокси или CDN.
Как DNS-запросы взаимодействуют с фильтрацией SNI и IP
Даже если DNS-запрос успешно разрешается и вы получаете IP-адрес, это не гарантирует доступ. Фильтрация на уровне L7 проверяет SNI (Server Name Indication) в TLS-рукопожатии. Если домен, который вы запрашиваете, находится в чёрном списке SNI, соединение будет разорвано (RST), даже если IP-адрес разрешён.
Например, в тестах с IP Яндекса (77.88.55.242) SNI google.com проходил (возвращал HTTP 406), а twitter.com — блокировался. При этом через IP VK (87.240.132.78) twitter.com также блокировался, а telegram.org — нет. Это показывает, что правила SNI-фильтрации неконсистентны и зависят от конкретного IP и ASN.
Для DNS-обхода это означает, что нужно не только получить IP из белого списка, но и использовать SNI, который не в чёрном списке. Например, если вы настраиваете прокси на VPS, важно выбрать SNI, который выглядит легитимно (например, vk.com или ya.ru), чтобы DPI не заблокировал соединение. DNS-сервер в этой схеме играет роль только в том, чтобы направить клиента на правильный IP, но сам по себе не решает проблему SNI-фильтрации.
Практические схемы обхода с использованием DNS и прокси
Учитывая ограничения, DNS-обход в чистом виде неэффективен. Однако DNS можно использовать как часть более сложной схемы:
- Собственный DNS + прокси на VPS из белого списка. Вы поднимаете DNS-сервер на VPS (например, в Yandex Cloud) и настраиваете его так, чтобы для определённых доменов он возвращал IP вашего прокси-сервера. Прокси-сервер (например, VLESS + Reality) принимает соединения и перенаправляет трафик к целевым сайтам. Клиент использует этот DNS через DoH или UDP:53, получает IP прокси, и весь трафик идёт через него.
- Использование DNS-серверов, которые возвращают IP из белого списка. Некоторые публичные DNS (например, Яндекс DNS) могут возвращать адреса CDN, которые находятся в белом списке. Но это работает только для сайтов, которые используют российские CDN (например, VK, Яндекс). Для заблокированных зарубежных ресурсов это не поможет.
- Комбинированный подход: DNS + VPN с обфускацией. Если вы используете VPN-сервис с обфускацией (например, WireGuard с маскировкой под HTTPS), DNS-запросы могут идти через VPN-туннель. В этом случае внешний DNS становится доступен, так как трафик инкапсулирован. Но для этого VPN должен работать при белых списках, что возможно только с обфускацией и серверами в разрешённых сетях.
Настройка собственного DNS требует определённых знаний: нужно уметь работать с BIND или dnsmasq, настраивать DoH (например, через dnscrypt-proxy) и обеспечивать безопасность сервера. Но это даёт максимальную гибкость.
Инструменты и репозитории для получения актуальных списков
Для настройки обхода полезно иметь актуальные списки IP-адресов, которые входят в белый список. Сообщество openlibrecommunity ведёт репозиторий twl (The White List), который обновляется еженедельно и содержит результаты сканирования белых списков через мобильных операторов. Эти данные включают IP-адреса, ASN и домены, которые пропускаются.
Также существуют проекты, которые собирают списки разрешённых доменов для маршрутизации, например itdoginfo/allow-domains. Они полезны для настройки split-tunneling, когда часть трафика идёт напрямую, а часть — через VPN. Однако важно помнить, что списки меняются, и то, что работало вчера, может перестать работать сегодня.
При использовании таких списков нужно учитывать, что они не гарантируют 100% точность: сканирование может пропускать некоторые IP, а правила провайдеров различаются. Поэтому рекомендуется проверять доступность конкретных адресов перед настройкой.
Ограничения и риски: почему DNS-обход может не сработать
Даже при использовании собственного DNS-сервера на белом IP есть риски:
- Блокировка UDP:53 к нестандартным портам. Некоторые провайдеры могут блокировать DNS-запросы не только к внешним IP, но и к любым IP, если порт нестандартный. В этом случае поможет только DoH/DoT.
- Фильтрация по SNI. Если вы используете прокси, но SNI не замаскирован должным образом, DPI может заблокировать соединение.
- Нестабильность белых списков. Списки меняются: что-то добавляют, что-то убирают. Ваш VPS может быть исключён из белого списка в любой момент.
- Юридические риски. Обход блокировок может нарушать законодательство РФ, и использование таких методов может повлечь ответственность.
Также стоит помнить, что DNS-обход не решает проблему, если блокировка идёт на уровне IP. Если целевой сайт имеет IP, который не в белом списке, никакой DNS не поможет — нужно прокси или VPN.
Альтернативы DNS-обходу: VLESS, Shadowsocks и обфускация
Поскольку DNS-обход ограничен, более эффективными считаются методы, которые маскируют трафик под легитимный:
- VLESS + XTLS-Reality — протокол, который имитирует TLS-соединение с реальным сайтом (например, vk.com). Сервер на VPS из белого списка принимает трафик, и DPI не может отличить его от обычного HTTPS.
- Shadowsocks с плагинами (v2ray-plugin, simple-obfs) — маскирует трафик под HTTP/HTTPS.
- Trojan-GFW — работает как HTTPS-сервер, но с дополнительной аутентификацией.
- VPN с обфускацией (например, WireGuard с маскировкой) — коммерческие сервисы, такие как VPNUS, предлагают решения, которые проходят через белые списки.
Эти методы требуют наличия VPS с IP в белом списке. Хорошие варианты — Yandex Cloud (бесплатный грант 4000₽), Timeweb (бесплатный reroll IP), VK Cloud. Важно выбирать SNI, который не в чёрном списке, например storage.yandex.net или userapi.com.
Настройка таких решений сложнее, чем просто смена DNS, но они обеспечивают реальный доступ к заблокированным ресурсам.
Как проверить, работает ли ваш DNS-обход
Чтобы убедиться, что схема работает, выполните следующие шаги:
- Проверьте доступность DNS-сервера: используйте
dig @ваш_сервер domain.comилиnslookup. Если ответ приходит, DNS работает. - Проверьте, какой IP возвращается для целевого домена. Он должен быть либо в белом списке, либо вести на ваш прокси.
- Попробуйте открыть сайт через браузер. Если соединение устанавливается, но затем рвётся, возможно, проблема в SNI.
- Используйте инструменты типа
curl -v https://example.comдля просмотра деталей TLS-рукопожатия. - Проверьте, не блокируется ли UDP:53:
dig @8.8.8.8 ya.ru— если таймаут, значит, внешний DNS недоступен.
Также можно использовать онлайн-сервисы для проверки доступности IP и портов, но они сами могут быть заблокированы.
Заключение: что выбрать для стабильного доступа
DNS-серверы — это лишь малая часть головоломки. В условиях белых списков они не решают проблему, если блокировка идёт на уровне IP. Для стабильного доступа к заблокированным ресурсам необходим комплексный подход: VPS с IP в белом списке, прокси-протокол с маскировкой (VLESS+Reality, Shadowsocks) и, возможно, собственный DNS для управления резолвингом.
Если вы не готовы к сложной настройке, можно использовать коммерческие VPN-сервисы с обфускацией, которые уже адаптированы под российские реалии. Однако помните, что любые методы обхода могут быть заблокированы в будущем, и важно следить за обновлениями в сообществах.
В любом случае, DNS-обход стоит рассматривать только как вспомогательный инструмент, а не как основное решение.
Вопросы и ответы
Почему 8.8.8.8 и 1.1.1.1 не работают при белых списках?
При белых списках провайдеры блокируют UDP-трафик к неразрешённым IP-адресам, включая внешние DNS-серверы. Например, у Мегафона порт UDP:53 закрыт для всех внешних DNS, работает только DNS провайдера. Это делается на уровне маршрутизации, поэтому даже если вы вручную пропишете DNS Google, запрос не уйдёт.
Можно ли использовать DNS-over-HTTPS для обхода белых списков?
Да, если IP-адрес DoH-сервера входит в белый список. DoH работает поверх TCP:443 и маскируется под обычный HTTPS, поэтому может проходить фильтрацию. Например, можно использовать DoH-сервер Яндекса или Cloudflare, но нужно проверить доступность их IP в вашей сети.
Как поднять собственный DNS-сервер на VPS из белого списка?
Выберите VPS у провайдера, который входит в белый список (Yandex Cloud, Timeweb, VK Cloud). Установите DNS-сервер (BIND, dnsmasq) и настройте его. Для доступа через DoH можно использовать dnscrypt-proxy. Убедитесь, что IP вашего VPS разрешён, и настройте клиент на использование этого DNS.
Поможет ли смена DNS обойти блокировку YouTube?
Нет, если блокировка идёт на уровне IP. YouTube имеет множество IP-адресов, которые не входят в белый список, поэтому даже если DNS вернёт правильный IP, соединение будет заблокировано. Нужен прокси или VPN с обфускацией.
Какие DNS-серверы работают в белых списках?
Обычно работает только DNS провайдера. Если у вас есть VPS с IP в белом списке, вы можете поднять на нём DNS и использовать его. Также могут работать DoH-серверы, если их IP разрешён. Но универсального публичного DNS, который бы обходил белые списки, не существует.
Безопасно ли использовать собственный DNS-сервер для обхода?
Технически это безопасно, если вы контролируете сервер и не нарушаете закон. Однако обход блокировок может быть расценён как нарушение законодательства РФ, что влечёт риски. Также важно защитить DNS-сервер от несанкционированного доступа.