Блокировка DNS и DoH в России: почему не открываются сайты и как починить

Объянсяем, как понять, что у вас проблема с DNS и DoH и как все исправить.

Максим Сорокин
5 min read
DNSИнтернетБлокировки

Этим летом Роскомнадзор начал блокировку DoH в России. Следом стали появляться новости о блокировках популярных зарубежных DNS-сервисов от Cloudflare и Google, дабы ограничить использование зарубежных DNS-серверов.

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

Как понять, что это именно ошибка DNS

dns-error.png

Определить, что проблема именно на стороне DNS, можно по характерным признакам:

  • Коды ошибок в браузере: DNS_PROBE_FINISHED_NXDOMAIN, ERR_NAME_NOT_RESOLVED или DNS_PROBE_STARTED.
  • Открывается в другой сети: например, мобильный интернет открывает, а домашний Wi-Fi выдает ошибку.

Что делать, если вы столкнулись с ошибкой DNS

Прежде всего оговоримся, что, если ошибка возникает при включенном VPN, чаще всего это проблема на стороне VPN-сервиса. Самое простое решение — сменить VPN-сервер. Желательно выбрать другую страну, тогда с большой вероятностью вы попадете на другой DNS-сервер. Проверить, какой DNS-сервер используется на вашем устройстве в данный момент, можно с помощью специального сервиса dnsleaktest.com.

1. Как поменять DNS в браузере

В некоторых ситуациях система или браузер продолжают использовать собственные параметры DNS даже при активном VPN-соединении (например, если настроено раздельное туннелирование). В этом случае стоит вручную переключить безопасный DNS-сервер в настройках браузера.

В Google Chrome (macOS или Windows):

  1. Перейдите по адресу chrome://settings/security?search=dns
  2. Найдите блок «Использовать безопасный DNS-сервер».
  3. Если DoH был включен и перестал работать — переключите поставщика либо временно выключите опцию, чтобы проверить работу стандартного DNS-провайдера.

B Google Chrome на Android:

  1. Откройте Chrome и перейдите в «Настройки» → «Конфиденциальность и безопасность».
  2. Найдите пункт «Использовать безопасный DNS».
  3. Включите или выключите функцию либо выберите другого поставщика DNS.

В Chrome на Android безопасный DNS по умолчанию работает в автоматическом режиме. Если при использовании выбранного поставщика возникают ошибки, Google рекомендует проверить его настройки или отключить безопасный DNS.

На Android для всех приложений:

Если нужно изменить DNS не только в Chrome, а для всего устройства, можно использовать системную функцию «Частный DNS»:

  1. Откройте «Настройки» → «Сеть и интернет» → «Частный DNS».
  2. Выберите «Имя хоста поставщика частного DNS».
  3. Укажите имя DNS-провайдера и нажмите «Сохранить».

Название и расположение пункта могут отличаться в зависимости от производителя смартфона и версии Android. Важно учитывать, что «Частный DNS» использует DNS over TLS (DoT), а не DoH.

2. Как поменять DNS на iPhone

На iPhone DNS можно изменить для конкретной сети Wi-Fi:

  1. Откройте «Настройки» → «Wi-Fi».
  2. Нажмите кнопку информации рядом с подключенной сетью.
  3. Найдите пункт «Настройка DNS».
  4. Выберите «Вручную».
  5. Добавьте нужные DNS-серверы, например 1.1.1.1 и 1.0.0.1, либо 8.8.8.8 и 8.8.4.4.
  6. Нажмите «Сохранить».

Такая настройка применяется к выбранной сети Wi-Fi. Для сотовой сети отдельная смена DNS через стандартные настройки iOS не предусмотрена; в этом случае используются настройки оператора либо специальные приложения и профили конфигурации.

Сброс кэша DNS (если после смены DNS сайт не открывается)

Иногда система сохраняет устаревший или поврежденный ответ от сервера в локальном кэше. Чтобы очистить его:

  • В Windows: откройте командную строку (cmd) от имени администратора и выполните:

    ipconfig /flushdns
    
  • В macOS: откройте Терминал и выполните:

    sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    
  • В Google Chrome: перейдите по адресу chrome://net-internals/#dns и нажмите кнопку «Clear host cache».

На Android и iOS отдельной команды для очистки системного DNS-кэша нет. После изменения DNS можно переподключиться к Wi-Fi или перезапустить устройство.

Как выбрать DNS-сервер

Рекомендуем ориентироваться на репутацию провайдера. В текущих реалиях список основных вариантов выглядит так:

  • Cloudflare DNS (1.1.1.1 / 1.0.0.1): один из самых известных публичных DNS-сервисов. Часто оказывается самым быстрым.
  • Google Public DNS (8.8.8.8 / 8.8.4.4): еще один известный международный DNS-сервис. Исторически это одна из основных альтернатив DNS-серверам по умолчанию.
  • AdGuard DNS: предоставляет дополнительные функции — блокировку рекламы, трекеров и фишинговых сайтов.
  • Яндекс.DNS (77.88.8.8 / 77.88.8.1): есть «Безопасный» и «Семейный» режимы для фильтрации нежелательного контента (вирусы, сайты для взрослых соответсвенно). Полностью соблюдает требования российского законодательства по блокировкам.

Альтернативные DNS

dns-table.png Сравнение задержек публичных серверов на DNSPerf

Подобрать альтернативные DNS-серверы и протестировать задержку отклика можно с помощью Open Source-сервиса dnsspeedtest.online. Он сам отправит запросы на десятки серверов и покажет самые быстрые.

Короткая справка. Чем отличаются DNS, DoT и DoH

DNS (Domain Name System) — это адресная книга интернета. Когда вы набираете в браузере youtube.com, браузеру мало одного названия: чтобы установить соединение с сервером, ему необходимо получить ip-адрес. Для этого устройство отправляет запрос DNS-серверу, который возвращает соответствующий ip-адрес.

Тут для пользователя кроются сразу два риска:

  1. Часто DNS-серверы принадлежат провайдерам (Билайн, Ростелеком и т.д.), которые могут намеренно возвращать другой ответ или заглушку вместо реального ip-адреса.
  2. При использовании обычного DNS такие запросы передаются без шифрования, поэтому их содержимое может быть видно провайдеру или другим участникам сетевой инфраструктуры.

Собственно, ранние блокировки строились на обычном перехвате открытых запросов, и простая смена DNS в то время позволяла обходить блокировки. Сейчас РКН уже давно научился с этим бороться, так что для обхода приходится использовать ВПН сервисы.

DoT или DNS over TLS (о TLS мы рассказывали тут) и DoH или DNS over HTTPS позволяют передавать DNS-запросы в зашифрованном виде.

В этом случае провайдер не видит содержимое DNS-запроса напрямую, но может видеть:

  • IP-адрес DNS-сервера, к которому устанавливается соединение.
  • IP-адрес конечного сайта, если соединение с ним происходит напрямую.

Правда, иногда домен все же можно определить другими методами (например, через открытый заголовок SNI при TLS-рукопожатии), но это уже совсем другая история.

Когда смена DNS не поможет

Смена DNS помогает только тогда, когда проблема связана с разрешением доменного имени или с ответом используемого DNS-сервера.

Если сайт не открывается из-за блокировки IP-адреса, проблем с маршрутизацией, фильтрации HTTPS-трафика или другой сетевой причины, замена DNS-сервера может не дать результата.

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