Что такое белые списки и как они меняют работу DNS
Белые списки — это режим фильтрации трафика, при котором разрешено только то, что явно внесено в перечень, а всё остальное блокируется. В отличие от классических чёрных списков, где запрещены конкретные ресурсы, здесь действует принцип default deny: запрещено всё, кроме разрешённого. Это кардинально меняет поведение сети, включая работу DNS.
Когда оператор включает белые списки, фильтрация происходит на двух уровнях. На сетевом уровне (L3) блокируются все IP-адреса, не входящие в разрешённые подсети. На прикладном уровне (L7) DPI-система проверяет SNI в TLS-соединениях и может разрывать соединения с запрещёнными доменами. DNS при этом оказывается под ударом: если ваш DNS-сервер не входит в белый список, запросы к нему просто не уходят.
Для пользователя это означает, что привычные настройки DNS перестают работать. Внешние резолверы вроде 8.8.8.8 или 1.1.1.1 становятся недоступны, и система автоматически переключается на DNS провайдера. Но даже DNS провайдера может работать с ограничениями, если его IP не включён в белый список. Понимание этих механизмов — первый шаг к восстановлению доступа.
Почему внешние DNS-серверы перестают отвечать
В режиме белых списков фильтрация на уровне L3 блокирует все пакеты, идущие на IP-адреса, не входящие в разрешённый перечень. Это касается и DNS-серверов. Например, при тестировании через мобильного оператора Мегафон было обнаружено, что запросы к 8.8.8.8 (Google), 1.1.1.1 (Cloudflare) и 77.88.8.8 (Яндекс) получают статус TIMEOUT — пакеты просто не доходят до адресата.
При этом DNS самого оператора, например 10.233.58.133 у Мегафона, продолжает работать. Это объясняется тем, что внутренние IP-адреса оператора включены в белый список. Однако такая ситуация не универсальна: у разных провайдеров правила могут отличаться. У одного оператора внешние DNS могут быть доступны, у другого — нет, и даже в рамках одного оператора доступность может меняться в зависимости от региона или точки подключения.
Важно понимать, что блокировка DNS — это не отдельная мера, а следствие общей фильтрации по IP. Если DNS-сервер не входит в белый список, он недоступен по любому протоколу, включая UDP:53 и TCP:53. Поэтому попытки использовать альтернативные DNS, такие как DoH или DoT, также обречены на провал, если их IP-адреса не разрешены.
Как проверить доступность DNS в условиях белых списков
Прежде чем предпринимать какие-либо действия, важно понять, работает ли ваш DNS и какой именно резолвер используется. Самый простой способ — выполнить команду dig или nslookup для известного домена, например ya.ru, и посмотреть, какой сервер отвечает. Если ответ приходит от IP-адреса вашего оператора, значит, система использует внутренний DNS.
Чтобы проверить доступность конкретных DNS-серверов, можно использовать утилиту dig с указанием адреса резолвера. Например, dig @8.8.8.8 ya.ru покажет, доступен ли Google DNS. Если команда зависает или возвращает timeout, это означает, что пакеты блокируются. Аналогично можно проверить 1.1.1.1, 77.88.8.8 и другие.
Также полезно проверить, работает ли DNS через TCP, а не только UDP. Некоторые системы фильтрации блокируют UDP, но пропускают TCP. Однако в режиме белых списков, как правило, блокируются оба протокола, если IP не разрешён. Для более точной диагностики можно использовать tcpdump или Wireshark, чтобы увидеть, уходят ли запросы и приходят ли ответы.
Какие DNS-серверы могут оставаться доступными
В условиях белых списков доступными остаются только те DNS-серверы, чьи IP-адреса включены в разрешённый перечень. Чаще всего это DNS-серверы самого оператора связи, так как они находятся в его внутренней инфраструктуре. Например, у Мегафона это 10.233.58.133, у МТС — свои внутренние адреса.
Кроме того, в белый список могут попадать DNS-серверы крупных российских компаний, таких как Яндекс. Однако, как показало тестирование, 77.88.8.8 (Яндекс DNS) может быть недоступен, если его IP не включён в список. Это зависит от конкретного оператора и региона.
Интересно, что некоторые DNS-серверы, размещённые на IP-адресах из белого списка, могут работать, даже если они не являются официальными DNS-серверами. Например, если у вас есть VPS в Яндекс.Облаке, вы можете поднять на нём свой DNS-резолвер, и он будет доступен, так как IP-адреса Яндекс.Облака входят в белый список. Это один из способов обойти ограничения.
Влияние белых списков на SNI и TLS-соединения
Помимо DNS, белые списки влияют на работу TLS-соединений через проверку SNI (Server Name Indication). Даже если IP-адрес сервера входит в белый список, DPI-система может разорвать соединение, если SNI содержит запрещённый домен. Это создаёт дополнительные сложности при настройке обходов.
Например, при подключении к IP-адресу Яндекса с SNI twitter.com соединение может быть сброшено (RST), хотя IP разрешён. При этом SNI google.com через тот же IP может работать, так как google.com не входит в чёрный список SNI. Это несоответствие объясняется тем, что правила SNI-фильтрации не консистентны между разными подсетями и операторами.
Для DNS это означает, что даже если вы настроите свой DNS-сервер на разрешённом IP, при попытке подключиться к заблокированному домену через SNI соединение может быть разорвано. Поэтому при обходе белых списков важно использовать SNI разрешённых доменов, например vk.com или ya.ru, чтобы маскировать трафик.
Методы обхода DNS-ограничений при белых списках
Существует несколько способов обойти ограничения DNS в условиях белых списков. Один из них — использование VPN-туннеля, который шифрует весь трафик, включая DNS-запросы. Однако классические VPN-сервисы не работают, так как их серверы находятся за пределами белого списка. Поэтому необходимо использовать серверы, размещённые на IP-адресах, входящих в белый список.
Например, можно арендовать VPS в Яндекс.Облаке или у Timeweb, которые входят в белый список, и настроить на нём VPN-сервер. Тогда весь трафик, включая DNS, будет идти через этот сервер, и внешние DNS-запросы будут выполняться от его имени. Это позволяет обойти блокировку внешних DNS.
Другой метод — использование протокола VLESS с Reality и подменой SNI. В этом случае трафик маскируется под легитимное соединение с разрешённым доменом, например vk.com. DNS-запросы при этом также туннелируются, и внешние резолверы становятся доступны. Важно выбирать SNI, который не блокируется DPI, и использовать серверы с IP из белого списка.
Практические примеры настройки DNS через VPS в белом списке
Рассмотрим практический пример. Допустим, у вас есть VPS в Яндекс.Облаке с IP-адресом, входящим в белый список. Вы можете установить на него DNS-сервер, например dnsmasq или unbound, и настроить его на пересылку запросов к внешним резолверам, таким как 8.8.8.8. Затем на вашем устройстве укажите этот VPS в качестве DNS-сервера.
Однако важно помнить, что DNS-запросы к вашему VPS будут идти по UDP:53, и если порт 53 не входит в белый список, они могут быть заблокированы. В таком случае можно использовать DNS-over-HTTPS (DoH) или DNS-over-TLS (DoT), которые работают через порт 443. Настроив на VPS прокси для DoH, вы сможете обойти блокировку.
Ещё один вариант — использовать VPN-туннель, который инкапсулирует DNS-запросы внутри зашифрованного соединения. Например, WireGuard или VLESS с Reality. В этом случае DNS-запросы идут внутри туннеля, и внешние резолверы становятся доступны без дополнительной настройки DNS.
Ограничения и риски при использовании обходных методов
Важно понимать, что все методы обхода белых списков имеют ограничения и риски. Во-первых, они могут перестать работать, если оператор обновит правила фильтрации. Например, если IP-адрес вашего VPS будет исключён из белого списка, доступ к нему пропадёт.
Во-вторых, использование подмены SNI может быть обнаружено DPI-системами, которые анализируют TLS-отпечатки. Некоторые операторы уже блокируют VLESS Reality, если он использует нестандартные параметры. Поэтому важно использовать актуальные конфигурации и регулярно обновлять их.
В-третьих, не забывайте о юридических рисках. Обход блокировок может нарушать законодательство, и в некоторых случаях это может привести к административной или уголовной ответственности. Рекомендуется ознакомиться с местными законами и действовать осторожно.
Как выбрать DNS-сервер для работы в условиях белых списков
Если вы не хотите использовать обходные методы, а просто хотите, чтобы DNS работал в условиях белых списков, выбирайте DNS-серверы, которые гарантированно входят в белый список. Это, прежде всего, DNS вашего оператора связи. Узнать его адрес можно в настройках роутера или через команду ipconfig /all (Windows) или nmcli dev show (Linux).
Также можно использовать DNS-серверы крупных российских компаний, если их IP-адреса входят в белый список. Например, DNS Яндекса (77.88.8.8) может работать у некоторых операторов, но не у всех. Лучше проверить доступность с помощью dig.
Если вы используете VPS в белом списке, вы можете поднять на нём собственный DNS-резолвер и использовать его. Это даст вам больше контроля и позволит обойти ограничения, но требует технических навыков. В любом случае, перед выбором DNS-сервера проверьте его доступность в вашей сети.
Будущее DNS и белых списков: что ожидать
Ситуация с белыми списками и DNS постоянно меняется. Операторы обновляют правила фильтрации, добавляют новые IP-адреса и домены, а также совершенствуют DPI-системы. Это означает, что методы обхода, работающие сегодня, могут перестать работать завтра.
В то же время появляются новые технологии, такие как ECH (Encrypted Client Hello), которые могут помочь скрыть SNI. Однако в условиях белых списков, где блокировка идёт по IP, ECH не решает проблему, так как IP-адрес назначения всё равно виден.
Вероятно, в будущем белые списки будут распространяться и на проводной интернет, что ещё больше ограничит возможности пользователей. Однако пока Минцифры опровергает такие планы. Тем не менее, важно быть готовым к любым изменениям и следить за новостями.
Вопросы и ответы
Почему внешние DNS-серверы не работают при белых списках?
В режиме белых списков фильтрация на уровне IP блокирует все пакеты, идущие на адреса, не входящие в разрешённый перечень. Внешние DNS-серверы, такие как 8.8.8.8 или 1.1.1.1, не включены в этот перечень, поэтому запросы к ним просто не доходят. Работает только DNS провайдера, чей IP-адрес находится в белом списке.
Как проверить, какой DNS-сервер используется при белых списках?
Выполните команду dig ya.ru или nslookup ya.ru в терминале. В ответе будет указан адрес DNS-сервера, который обработал запрос. Если это IP-адрес вашего оператора (например, 10.233.58.133 у Мегафона), значит, используется внутренний DNS. Также можно проверить доступность конкретных резолверов командой dig @8.8.8.8 ya.ru — если ответа нет, сервер заблокирован.
Можно ли использовать DoH или DoT для обхода блокировки DNS?
DoH (DNS-over-HTTPS) и DoT (DNS-over-TLS) работают через порт 443, который обычно не блокируется. Однако если IP-адрес DoH-сервера не входит в белый список, запросы всё равно будут заблокированы. Чтобы обойти это, можно поднять собственный DoH-прокси на VPS с IP из белого списка, например в Яндекс.Облаке.
Какие DNS-серверы гарантированно работают при белых списках?
Гарантированно работают DNS-серверы вашего оператора связи, так как их IP-адреса включены в белый список. Узнать их можно в настройках роутера или через команды ipconfig /all (Windows) или nmcli dev show (Linux). DNS-серверы Яндекса (77.88.8.8) могут работать у некоторых операторов, но это не гарантировано.
Как настроить собственный DNS-сервер на VPS для обхода белых списков?
Арендуйте VPS у провайдера, чьи IP-адреса входят в белый список (например, Яндекс.Облако, Timeweb). Установите DNS-сервер, например dnsmasq или unbound, и настройте пересылку запросов к внешним резолверам. Затем укажите IP вашего VPS в качестве DNS-сервера на устройстве. Убедитесь, что порт 53 не блокируется, или используйте DoH/DoT через порт 443.
Какие риски связаны с обходом DNS-ограничений?
Основные риски — это нестабильность работы (оператор может обновить правила и заблокировать ваш VPS), обнаружение DPI-системами (например, блокировка VLESS Reality) и юридические последствия. Обход блокировок может нарушать законодательство, поэтому важно действовать осторожно и ознакомиться с местными законами.