DNS over HTTPS: настройка в Windows 11, Windows 10, Chrome, Firefox и на Keenetic

Как включить DNS over HTTPS в Windows 11, 10, Chrome, Firefox, Opera и Keenetic.
Быстрый ответ: как включить DNS over HTTPS
  • Windows 11 — Параметры — Сеть и Интернет — свойства подключения — DNS вручную (1.1.1.1) — выбери «Только зашифрованное (DoH)»
  • Chrome — chrome://settings/security — «Использовать безопасный DNS» — включи и выбери провайдера явно
  • Firefox — about:config — network.trr.mode = 3, network.trr.uri = https://cloudflare-dns.com/dns-query
  • Keenetic — Система — установи компонент «DNS-over-HTTPS прокси» — Интернет — DNS — переключи на DoH
  • Windows 10 нативно не поддерживает DoH — используй dnscrypt-proxy или настрой браузер
Содержание: показать

Что происходит с твоими DNS-запросами прямо сейчас

DNS over HTTPS настройка нужна потому, что прямо сейчас твой компьютер сливает список сайтов провайдеру. Открываешь браузер, вводишь адрес — до того как загрузится первый байт страницы, компьютер отправляет DNS-запрос: «какой IP у этого домена?». Запрос летит в открытом тексте на порт 53. Провайдер его видит. Системный администратор на работе — видит. Любой в одной сети с тобой в кафе — тоже.

HTTPS шифрует содержимое страниц. Но DNS-запрос уходит ещё до установки HTTPS-соединения. Вот здесь и живёт дыра в приватности, которую закрывает DNS over HTTPS.

DoH оборачивает запросы в HTTPS-туннель на порт 443 — тот же, что у обычного веб-трафика. Провайдер видит соединение с сервером Cloudflare или Google. Какие домены ты резолвишь — нет.

За 5-10 минут настройки. Без платного софта.

%%{init: {
  'theme': 'base',
  'themeVariables': {
    'primaryColor': '#ffffff',
    'primaryTextColor': '#1e293b',
    'primaryBorderColor': '#94a3b8',
    'lineColor': '#64748b',
    'fontSize': '15px',
    'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
  },
  'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
    A["Браузер"] --> B["Обычный DNS порт 53"]
    A --> C["DNS over HTTPS порт 443"]
    B --> D["Открытый текст - виден провайдеру"]
    C --> E["HTTPS туннель - зашифровано"]
    E --> F["DoH-сервер Cloudflare / Google / Quad9"]
    style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
    style B fill:#f8fafc,stroke:#ef4444,stroke-width:2px,color:#991b1b
    style C fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
    style D fill:#f8fafc,stroke:#ef4444,stroke-width:2px,color:#991b1b
    style E fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
    style F fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d

Что тебе понадобится и что будет в статье

Разберём настройку DNS over HTTPS на всех основных платформах: Windows 11 нативно, Windows 10 через dnscrypt-proxy, Chrome, Firefox, Opera, роутер Keenetic. Плюс Android и iOS вкратце, подробный разбор DoH-провайдеров, корпоративные сценарии, troubleshooting типичных ошибок и несколько способов проверить что DoH реально работает, а не просто «вроде включён».

Статья структурирована по принципу «проблема — решение — детали». Быстрый ответ в начале. Подробности дальше. Можешь остановиться после нужного раздела — каждый самодостаточен.

Структура статьи по платформам: Windows 11 нативный DoH, Windows 10 через dnscrypt-proxy, Chrome, Firefox, Opera, Edge, роутер Keenetic для всей домашней сети. Плюс Android, iOS, подробное сравнение DoH-провайдеров, корпоративные сценарии, troubleshooting и мониторинг.

Каждый раздел самодостаточен. Можешь прыгнуть прямо к нужной платформе — не нужно читать всё с начала. Если что-то не заработало — смотри секцию Troubleshooting или чек-лист ошибок перед ней.

Что нужно заранее:

  • Права администратора на Windows — для системных настроек
  • Доступ в веб-интерфейс роутера — для Keenetic
  • 10 минут на основную настройку
  • Сторонний платный софт не нужен ни для одного из описанных способов

Единственное исключение: Windows 10 для системного DoH потребует dnscrypt-proxy — бесплатная open source утилита с GitHub.

Какой способ настройки выбрать: быстрый выбор

Четыре сценария — четыре ответа без лишних слов.

Сценарий 1: хочу DoH только в браузере, быстро, без прав администратора. Открой настройки Chrome, Firefox или Opera — включи безопасный DNS с Cloudflare. Готово. Работает для браузера, не закрывает системный DNS.

Сценарий 2: хочу DoH для всей системы на Windows 11. Параметры — Сеть и Интернет — свойства адаптера — DNS вручную 1.1.1.1 — только зашифрованное. 5 минут, нужны права администратора. Закрывает DNS от всех программ.

Сценарий 3: Windows 10, хочу DoH для всей системы. Скачай dnscrypt-proxy с GitHub, распакуй, установи как службу, пропиши 127.0.0.1 как DNS в настройках адаптера. 15-20 минут, нужны права администратора.

Сценарий 4: хочу DoH для всех устройств в домашней сети без настройки каждого устройства. Keenetic с NDMS 3.1+, установи компонент DoH прокси, настрой Cloudflare URL. Один раз — все устройства получают DoH автоматически. Включая смартфоны и Smart TV.

Оптимальная комбинация для дома: DoH на Keenetic (все устройства) + Firefox с network.trr.mode=3 (Firefox игнорирует системный DNS, нужно настроить явно).

Сколько устройств в сети и где настраивать DoH

Одно устройство — Windows 11 или браузер. Быстро, просто, без роутерного доступа.

2-4 устройства — роутер Keenetic если есть поддержка DoH (NDMS 3.1+). Настроил один раз — все получают. Плюс Firefox на каждом настроить отдельно: он игнорирует роутерный DNS.

5+ устройств, IoT, Smart TV, гости — только роутер. Настраивать каждое устройство отдельно невозможно и бессмысленно. Роутер закрывает всю сеть одной настройкой. На Keenetic это занимает 10 минут включая установку компонента.

Корпоративная сеть или рабочая группа — корпоративный DoH-сервер (см. соответствующий раздел). Или блокировка внешнего DoH и управление через групповые политики. Зависит от политики безопасности.

Три минуты диагностики: проверь свою ситуацию прямо сейчас

Прежде чем читать дальше — открой в браузере:


https://1.1.1.1/help

Если DoH: No — у тебя открытый DNS. Провайдер видит что ты читаешь. Эта статья объяснит как исправить.

Если DoH: Yes — DoH уже работает, возможно через автоматическую настройку браузера. Но это проверяет только конкретный браузер. Другие программы на компьютере — мессенджеры, игровые клиенты, обновления — могут всё ещё использовать незашифрованный DNS. Читай раздел про системную настройку.

Если страница не загружается — возможно Cloudflare заблокирован провайдером. Попробуй Google DNS check: открой https://dns.google/resolve?name=example.com&type=A. Если ответил JSON — Google DoH доступен.

Откуда берётся проблема: почему обычный DNS небезопасен

DNS придумали в 1983 году. Тогда интернет состоял из нескольких университетских сетей и о приватности никто не думал. DNS работает на UDP порт 53 — без шифрования, без аутентификации. Любой кто видит твой трафик — видит и список сайтов, которые ты посещаешь.

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

HTTPS решил проблему содержимого страниц. DNS остался открытым. DoH закрывает этот пробел — и делает это элегантно: прячет DNS внутрь обычного HTTPS-трафика.

Важно понимать что именно DoH скрывает: сами DNS-запросы — то есть список доменов которые ты резолвишь. Это не полная анонимность. IP-адрес назначения и SNI при установке TLS-соединения провайдер всё ещё видит. Но убрать самый дешёвый способ наблюдения за трафиком — уже хорошо.

Как DoH работает изнутри

Обычный DNS-запрос выглядит так: UDP-пакет летит на порт 53 с открытым текстом «дай мне IP для example.com». Ответ — тоже открытый текст. Без шифрования, без проверки что отвечает именно нужный сервер. На этом строятся DNS-спуфинг и DNS-отравление кэша.

DoH упаковывает DNS-запрос иначе. Запрос кодируется либо в DNS wireformat (application/dns-message) через POST, либо в JSON (application/dns-json) через GET. Всё это идёт по обычному HTTPS-соединению на порт 443. TLS обеспечивает шифрование и аутентификацию сервера — нельзя подменить ответ как при классическом DNS-спуфинге.

DoH-сервер Cloudflare на 1.1.1.1 выглядит для провайдера как обычный веб-сервер на 443-м порту. Единственный способ отличить DoH-трафик от HTTPS — это DPI (Deep Packet Inspection) по SNI или анализ паттернов запросов. Без DPI — невозможно.

Технически POST-запрос выглядит так:


POST /dns-query HTTP/2
Host: cloudflare-dns.com
Content-Type: application/dns-message
Accept: application/dns-message

[бинарные данные DNS-запроса в wireformat]

Для отладки удобнее JSON API через GET:


curl -H 'accept: application/dns-json' \
  'https://cloudflare-dns.com/dns-query?name=example.com&type=A'

Ответ JSON:


{
  "Status": 0,
  "TC": false,
  "RD": true,
  "RA": true,
  "AD": true,
  "CD": false,
  "Question": [{"name": "example.com.", "type": 1}],
  "Answer": [
    {"name": "example.com.", "type": 1, "TTL": 86400, "data": "93.184.216.34"}
  ]
}

Поле AD: true — DNSSEC-валидация прошла. Status: 0 — запрос успешен (NOERROR). Это стандартный RFC 8484 — спецификация DNS over HTTPS, опубликованная в 2018 году.

Угрозы которые закрывает DoH

Без DoH против тебя работает несколько векторов атаки. Разберём каждый коротко.

Пассивный перехват: провайдер или кто угодно на пути трафика логирует DNS-запросы. Получает полный список сайтов которые ты посещаешь, с таймстампами. Продаёт рекламщикам или отдаёт по требованию. DoH закрывает полностью.

DNS-спуфинг: атакующий в той же сети перехватывает твой UDP 53-й запрос и отвечает поддельным IP. Ты думаешь что идёшь на bank.example.com — а попадаешь на клон. DoH с TLS-аутентификацией сервера делает этот вектор нерабочим — нельзя подделать ответ от сервера с валидным сертификатом.

DNS-кэш отравление: атакующий подсовывает поддельные записи в кэш DNS-сервера провайдера. Все пользователи этого сервера получают неправильный IP. DoH + DNSSEC закрывает этот вектор: DNSSEC подписывает DNS-записи криптографически.

Блокировка по DNS: провайдер блокирует сайты на уровне DNS — возвращает пустой ответ или IP-адрес блокировочной страницы. DoH использует сторонний сервер который не знает о блокировках провайдера.

Последнее — отдельная тема со своими нюансами и юридическими аспектами. Просто фиксируем факт.

DoH vs DoT: в чём разница и что выбрать

DNS over TLS (DoT) тоже шифрует DNS-запросы — но работает на отдельном порту 853. Его легко заблокировать: закрываешь один порт на файрволе — DoT умер. DoH идёт по 443-му вместе со всем HTTPS-трафиком. Чтобы заблокировать DoH, провайдеру придётся заблокировать весь HTTPS — это ядерный вариант, который никто не применяет.

Есть ещё DNS over QUIC (DoQ) — следующее поколение, работает на UDP с QUIC-транспортом. Пока экспериментальный, поддержка ограничена.

Для домашнего пользователя DoH удобнее и живучее. Для корпоративной сети где нужен централизованный контроль DNS-трафика — DoT управляемее: отдельный порт проще мониторить и фильтровать.

Параметр DNS over HTTPS (DoH) DNS over TLS (DoT) Обычный DNS
Порт 443 853 53
Шифрование HTTPS / TLS TLS Нет
Сложность блокировки Высокая Средняя Низкая
Нативная поддержка Windows Windows 11 Только сторонний софт Все версии
Поддержка браузерами Chrome, Firefox, Opera, Edge Нет нативной Нативно
Задержка Cloudflare (медиана) ~11 мс ~20-30 мс 50-150 мс провайдер

Какой DoH-сервер выбрать

Когда включаешь DoH — ты не избавляешься от посредника, ты его меняешь. Вместо провайдера твои DNS-запросы видит DoH-сервер. Разница в том, кто это, где хранятся данные и по каким законам.

Провайдер DoH URL IP-адреса Логи Фильтрация
Cloudflare https://cloudflare-dns.com/dns-query 1.1.1.1 / 1.0.0.1 Не хранит постоянно Нет
Google https://dns.google/dns-query 8.8.8.8 / 8.8.4.4 Хранит временно Нет
Quad9 https://dns.quad9.net/dns-query 9.9.9.9 Не хранит Малварь и фишинг
AdGuard https://dns.adguard.com/dns-query 94.140.14.14 Не хранит Реклама и трекеры
NextDNS https://dns.nextdns.io/ВАШ_ID Персональный Опционально Кастомные списки
Яндекс (базовый) https://common.dot.dns.yandex.net/dns-query 77.88.8.8 / 77.88.8.1 Хранит Нет

Cloudflare — первый выбор для большинства. Самые низкие задержки среди публичных DoH-серверов, серверы по всему миру, аудит политики приватности проводил KPMG. Google стабилен и быстр, но данные обрабатываются внутри Google-экосистемы. Quad9 — если нужна блокировка вредоносных доменов на уровне DNS без отдельного Pi-hole. Яндекс — российская юрисдикция, быстрые серверы на территории РФ, логи хранятся.

Подробное сравнение DoH-провайдеров: что за каждым стоит

Выбор DoH-сервера — это выбор кому доверяешь свои DNS-запросы. Разберём основных провайдеров подробнее.

Cloudflare 1.1.1.1

Cloudflare запустил 1.1.1.1 в 2018 году. Аудит политики приватности проводил KPMG — независимая проверка что Cloudflare реально не хранит запросы дольше 25 часов и не использует их для рекламного профилирования. Для параноиков есть аудиторский отчёт на сайте Cloudflare.

Инфраструктура Cloudflare — одна из крупнейших CDN в мире. Серверы есть практически в каждой крупной точке обмена трафиком. Для большинства пользователей в России — задержка 5-15 мс. Это быстрее большинства провайдерских DNS.

У Cloudflare есть три варианта DoH:


https://cloudflare-dns.com/dns-query          - базовый, без фильтрации
https://security.cloudflare-dns.com/dns-query - блокирует малварь и фишинг
https://family.cloudflare-dns.com/dns-query   - блокирует малварь + взрослый контент

IP-адреса для 1.1.1.1 также дают разные уровни фильтрации: 1.1.1.2 (только малварь), 1.1.1.3 (малварь + взрослый контент).

Google Public DNS

Google DNS работает с 2009 года. Самый известный публичный DNS в мире. Стабильность — исключительная, downtime практически нулевой. Инфраструктура Google охватывает весь мир.

Политика приватности: Google хранит полные IP-адреса запросов около 24-48 часов «в целях диагностики». Анонимизированные данные — дольше. Для рекламного профилирования DNS-данные не используются, согласно политике. Но Google — рекламная компания, и это стоит держать в голове при выборе.

Для пользователей которые и так используют Chrome, Android и Gmail — дополнительного риска от Google DNS немного: Google уже знает о тебе больше чем из DNS-логов.

Quad9

Quad9 — некоммерческий провайдер, зарегистрирован в Швейцарии. Финансируется IBM Security и рядом других организаций. Швейцарская юрисдикция — строгие законы о приватности данных.

Ключевая особенность: Quad9 блокирует вредоносные домены используя списки от 20+ организаций по кибербезопасности. IBM X-Force, Anti-Phishing Working Group, Abuse.ch и другие. Домены, распространяющие малварь, командные серверы ботнетов, фишинговые сайты — Quad9 блокирует их на уровне DNS.

Для домашней сети с детьми или если нужна дополнительная защита без отдельного Pi-hole — Quad9 хороший выбор. Лоного срабатываний на легитимные сайты — Quad9 обновляет списки несколько раз в день.

AdGuard DNS

AdGuard DNS — продукт компании AdGuard, известной своим блокировщиком рекламы. Серверы в разных регионах, включая Россию.

Базовый вариант (94.140.14.14) блокирует рекламу и трекеры на уровне DNS — не только для браузеров, но для всех приложений. Если на телефоне стоит AdGuard DNS — реклама в мобильных приложениях тоже блокируется (в пределах DNS-блокировки).

Есть Family Protection вариант с блокировкой взрослого контента: 94.140.14.15. И вариант без фильтрации для тех кто хочет только шифрование: 94.140.15.15.

NextDNS — персональный DoH

NextDNS отличается от остальных: ты получаешь персональный DoH-эндпоинт с уникальным ID. Через веб-интерфейс настраиваешь списки блокировки (из нескольких десятков готовых — от рекламы до трекеров разных категорий), белые списки, родительский контроль по времени суток.

Статистика показывает все DNS-запросы по устройствам — видишь что именно запрашивает каждое устройство в доме. Телевизор Samsung ходит к серверам аналитики 200 раз в день? Видно и блокируется одной кнопкой.

Бесплатный план — 300 000 запросов в месяц. Среднестатистическая семья из 4 человек с IoT-устройствами укладывается в это с запасом. При превышении лимита DoH продолжает работать, но без фильтрации — до следующего месяца.

Регистрация: nextdns.io. После регистрации получаешь ID вида abc123. URL будет: https://dns.nextdns.io/abc123

Системные требования

На момент публикации актуальны: Windows 11 23H2, Chrome 124, Firefox 126, Opera 109, Keenetic NDMS 3.10. Перед настройкой проверь актуальные релизы.

Платформа Минимальная версия Нативная поддержка DoH Охват трафика
Windows 11 Любая Да, в параметрах сети Вся система
Windows 10 20H1 (Preview) Нет — только через dnscrypt-proxy Вся система через прокси
Chrome 83+ Да Только браузер
Firefox 62+ Да Только браузер
Opera 70+ Да Только браузер
Edge 85+ Да Только браузер
Keenetic NDMS 3.1+ Да, компонент DoH прокси Вся домашняя сеть
Android 9 (Pie) DNS over TLS нативно, DoH — через браузер Зависит от способа
iOS 14+ Через профили конфигурации Вся система

Порты и протоколы

Протокол Порт Транспорт Шифрование Доступен снаружи
DNS (обычный) 53 UDP / TCP Нет Да, открытый текст
DNS over TLS (DoT) 853 TCP TLS Да, легко блокируется
DNS over HTTPS (DoH) 443 TCP HTTPS / TLS Неотличим от HTTPS
DNS over QUIC (DoQ) 853 QUIC TLS 1.3 Экспериментально

Как настроить DNS over HTTPS в Windows 11

В Windows 11 DoH встроен нативно с самого начала. Настраивается через параметры сети без сторонних утилит. Работает на уровне всей системы — закрывает DNS-трафик от всех приложений, не только браузера.

Разбор параметров DoH в Windows 11: что означает каждая настройка

Когда ты выбираешь «Только зашифрованное (DNS over HTTPS)» — Windows устанавливает несколько внутренних параметров. Разберём что за ними стоит.

В Windows 11 три варианта шифрования DNS:

  • Без шифрования — обычный DNS на 53-й порт. Всё открыто.
  • Предпочтительно зашифрованное — Windows сначала пробует DoH. Если DoH недоступен — откатывается на обычный DNS. Удобно для случаев когда DoH-сервер может быть недоступен, но минус — если DoH не работает, DNS продолжит работать незашифрованно без предупреждений.
  • Только зашифрованное (DNS over HTTPS) — строгий режим. Если DoH недоступен — DNS не работает вообще. Максимальная защита, минимальная толерантность к сбоям.

Какой выбрать: для домашнего использования — «Только зашифрованное». Интернет достаточно стабилен, DoH-серверы Cloudflare крайне редко падают. Для ноутбука который используется в разных сетях включая потенциально проблемные — «Предпочтительно зашифрованное» если хочешь чтобы DNS работал всегда.

Параметр AutoUpgrade в PowerShell-команде Add-DnsClientDohServerAddress означает: Windows автоматически обновит URL DoH-сервера если провайдер опубликует новый. Полезно для будущих изменений — ставь $True.

AllowFallbackToUdp $False — жёсткий запрет на откат к обычному UDP DNS 53. Именно этот параметр делает настройку «только зашифрованной». При $True — система откатится на обычный DNS при недоступности DoH-сервера.

Как работает Windows DNS-резолвер в режиме DoH

Когда настроен DoH в Windows 11, процесс резолвинга выглядит так:

  1. Приложение вызывает getaddrinfo() с именем домена
  2. DNS Client Service (Dnscache) получает запрос
  3. Проверяет локальный кэш — если есть свежая запись, отвечает сразу
  4. Если нет — отправляет DoH-запрос на HTTPS-сервер (1.1.1.1 на порту 443)
  5. Получает ответ, кэширует, возвращает приложению

Весь этот процесс прозрачен для приложений. Они вызывают стандартные API, не зная что под капотом DNS-запросы идут через DoH. Именно поэтому системный DoH в Windows 11 закрывает трафик от всех программ — не только браузеров.

Проверить кэш DNS Windows:


# Просмотр кэша
Get-DnsClientCache | Select-Object Entry, RecordType, TimeToLive, Data

# Очистка кэша (иногда нужно при диагностике)
Clear-DnsClientCache

После очистки кэша следующие DNS-запросы пойдут напрямую к DoH-серверу — удобно для отладки задержек.

Шаг 1. Открой настройки сетевого адаптера

Нажми Win + I. В открывшихся Параметрах перейди в раздел «Сеть и Интернет». Выбери своё подключение — Ethernet или Wi-Fi. Нажми «Свойства оборудования». Это другой экран, не просто «Свойства» подключения — ищи именно «Свойства оборудования».

Шаг 2. Переключи DNS на ручное управление

В разделе «Назначение DNS-сервера» нажми «Изменить». Переключи выпадающий список с «Автоматически (DHCP)» на «Вручную». Включи переключатель IPv4.

Введи адреса DoH-сервера. Для Cloudflare:


Основной DNS: 1.1.1.1
Альтернативный DNS: 1.0.0.1

Для Google DNS:


Основной DNS: 8.8.8.8
Альтернативный DNS: 8.8.4.4

Если используешь IPv6 — включи переключатель IPv6 и добавь адреса Cloudflare:


Основной DNS: 2606:4700:4700::1111
Альтернативный DNS: 2606:4700:4700::1001

Шаг 3. Включи шифрование для каждого адреса

Рядом с каждым DNS-адресом появился выпадающий список «Предпочтительное шифрование DNS». Раскрой его и выбери «Только зашифрованное (DNS over HTTPS)». Повтори для основного и альтернативного адреса.

Нажми «Сохранить». Всё — Windows теперь шифрует DNS-запросы на уровне всей системы.

Список известных DoH-серверов Windows
Windows 11 проверяет введённый IP по встроенному списку Known DoH Servers. Cloudflare, Google, Quad9 — в нём есть. Если введёшь нестандартный IP — Windows молча откатится на обычный DNS без предупреждения. Для нестандартных серверов нужно добавлять их явно через PowerShell.

Шаг 4. Проверь через PowerShell

Открой PowerShell от имени администратора:


Get-DnsClientDohServerAddress

Ожидаемый вывод — список серверов с заполненным полем DohTemplate:


ServerAddress  AllowFallbackToUdp  AutoUpgrade  DohTemplate
1.1.1.1        False               True         https://cloudflare-dns.com/dns-query
1.0.0.1        False               True         https://cloudflare-dns.com/dns-query

Если список пустой или DohTemplate пустой — настройки не применились. Добавь сервер вручную:


Add-DnsClientDohServerAddress `
  -ServerAddress "1.1.1.1" `
  -DohTemplate "https://cloudflare-dns.com/dns-query" `
  -AllowFallbackToUdp $False `
  -AutoUpgrade $True

Параметр AllowFallbackToUdp $False: если DoH недоступен — DNS не работает вообще. Для максимальной защиты. Если хочешь работающий DNS даже при недоступном DoH-сервере — ставь $True.

Добавь сразу и альтернативный адрес:


Add-DnsClientDohServerAddress `
  -ServerAddress "1.0.0.1" `
  -DohTemplate "https://cloudflare-dns.com/dns-query" `
  -AllowFallbackToUdp $False `
  -AutoUpgrade $True

Что делать если DoH слетел после обновления Windows

Крупные обновления Windows — 22H2, 23H2 — могут сбросить настройки DNS к дефолтным. DNS продолжит работать через провайдерский сервер, просто незашифрованно. Никакой ошибки не будет — просто тихо перестал работать DoH.

Быстро проверь текущий DNS:


Get-DnsClientServerAddress | Where-Object AddressFamily -eq 2 | Select-Object InterfaceAlias, ServerAddresses

Если видишь IP вида 192.168.x.x (роутер) или адреса провайдера — DoH настроен либо на роутере, либо слетел. Проверь на 1.1.1.1/help. Если No — пройди по шагам из раздела настройки выше заново. Занимает 2 минуты.

Чтобы не повторять это вручную — можно зафиксировать нужные DNS через PowerShell скрипт и добавить его в автозапуск после обновлений. Создай файл set-doh-dns.ps1:


# Получаем все активные сетевые адаптеры с IPv4
$adapters = Get-NetAdapter | Where-Object Status -eq "Up"

foreach ($adapter in $adapters) {
    # Проверяем что адаптер использует DHCP для DNS
    $dns = Get-DnsClientServerAddress -InterfaceIndex $adapter.InterfaceIndex -AddressFamily IPv4
    
    # Устанавливаем Cloudflare DoH
    Set-DnsClientServerAddress `
        -InterfaceIndex $adapter.InterfaceIndex `
        -ServerAddresses ("1.1.1.1","1.0.0.1")
    
    Write-Host "DNS настроен для $($adapter.Name): 1.1.1.1, 1.0.0.1"
}

Запускай этот скрипт от имени администратора после каждого крупного обновления Windows — или добавь в Планировщик заданий по триггеру «После обновления системы.

Групповая политика для DoH в Windows 11 (для организаций)

Если настраиваешь DoH на нескольких машинах в домене — используй групповую политику. Открой gpedit.msc — Computer Configuration — Administrative Templates — Network — DNS Client.

Найди политику «Configure DNS over HTTPS (DoH)». Включи и выбери режим:

  • 0 — DoH выключен принудительно
  • 1 — DoH включён если доступен (opportunistic)
  • 2 — Только DoH, обычный DNS заблокирован

Для принудительного DoH на всех машинах в домене — режим 2. Для домашнего использования gpedit.msc работает только в Pro и выше. В Home — только через Settings GUI из шагов выше.

DNS over HTTPS в Windows 10

Microsoft добавила нативный DoH только в Windows 11. В Windows 10 три пути — выбирай по задаче.

Путь 1. Настроить DoH в браузере

Самый быстрый способ. Работает только для конкретного браузера — системный DNS остаётся незашифрованным. Подходит если важен только браузерный трафик. Настройка для Chrome, Firefox и Opera — в разделах ниже.

Путь 2. dnscrypt-proxy — DoH для всей системы

Лёгкий проксирующий сервис. Перехватывает все системные DNS-запросы и пересылает через DoH. Работает как Windows-служба, запускается автоматически. Этот вариант закрывает DNS-трафик от всех программ, не только браузера.

Скачай актуальный релиз с GitHub: https://github.com/DNSCrypt/dnscrypt-proxy/releases

Бери версию dnscrypt-proxy-win64-*.zip (или win32 если система 32-бит). Распакуй в удобное место, например:


C:\dnscrypt-proxy\

Открой файл dnscrypt-proxy.toml в любом текстовом редакторе. Найди и измени эти строки:


## Выбор серверов - Cloudflare по умолчанию
server_names = ['cloudflare', 'cloudflare-ipv6']

## Адрес прослушивания - 127.0.0.1 порт 53
listen_addresses = ['127.0.0.1:53']

Если хочешь Quad9 с блокировкой малвари:


server_names = ['quad9-dnscrypt-ip4-filter-pri']

Если хочешь несколько серверов для отказоустойчивости:


server_names = ['cloudflare', 'quad9-dnscrypt-ip4-filter-pri']

Установи и запусти как службу — выполни от имени администратора в PowerShell:


cd C:\dnscrypt-proxy
.\dnscrypt-proxy.exe -service install
.\dnscrypt-proxy.exe -service start

Проверь что служба запустилась:


Get-Service dnscrypt-proxy

Статус должен быть Running. Теперь в настройках сетевого адаптера пропиши DNS вручную. Нажми Win + R, введи ncpa.cpl, Enter. Правой кнопкой на активном адаптере — Свойства — Протокол интернета версии 4 (TCP/IPv4) — Свойства. Выбери «Использовать следующие адреса DNS-серверов»:


Предпочитаемый DNS-сервер: 127.0.0.1
Альтернативный DNS-сервер: (оставь пустым)

Нажми OK. Все DNS-запросы от всех программ пойдут через dnscrypt-proxy, который отправит их в Cloudflare или Quad9 через DoH.

Конфликт с DNS Client в Windows 10
Если после установки dnscrypt-proxy DNS перестал работать — служба Windows DNS Client (Dnscache) может занимать порт 53. Проверь: netstat -ano | findstr «:53 » в PowerShell. Если порт занят Dnscache — останови службу и поставь ручной запуск: Stop-Service Dnscache, Set-Service Dnscache -StartupType Manual. Затем перезапусти dnscrypt-proxy.

Проверка работы dnscrypt-proxy

Запусти диагностику встроенным инструментом:


cd C:\dnscrypt-proxy
.\dnscrypt-proxy.exe -resolve cloudflare.com

Должен вернуться IP-адрес Cloudflare. Если ошибка — смотри лог: он пишется в dnscrypt-proxy.log в той же папке.

Расширенная настройка dnscrypt-proxy

После базовой установки dnscrypt-proxy можно настроить под себя. Открой dnscrypt-proxy.toml и разберём ключевые параметры.

Логирование — по умолчанию отключено для приватности. Включи если нужна диагностика:


## Файл лога (оставь пустым чтобы не логировать)
log_file = 'dnscrypt-proxy.log'
log_level = 2

## Лог DNS-запросов (для отладки - потом отключи)
[query_log]
  file = 'query.log'

Кэширование — ускоряет повторные запросы:


## Включить кэш
cache = true
cache_size = 4096
cache_min_ttl = 2400
cache_max_ttl = 86400
cache_neg_min_ttl = 60
cache_neg_max_ttl = 600

Блокировка рекламных доменов прямо в dnscrypt-proxy. Создай файл blocked-names.txt и добавь домены:


ads.example.com
tracker.example.com

В toml-конфиге:


[blocked_names]
  blocked_names_file = 'blocked-names.txt'
  log_file = 'blocked-names.log'
  log_format = 'tsv'

Или используй готовые списки — dnscrypt-proxy поддерживает автоматическое скачивание:


[blocked_names]
  blocked_names_file = 'blocked-names.txt'

[sources]
  [sources.public-resolvers]
    urls = ['https://raw.githubusercontent.com/nicehash/dnscrypt-proxy-acl/master/blocked-names.txt']
    cache_file = 'blocked-names.txt'
    minisign_key = ''
    refresh_delay = 72
    prefix = ''

Балансировка между несколькими DoH-серверами для отказоустойчивости:


## Список серверов - dnscrypt-proxy выберет самый быстрый
server_names = ['cloudflare', 'cloudflare-ipv6', 'quad9-dnscrypt-ip4-filter-pri']

## Балансировка нагрузки - fastest выбирает сервер с минимальной задержкой
lb_strategy = 'fastest'
lb_estimator = true

После изменений конфига перезапусти службу:


Restart-Service dnscrypt-proxy

Проверка dnscrypt-proxy с подробным выводом

Запусти dnscrypt-proxy напрямую (не как службу) для диагностики:


# Останови службу
Stop-Service dnscrypt-proxy

# Запусти напрямую с verbose выводом
cd C:\dnscrypt-proxy
.\dnscrypt-proxy.exe -check

Команда -check проверяет конфиг и доступность серверов без запуска прокси. Покажет какие серверы доступны, задержки, поддерживаемые протоколы.


# Тест конкретного резолвинга
.\dnscrypt-proxy.exe -resolve cloudflare.com

Вывод покажет IP-адрес, через какой сервер прошёл запрос, задержку. Если ошибка — смотри подробнее:


.\dnscrypt-proxy.exe -loglevel 0 -check

Уровень 0 — максимально подробный вывод. Помогает найти что именно идёт не так.

Путь 3. Настроить на роутере Keenetic

Один раз настроил роутер — все устройства в сети получают DoH автоматически: Windows 10, Android, Smart TV, IoT-мусор. Не надо лезть в настройки каждого устройства. Раздел про Keenetic ниже.

DNS over HTTPS в Google Chrome

Chrome проверяет текущий системный DNS. Если находит его в списке поддерживаемых DoH-серверов — переключается автоматически. Но полагаться на автоматику не стоит — лучше настроить явно.

Открой в адресной строке:


chrome://settings/security

Прокрути до раздела «Дополнительно». Найди переключатель «Использовать безопасный DNS». Включи его.

Под переключателем появятся два варианта. «С вашим текущим поставщиком» — Chrome ищет DoH-версию твоего системного DNS. Не всегда срабатывает. «С другим поставщиком» — выбери из списка или вставь URL вручную. Это надёжнее.

Для Cloudflare — выбери из списка или вставь:


https://cloudflare-dns.com/dns-query

Для Google Public DNS:


https://dns.google/dns-query

Для AdGuard:


https://dns.adguard.com/dns-query

Проверь сразу: открой https://1.1.1.1/help в новой вкладке. Должно показать «Using DNS over HTTPS (DoH): Yes».

Chrome и системный DNS - ловушка
Если системный DNS — сервер провайдера без DoH, а в Chrome выбрано «С вашим текущим поставщиком» — Chrome молча не переключится на DoH. Всё будет выглядеть как будто настройка применена, но DoH не работает. Всегда выбирай провайдера явно. Не доверяй автоматике в вопросах приватности.

DNS over HTTPS в Firefox

Firefox был одним из первых браузеров с поддержкой DoH — реализовали в 2018 году. Здесь настройка через about:config даёт полный контроль, включая режим «только DoH без fallback».

Быстрый способ через настройки

Открой меню (три горизонтальных полоски) — Настройки. Прокрути до раздела «Сеть». Нажми «Настройки…». В нижней части окна найди «Включить DNS over HTTPS». Поставь галку. Выбери провайдера из списка — Cloudflare или NextDNS — или выбери «Другой» и вставь свой URL.

Точная настройка через about:config

Введи в адресную строку:


about:config

Согласись с предупреждением. Найди параметр network.trr.mode и установи значение:


network.trr.mode = 3

Значения режима:

  • 0 — DoH выключен, используется системный DNS
  • 2 — DoH с fallback: если DoH недоступен — используется обычный DNS
  • 3 — только DoH, без fallback. Если DoH недоступен — DNS не резолвится
  • 5 — DoH принудительно выключен, используется системный DNS

Режим 3 — максимальная защита. Никакого случайного fallback на открытый DNS. Если DoH-сервер лежит — DNS не работает. Для домашнего использования с надёжным интернетом — нормально.

Теперь укажи URL сервера. Найди параметр network.trr.uri:


network.trr.uri = https://cloudflare-dns.com/dns-query

Перезапускать Firefox не нужно — настройки применяются сразу. Проверь на https://1.1.1.1/help.

Firefox в корпоративной сети
Firefox проверяет canary-домен use-application-dns.net. Если он недоступен — Firefox автоматически отключает DoH. Сделано специально чтобы не ломать корпоративные DNS-фильтры и фильтры родительского контроля. Дома не мешает. Если хочешь DoH принудительно — ставь network.trr.mode = 3, этот режим игнорирует canary-домен.

DNS over HTTPS в Opera

Opera на движке Chromium — настройка аналогична Chrome. Есть нюанс: встроенный VPN Opera меняет DNS. Если он включён — проверь оба места.

Открой:


opera://settings/privacy

Найди раздел «Безопасность». Включи «Использовать DNS over HTTPS вместо системных настроек DNS». Выбери провайдера из списка или вставь URL вручную.

Если встроенный VPN Opera включён — DNS-запросы идут через серверы Opera. DoH при включённом VPN добавляет ещё один уровень, но DNS резолвит VPN-сервер Opera. Cloudflare при этом видит запросы с IP VPN-сервера, а не с твоего. Реши сам, кому больше доверяешь — Opera или Cloudflare.

DNS over HTTPS в Microsoft Edge

Edge на базе Chromium — настройка почти идентична Chrome. Но Edge добавляет несколько корпоративно-ориентированных опций.

Открой в адресной строке:


edge://settings/privacy

Найди раздел «Безопасность». Включи «Использовать безопасный DNS для указания способа поиска сетевого адреса для веб-сайтов». Выбери провайдера из списка или вставь URL вручную.

Edge поставляется с готовым списком DoH-провайдеров: Cloudflare, Google, Quad9, OpenDNS и другие. Для каждого можно выбрать конкретный вариант — например у Cloudflare доступны базовый, с блокировкой малвари и семейный.

Через URL вручную — те же адреса что и в Chrome:


https://cloudflare-dns.com/dns-query
https://dns.google/dns-query
https://dns.quad9.net/dns-query

Для корпоративного управления Edge — групповые политики через Intune или GPO. Политика называется «Configure DNS-over-HTTPS (DoH)» в разделе Microsoft Edge. Настройки аналогичны Chrome GPO, но с отдельным пространством имён Microsoft Edge.

Проверка: открой https://1.1.1.1/help в Edge после настройки. Должно показать DoH: Yes если выбрал Cloudflare. Если выбрал другого провайдера — страница всё равно покажет что DNS-запросы идут через DoH, просто не через Cloudflare.

Opera VPN и DoH: как они взаимодействуют

Opera — единственный популярный браузер со встроенным бесплатным VPN. Когда VPN включён, весь браузерный трафик идёт через серверы Opera. DNS при включённом VPN резолвится Opera-серверами.

Если одновременно включить DoH в Opera при активном VPN — браузер сначала отправляет DoH-запрос на Cloudflare, но этот запрос уже идёт через VPN-туннель Opera. Cloudflare видит соединение с IP VPN-сервера Opera, не твоего. Для приватности от провайдера — избыточно (VPN уже скрывает трафик). Для приватности от самой Opera — нет (Opera видит весь VPN-трафик включая DNS).

Практический вывод: если используешь Opera VPN — DoH в браузере мало что добавляет. Если Opera VPN выключен — DoH работает стандартно как в Chrome.

DNS over HTTPS на Keenetic

Настройка на роутере — лучшее решение для домашней сети. Один раз настроил — и все устройства получают зашифрованный DNS автоматически. Смартфоны, Smart TV, планшеты, Xbox, IoT-лампочки, гостевые устройства — всё. Не надо лезть в настройки каждого устройства.

Keenetic поддерживает DoH начиная с прошивки NDMS 3.1.

%%{init: {
  'theme': 'base',
  'themeVariables': {
    'primaryColor': '#ffffff',
    'primaryTextColor': '#1e293b',
    'primaryBorderColor': '#94a3b8',
    'lineColor': '#64748b',
    'fontSize': '15px',
    'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
  },
  'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
    A["Смартфон"] --> E["Keenetic роутер"]
    B["ПК Windows 10"] --> E
    C["Smart TV"] --> E
    D["IoT устройства"] --> E
    E --> F["DoH прокси на роутере"]
    F --> G["Cloudflare / Quad9"]
    style E fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
    style F fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
    style G fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d

Шаг 1. Проверь версию прошивки

Зайди в веб-интерфейс Keenetic — обычно это 192.168.1.1 или my.keenetic.net. Перейди в Система — О системе. Посмотри версию NDMS. Если ниже 3.1 — обнови через Система — Обновить прошивку.

Шаг 2. Установи компонент DNS-over-HTTPS прокси

Система — Параметры компонентов. В строке поиска введи «DNS». Найди «DNS-over-HTTPS прокси». Нажми «Установить». Роутер скачает и установит компонент — может попросить перезагрузку.

Шаг 3. Настрой DoH-сервер

Перейди в Интернет — DNS. Найди раздел «DNS-over-HTTPS». Переключи в «Включено». В поле URL вставь адрес DoH-сервера.

Для Cloudflare:


https://cloudflare-dns.com/dns-query

Для Quad9:


https://dns.quad9.net/dns-query

Нажми «Применить». Роутер перезапустит DNS-службу. Все новые DNS-запросы от устройств в сети пойдут через DoH.

Настройка Keenetic через CLI

Если удобнее командная строка — подключись через веб-терминал (Система — Веб-терминал) или по Telnet:


ip dns proxy name cloudflare doh url https://cloudflare-dns.com/dns-query
ip dns proxy name cloudflare doh enable
ip name-server dns-proxy
system configuration save

Проверь статус:


show ip dns proxy

Вывод должен содержать строку с твоим URL и статусом enabled. Если статус disabled — повтори команду enable и сохрани конфиг.

Дополнительные возможности DoH на Keenetic

Keenetic позволяет настроить несколько DoH-серверов для отказоустойчивости. Если первый недоступен — роутер автоматически переключается на второй.


# Добавляем второй DoH-сервер
ip dns proxy name quad9 doh url https://dns.quad9.net/dns-query
ip dns proxy name quad9 doh enable

# Назначаем оба как DNS-серверы
ip name-server dns-proxy
system configuration save

Приоритет серверов определяется порядком добавления. Первый добавленный — основной, остальные — резервные.

Если хочешь разные DoH-серверы для разных сегментов сети — например основной сегмент через Cloudflare, гостевая сеть через Quad9 с фильтрацией малвари — это настраивается через раздельные DNS-профили для каждого интерфейса. Конфигурация сложнее, описана в документации Keenetic на help.keenetic.com.

Для проверки работы DoH на Keenetic через внешний тест: подключись к сети роутера с устройства где нет своих DoH-настроек (например смартфон с заводскими настройками DNS). Открой https://1.1.1.1/help — должно показать DoH: Yes если роутер использует Cloudflare.

Резервное копирование конфига Keenetic

После настройки DoH сохрани конфигурацию роутера. Система — Управление конфигурацией — Сохранить конфигурацию. Скачай файл на компьютер. Если роутер сбросится или придётся менять — восстановишь за минуту.

Через CLI:


system configuration save

Файл конфигурации хранится в /opt/etc/ndm/netconf. Периодически копируй его при изменениях.

Экспорт и импорт настроек DoH Windows через PowerShell

Если настроил DoH на одной машине и хочешь применить те же настройки на других — экспортируй список DoH-серверов:


# Экспорт
Get-DnsClientDohServerAddress | Export-Csv -Path C:\doh-servers.csv -NoTypeInformation

На другой машине импортируй:


# Импорт
$servers = Import-Csv -Path C:\doh-servers.csv
foreach ($s in $servers) {
    Add-DnsClientDohServerAddress `
        -ServerAddress $s.ServerAddress `
        -DohTemplate $s.DohTemplate `
        -AllowFallbackToUdp ([bool]$s.AllowFallbackToUdp) `
        -AutoUpgrade ([bool]$s.AutoUpgrade)
}

Это удобно при переустановке системы или развёртывании на нескольких рабочих станциях.

Обновление прошивки Keenetic не сломает DoH

Штатное обновление прошивки Keenetic через веб-интерфейс сохраняет конфигурацию включая DoH-настройки. Роутер скачивает образ, перезагружается, применяет конфиг. Обычно DoH продолжает работать без каких-либо действий с твоей стороны.

Но если ты делаешь полный сброс к заводским настройкам или меняешь роутер — конфиг слетит. Поэтому делай резервную копию перед любым сбросом. В веб-интерфейсе: Система — Управление конфигурацией — Сохранить конфигурацию. Скачай файл .ndm на компьютер.

Восстановление из резервной копии: Система — Управление конфигурацией — Загрузить конфигурацию. Загрузи .ndm файл. Роутер применит все настройки включая DoH.

После восстановления проверь через CLI:


show ip dns proxy

Должен увидеть DoH-сервер в статусе enabled. Если статус disabled — выполни enable заново:


ip dns proxy name cloudflare doh enable
system configuration save

Яндекс DNS over HTTPS

Яндекс предоставляет три варианта DoH-серверов:

Тип DoH URL IP Особенности
Базовый https://common.dot.dns.yandex.net/dns-query 77.88.8.8 / 77.88.8.1 Без фильтрации
Безопасный https://safe.dot.dns.yandex.net/dns-query 77.88.8.88 / 77.88.8.2 Блокирует вирусы и фишинг
Семейный https://family.dot.dns.yandex.net/dns-query 77.88.8.7 / 77.88.8.3 Фильтрует взрослый контент

Серверы Яндекса физически в России — быстрые для пользователей на территории РФ. Данные обрабатываются по российскому законодательству и хранятся Яндексом. Если ты в России и тебя устраивает российская юрисдикция вместо юрисдикции провайдера — нормальный выбор. Если нужна юрисдикция за пределами России — Cloudflare (США) или Quad9 (Швейцария).

DoH на Android

Android 9 и новее поддерживает Private DNS — это DNS over TLS, не DoH. Для большинства задач защита аналогичная: DNS-запросы шифруются, провайдер их не видит. Разница в протоколе и порту, а не в уровне защиты.

Настройки — Сеть и Интернет — Расширенные настройки — Частный DNS. Выбери «Имя хоста частного DNS-провайдера». Введи:


cloudflare-dns.com

Для Quad9:


dns.quad9.net

Нажми Сохранить. Android теперь шифрует DNS через DoT для всех приложений. Иконка замка в статусной строке Private DNS появится в разделе Wi-Fi если провайдер доступен.

Если нужен именно DoH — настрой его в браузере Chrome или Firefox на Android: настройки абсолютно те же что в десктопной версии, разделы называются одинаково.

Проверка на Android: через браузер Chrome открой https://1.1.1.1/help. Если Private DNS включён — должно показать DoH или DoT в зависимости от того что настроено в браузере.

DoH на iOS

iOS 14 и новее поддерживает шифрованный DNS системно через профили конфигурации. Профиль — это XML-файл с расширением .mobileconfig, который устанавливает DNS-настройки на уровне всей системы. Все приложения, не только браузер, используют настроенный DoH.

Самый простой способ: приложение 1.1.1.1 от Cloudflare в App Store. Скачай, открой, включи переключатель. Приложение создаёт VPN-профиль или конфигурационный профиль — зависит от версии. Проверь что профиль установлен: Настройки — Основные — VPN и управление устройством.

Для ручной установки без приложения — Cloudflare публикует готовые .mobileconfig файлы:


https://1.1.1.1/family/setting   - с защитой от малвари
https://1.1.1.1/privacy/setting  - только шифрование, без фильтрации

Открой URL в Safari на iPhone — Safari скачает файл и предложит его установить. Перейди в Настройки — Основные — VPN и управление устройством — найди скачанный профиль — Установить. Введи пароль устройства. После установки iPhone использует Cloudflare DoH для всего DNS-трафика.

AdGuard предоставляет аналогичные профили на своём сайте. Quad9 тоже. Найди на сайте провайдера раздел «iOS» или «Configuration profile».

Для удаления профиля: Настройки — Основные — VPN и управление устройством — выбери профиль — Удалить профиль. DNS вернётся к системным настройкам (провайдерский DNS по DHCP).

Проверка: открой https://1.1.1.1/help в Safari. Должно показать DoH: Yes если профиль Cloudflare установлен и активен.

Как проверить что DNS over HTTPS работает

Включил — проверь. Не верь настройкам на слово. Видел слишком много «включил DoH» которое тихо fallback-нулось на обычный DNS.

Проверка через браузер — 30 секунд

Открой в браузере, который настраивал:


https://1.1.1.1/help

Cloudflare покажет статус: «Using DNS over HTTPS (DoH) — Yes» или «No». Самая простая проверка.

Расширенная проверка — DoH, DNSSEC, TLS 1.3 и Encrypted SNI одним запросом:


https://www.cloudflare.com/ssl/encrypted-sni/

Проверка через PowerShell — Windows

Текущие DNS-адреса системы:


Get-DnsClientServerAddress | Select-Object InterfaceAlias, ServerAddresses

Если видишь адреса провайдера вместо 1.1.1.1 — настройки не применились.

Статус DoH-серверов Windows:


Get-DnsClientDohServerAddress | Select-Object ServerAddress, DohTemplate

Резолвинг через конкретный сервер:


Resolve-DnsName -Name cloudflare.com -Type A -Server 1.1.1.1

Проверка через curl — Linux или WSL

Явный запрос к DoH-серверу:


curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=example.com&type=A'

Если вернулся JSON с полем «Answer» и IP-адресами — DoH работает и доступен.

Проверка DoH через nslookup

nslookup — встроенный инструмент Windows. Не показывает DoH напрямую, но позволяет убедиться что DNS резолвится через нужный сервер:


nslookup cloudflare.com 1.1.1.1

Вывод должен содержать Server: 1.1.1.1 и IP-адрес cloudflare.com. Это подтверждает что ты можешь достучаться до 1.1.1.1 и он отвечает. Но nslookup не проверяет шифрование — он сам делает обычный UDP DNS-запрос на 53-й порт.

Для проверки именно DoH — curl или браузер точнее. nslookup полезен для диагностики сетевой доступности DoH-серверов.

Что означают результаты на 1.1.1.1/help

Страница показывает несколько параметров:

  • Connected to 1.1.1.1: Yes — ты подключён к Cloudflare DNS
  • Using DNS over HTTPS (DoH): Yes / No — зашифрован ли DNS-запрос
  • Using DNS over TLS (DoT): Yes / No — альтернативный протокол шифрования
  • AS Name — название автономной системы откуда пришёл запрос
  • IP — твой внешний IP-адрес (или IP VPN если он включён)

Если DoH: No, но Connected to 1.1.1.1: Yes — ты обращаешься к Cloudflare, но по обычному незашифрованному DNS. Нужно включить DoH в настройках браузера или системы.

Если Connected to 1.1.1.1: No — браузер использует другой DoH-сервер (Google, Quad9 и т.д.) или обычный провайдерский DNS. Для проверки DoH у другого провайдера используй его собственную страницу диагностики — или curl к JSON API.

Wireshark — убедиться что 53-й порт молчит

Запусти захват трафика на активном сетевом интерфейсе. Фильтр:


udp.port == 53

Открой несколько сайтов. Если DoH настроен правильно — трафик на порту 53 отсутствует. Все DNS-запросы растворились в HTTPS-потоке на 443-м порту и стали неотличимы от обычного браузинга. Ради этого всё и затевалось.

Безопасность: что DoH не решает

DNSSEC: дополнительный уровень защиты поверх DoH

DoH шифрует транспорт. DNSSEC аутентифицирует данные — подписывает DNS-записи криптографически на стороне владельца домена. Даже если атакующий каким-то образом перехватит DoH-соединение или скомпрометирует промежуточный сервер — DNSSEC-подписи позволят обнаружить подмену.

Cloudflare, Google и Quad9 делают DNSSEC-валидацию. Это означает: если запись подписана DNSSEC и подпись не совпадает — сервер вернёт ошибку SERVFAIL вместо поддельного ответа.

Проверить что домен подписан DNSSEC:


# Через dig на Linux / WSL
dig +dnssec cloudflare.com A

В ответе ищи строку с RRSIG — это цифровая подпись записи. Если RRSIG есть — домен подписан. В выводе curl к DoH JSON API смотри поле AD: true — Authenticated Data, DNSSEC-валидация прошла.

Проверка онлайн:


https://dnssec-analyzer.verisignlabs.com/cloudflare.com

DoH + DNSSEC — нормальный уровень защиты DNS для домашней сети. Транспорт зашифрован, данные аутентифицированы.

Encrypted Client Hello: следующий шаг после DoH

DoH прячет DNS-запрос. Но при TLS-рукопожатии браузер отправляет SNI — имя сайта в открытом тексте. Провайдер видит к какому домену ты подключаешься даже при включённом DoH.

ECH (Encrypted Client Hello) шифрует SNI. Браузер отправляет зашифрованное приветствие — имя сайта скрыто. Cloudflare развернул инфраструктуру для ECH в 2023 году. Firefox поддерживает ECH начиная с версии 118, Chrome с 117.

Проверить поддержку ECH:


https://www.cloudflare.com/ssl/encrypted-sni/

Там покажет статус ECH отдельной строкой. Если «Encrypted ClientHello: Yes» — приватность на уровень выше.

ECH требует поддержки со стороны сервера. Пока покрытие ограничено — в основном Cloudflare-проксированные сайты. Но вектор правильный: DoH + ECH + DNSSEC закрывают большинство DNS-связанных угроз приватности.

DoH скрывает DNS-запросы. Но есть вещи, которые он не закрывает — и важно это понимать, чтобы не переоценивать защиту.

SNI (Server Name Indication) — расширение TLS, передающее имя сайта в открытом виде при установке HTTPS-соединения. Провайдер видит к какому домену ты подключаешься, даже если DNS-запрос зашифрован. Частичное решение — ECH (Encrypted Client Hello), но поддержка пока не повсеместная.

IP-адрес назначения виден всегда. Если сайт живёт на выделенном IP — провайдер вычисляет домен по IP без DNS-логов.

DoH — один слой защиты, не магическая кнопка анонимности. Для полной приватности нужен VPN или Tor. DoH и VPN хорошо дополняют друг друга: DoH защищает DNS-запросы которые идут до установки VPN-туннеля, VPN скрывает весь остальной трафик.

Firewall и DoH в корпоративной среде
Если настроен локальный DNS-сервер и нужно принудительно гнать трафик через него — заблокируй исходящий UDP/TCP порт 53 для всех хостов кроме своего DNS-сервера. DoH на 443-м порту без DPI заблокировать практически невозможно. Учти это при проектировании корпоративной сети: пользователи с DoH в браузере обходят локальный DNS-резолвер и твои DNS-политики.

Реальный уровень приватности с DoH

Давай честно. Что провайдер видит с DoH и без него.

Без DoH провайдер видит: все DNS-запросы с именами доменов и временем, IP-адреса назначений, объём трафика по каждому соединению, SNI при TLS-рукопожатии.

С DoH провайдер видит: IP-адреса назначений, объём трафика, SNI. DNS-запросы — нет.

С DoH + ECH провайдер видит: IP-адреса назначений, объём трафика. DNS-запросы и SNI — нет.

С DoH + ECH + VPN провайдер видит: IP VPN-сервера, объём трафика до VPN. Содержимое — нет.

DoH убирает один из самых простых векторов — DNS-лог. Это не ядерная приватность, но существенный шаг. Настраивается за 10 минут. Не замедляет интернет. Использует бесплатные серверы. Соотношение усилий и результата — отличное.

DoH в корпоративной среде: что нужно знать администратору

DoH удобен для домашних пользователей. Для корпоративной сети он создаёт головную боль для сетевого администратора — и вот почему.

Корпоративная сеть обычно использует внутренний DNS-сервер. Через него резолвятся внутренние домены — интранет, корпоративные сервисы, VPN-хосты. Если пользователь включает DoH в браузере с Cloudflare как upstream — браузер перестаёт видеть внутренние домены. Попытка открыть внутренний сайт company.local завершится ошибкой: Cloudflare не знает про company.local.

Вторая проблема — DNS-фильтрация. Многие корпоративные сети фильтруют нежелательные категории сайтов через DNS. DoH с внешним сервером обходит эту фильтрацию.

Третья — видимость трафика для SOC. Часть мониторинга безопасности строится на анализе DNS-трафика. DoH делает его невидимым для внутренних инструментов.

Как заблокировать DoH в корпоративной сети

Полностью заблокировать DoH без DPI практически невозможно — он идёт на 443-й порт. Но есть несколько рычагов.

Firefox проверяет canary-домен use-application-dns.net. Если он недоступен или возвращает NXDOMAIN — Firefox отключает DoH. Добавь в корпоративный DNS запись:


use-application-dns.net A 0.0.0.0

Или заблокируй через DNS-фильтр. Firefox увидит недоступность canary-домена и отключит DoH. Для Chrome и Edge такого механизма нет — работают через групповые политики.

Для Chrome через GPO (Group Policy Object). Найди политику: Computer Configuration — Administrative Templates — Google Chrome — DNS-over-HTTPS mode. Установи «off» или «automatic» (automatic разрешает DoH только если совпадает с настроенным DNS).

Для Edge: Computer Configuration — Administrative Templates — Microsoft Edge — Built-in DNS client — DNS-over-HTTPS.

На уровне сети — заблокируй IP-адреса популярных DoH-серверов. Это частичная мера (серверов много), но снижает процент пользователей с работающим DoH:


# Cloudflare DoH
1.1.1.1, 1.0.0.1, 2606:4700:4700::1111, 2606:4700:4700::1001

# Google DoH
8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844

# Quad9 DoH
9.9.9.9, 149.112.112.112

Корпоративный DoH: DNS-over-HTTPS с внутренним сервером

Правильное решение для корпоративной сети — не блокировать DoH, а настроить корпоративный DoH-сервер. Тогда браузеры используют зашифрованный DNS, но резолвинг идёт через корпоративный сервер с доступом к внутренним зонам.

На Windows Server DNS добавь DoH-прокси через IIS или nginx. Или разверни отдельный DoH-прокси — например coredns с плагином forward и tls.

Простой вариант через nginx — проксируй HTTPS на 443 к внутреннему DNS:


server {
    listen 443 ssl http2;
    server_name dns.company.local;

    ssl_certificate /etc/ssl/company.crt;
    ssl_certificate_key /etc/ssl/company.key;

    location /dns-query {
        proxy_pass http://127.0.0.1:8053;
        proxy_set_header Content-Type application/dns-message;
    }
}

После настройки разверни через GPO URL корпоративного DoH-сервера https://dns.company.local/dns-query как единственный разрешённый DoH-эндпоинт. Пользователи получают зашифрованный DNS, но через корпоративный сервер с полным контролем.

Troubleshooting: типичные ошибки при настройке DoH

DNS не резолвится после включения DoH в Windows 11

Причина: Windows не распознала IP-адрес как DoH-совместимый — его нет в списке Known DoH Servers, и Windows не знает какой URL использовать.

Диагноз
Открываешь сайты — ошибка DNS_PROBE_FINISHED_NXDOMAIN или «Адрес сайта не найден». При этом в настройках сети DoH включён и адреса прописаны.

Проверь список:


Get-DnsClientDohServerAddress | Select-Object ServerAddress, DohTemplate

Если DohTemplate пустой — добавь сервер вручную:


Add-DnsClientDohServerAddress `
  -ServerAddress "1.1.1.1" `
  -DohTemplate "https://cloudflare-dns.com/dns-query" `
  -AllowFallbackToUdp $False `
  -AutoUpgrade $True

Chrome включён, но 1.1.1.1/help показывает «No»

Причина: в Chrome выбрано «С вашим текущим поставщиком», а системный DNS — сервер провайдера без DoH. Chrome искал DoH-версию, не нашёл и не переключился.

Решение: зайди в chrome://settings/security, переключи на «С другим поставщиком», выбери Cloudflare или Google явно. Обнови страницу на 1.1.1.1/help.

Firefox игнорирует настройки DoH

Причина 1: canary-домен use-application-dns.net недоступен — Firefox отключил DoH автоматически.

Установи в about:config:


network.trr.mode = 3

Причина 2: применена групповая политика. Проверь:


about:policies

Если там есть DoH-политика — она приоритетнее about:config. В корпоративной сети обратись к администратору.

Keenetic не сохраняет настройки DoH после перезагрузки

Причина: конфигурация не сохранена явно, или компонент «DNS-over-HTTPS прокси» не установлен.

Проверь компонент: Система — Параметры компонентов — «DNS-over-HTTPS прокси» должен быть в статусе «Установлен». После настройки сохрани конфигурацию:


system configuration save

Сайты открываются медленнее после включения DoH

Причина: DoH-сервер далеко или перегружен. HTTPS handshake добавляет задержку на первый запрос к каждому домену.

Решение: переключись на Cloudflare 1.1.1.1 — медианная задержка около 11 мс, быстрее большинства провайдерских серверов. Или подними локальный кэширующий резолвер с DoH-апстримом — повторные запросы к популярным доменам будут отвечать из кэша мгновенно.

dnscrypt-proxy не запускается в Windows 10

Причина: порт 53 занят службой DNS Client (Dnscache).

Проверь что занимает порт:


netstat -ano | findstr ":53 "

Найди PID и определи процесс:


Get-Process -Id НОМЕР_PID

Если это Dnscache — останови и поставь ручной запуск:


Stop-Service Dnscache
Set-Service Dnscache -StartupType Manual
Restart-Service dnscrypt-proxy

DoH включён, но DNSSEC не проходит

Причина: не все DoH-серверы делают DNSSEC-валидацию по умолчанию.

Cloudflare, Quad9 и Google делают DNSSEC. Проверь свой сервер:


https://dnssec-analyzer.verisignlabs.com/

Если используешь нестандартный сервер — смотри его документацию на предмет DNSSEC-валидации.

После настройки DoH появились проблемы с внутренними доменами в корпоративной сети

Это классическая проблема DoH в корпоративной среде. Ты настроил DoH с Cloudflare. Теперь внутренние домены типа mail.company.local или intranet.corp не резолвятся — Cloudflare о них ничего не знает.

Решения в порядке возрастания сложности:

Первое — отключи DoH на уровне системы, оставь только в браузере. Браузер использует DoH для интернет-сайтов, а ОС резолвит внутренние домены через корпоративный DNS. Работает если корпоративный DNS назначается через DHCP или VPN.

Второе — в Windows 11 есть механизм «Split DNS»: укажи корпоративный DNS-сервер дополнительно с режимом «Без шифрования» только для конкретного сетевого профиля. Это сложнее настроить, но даёт оба DNS одновременно.

Третье — лучшее решение: корпоративный DoH-сервер. Системный администратор настраивает DoH-прокси на корпоративном DNS. Ты подключаешься к нему — и получаешь и внутренние зоны, и шифрование DNS. Адрес такого сервера обычно выдаётся через VPN-профиль.

DoH включён, но dnsleaktest.com всё равно показывает провайдерские серверы

dnsleaktest.com тестирует откуда реально пришли DNS-ответы на их тестовые домены. Если там провайдерские серверы — одна из причин:

В Windows DoH настроен в браузере, но dnsleaktest запущен из другого браузера или из системы. Системный DNS при этом всё ещё провайдерский. Для теста используй тот же браузер где настроен DoH.

Включён VPN с настройкой «использовать DNS VPN-сервера. VPN перебивает системный DoH. Отключи VPN для теста или настрой DoH внутри VPN-клиента.

dnscrypt-proxy слушает на 127.0.0.1:53, но в настройках адаптера не прописан 127.0.0.1 как DNS. Результат: запросы идут мимо dnscrypt-proxy напрямую к провайдерскому серверу. Проверь что DNS в настройках адаптера == 127.0.0.1.

Когда DoH особенно важен: реальные сценарии

DoH полезен всегда. Но есть ситуации где он критичен.

Публичный Wi-Fi — кафе, аэропорт, гостиница

В публичной Wi-Fi сети кто угодно может запустить Wireshark и смотреть трафик. Обычный DNS на 53-м порту — открытый текст. За 5 минут у соседа по кофейне будет список всех сайтов которые ты открывал. Плюс DNS-спуфинг: злоумышленник в той же сети отвечает на DNS-запросы поддельными IP.

DoH с TLS устраняет обе угрозы. Запросы зашифрованы, сервер аутентифицирован через TLS-сертификат — подменить ответ невозможно.

В публичной сети включай DoH в браузере перед тем как открывать что-либо важное. Пять секунд — chrome://settings/security — включить безопасный DNS — Cloudflare. Лучше VPN, но DoH это минимальная гигиена.

Работа из дома — ISP видит рабочий трафик

Провайдер домашнего интернета может видеть DNS-запросы к корпоративным ресурсам: какие внутренние инструменты используешь, с какими сервисами работаешь. Для большинства сценариев это не проблема — но если политика компании требует приватности трафика, DoH на домашней машине закрывает хотя бы DNS-слой.

Правильное решение в этом случае — корпоративный VPN, который обычно включает и DoH или DoT для DNS. Но если VPN нет — DoH лучше чем ничего.

Путешествия — нестабильные и потенциально враждебные сети

В некоторых странах провайдеры блокируют сайты на уровне DNS. Обычный DNS резолвинг возвращает заглушку или пустой ответ. DoH использует внешний сервер — Cloudflare или Google — который не знает о местных блокировках.

Это работает пока провайдер не блокирует сами DoH-серверы по IP. Cloudflare 1.1.1.1 заблокировать сложно — он хостится на огромной CDN-инфраструктуре, которая перекрывается с множеством легитимных сайтов.

Умный дом и IoT — устройства которые не настраиваются

Умные лампочки, телевизоры, колонки, термостаты — всё это постоянно делает DNS-запросы. К своим облачным серверам, к серверам обновлений, к аналитике производителя. Настроить DoH на каждом IoT-устройстве невозможно.

Решение — роутер Keenetic с DoH. Все устройства в сети получают зашифрованный DNS автоматически. Не надо трогать каждое устройство отдельно.

Типичные ошибки при настройке DoH: чек-лист

Собрал самые частые ошибки в одном месте. Пройдись по списку если что-то не работает.

Симптом Вероятная причина Быстрая проверка
1.1.1.1/help показывает DoH: No DoH не применился или применился с fallback Проверь Get-DnsClientDohServerAddress
Сайты не открываются после включения DoH Сервер фильтрует домен или недоступен Переключись на Cloudflare 1.1.1.1
Chrome DoH включён, но провайдерский DNS в логах Chrome использует «текущего поставщика» без DoH Выбери провайдера явно в настройках Chrome
Firefox игнорирует about:config Групповая политика или canary-домен Проверь about:policies
Keenetic слетает после перезагрузки Конфиг не сохранён system configuration save
dnscrypt-proxy не стартует Порт 53 занят Dnscache netstat -ano | findstr «:53 «
DoH работает, но медленно Далёкий DoH-сервер или нет кэша Переключись на Cloudflare, включи cache в dnscrypt-proxy
DNSSEC не проходит DoH-сервер не делает DNSSEC-валидацию Используй Cloudflare, Quad9 или Google

Мониторинг: как убедиться что DoH работает стабильно

DoH настроил — хорошо. Но «настроил один раз» не означает «работает всегда». Windows обновляется. Роутер перезагружается. Прошивка Keenetic меняется. Всё это может тихо сломать DoH без каких-либо ошибок — DNS продолжит работать через обычный 53-й порт, просто незашифрованно.

Несколько способов держать DoH под контролем.

Периодическая ручная проверка

Самый простой способ — раз в месяц открывать https://1.1.1.1/help и смотреть. Три секунды. Если DoH: Yes — всё хорошо. Если No — разбираться почему.

Для Windows — добавь задачу в Планировщик заданий которая раз в неделю проверяет текущие DNS-адреса. Создай файл check-doh.ps1:


$dns = Get-DnsClientServerAddress | Where-Object AddressFamily -eq 2
$expected = @("1.1.1.1", "1.0.0.1", "8.8.8.8", "8.8.4.4", "9.9.9.9")
$current = $dns.ServerAddresses
$ok = $current | Where-Object { $expected -contains $_ }
if ($ok.Count -gt 0) {
    Add-Content C:\Logs\doh-check.log "$(Get-Date) - DoH DNS OK: $($current -join ', ')"
} else {
    Add-Content C:\Logs\doh-check.log "$(Get-Date) - ВНИМАНИЕ: DoH не настроен. Текущий DNS: $($current -join ', ')"
}

Создай директорию для логов:


New-Item -ItemType Directory -Path C:\Logs -Force

Добавь скрипт в Планировщик заданий: Win + R — taskschd.msc — Создать задачу — Триггеры: еженедельно — Действия: запустить PowerShell.exe с аргументом -File C:\check-doh.ps1.

Мониторинг через dnscrypt-proxy на Windows 10

dnscrypt-proxy пишет подробный лог. Смотри его:


Get-Content C:\dnscrypt-proxy\dnscrypt-proxy.log -Tail 50

Строки с «OK» — успешные DoH-запросы. Строки с «timeout» или «no server» — проблемы с DoH-сервером. Проверь что служба работает:


Get-Service dnscrypt-proxy | Select-Object Status, StartType

Мониторинг на Keenetic

Через веб-терминал Keenetic:


show ip dns proxy
show ip name-server

Посмотри системный лог на предмет DNS-ошибок:


show log | grep doh

Строки с «connected» подтверждают активное DoH-соединение. Ошибки «connection refused» к DoH-серверу — проблема с доступностью, роутер не может достучаться до Cloudflare или Quad9.

Альтернативные решения

NextDNS — DoH с личной статистикой и фильтрами

NextDNS даёт персональный DoH-эндпоинт с кастомными списками блокировки, подробной статистикой запросов и управлением через веб-интерфейс. Видишь какие домены резолвируют устройства, блокируешь нужное, настраиваешь свои white/blacklist. Бесплатный план — 300 000 запросов в месяц, обычно хватает на домашнюю сеть. Хорошо подходит для семейной сети с детьми.

URL выглядит так:


https://dns.nextdns.io/ВАШ_ID

Получи ID после регистрации на nextdns.io.

Pi-hole + cloudflared на Raspberry Pi

Если есть Raspberry Pi или старый мини-ПК — поставь Pi-hole для блокировки рекламы и cloudflared как DoH-клиент. Pi-hole принимает DNS-запросы от устройств в сети на обычный 53-й порт, cloudflared пересылает их в Cloudflare через DoH. Провайдер не видит DNS, реклама режется для всей сети.

Установка cloudflared на Raspberry Pi (arm64):


wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb
sudo dpkg -i cloudflared-linux-arm64.deb
cloudflared --version

Создай пользователя для сервиса:


sudo useradd -s /usr/sbin/nologin -r -M cloudflared

Создай файл /etc/systemd/system/cloudflared.service:


[Unit]
Description=cloudflared DNS over HTTPS proxy
After=syslog.target network-online.target

[Service]
Type=simple
User=cloudflared
ExecStart=/usr/local/bin/cloudflared proxy-dns --port 5053 --upstream https://cloudflare-dns.com/dns-query
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

sudo systemctl enable cloudflared
sudo systemctl start cloudflared
sudo systemctl status cloudflared

В настройках Pi-hole (Settings — DNS) укажи кастомный upstream: 127.0.0.1#5053. Выставь IP Raspberry Pi как DNS на роутере.

AdGuard Home через Docker

Аналог Pi-hole с нативной поддержкой DoH и DoT без дополнительных компонентов. Ставится как Docker-контейнер:


docker run --name adguardhome \
  -v /opt/adguardhome/work:/opt/adguardhome/work \
  -v /opt/adguardhome/conf:/opt/adguardhome/conf \
  -p 53:53/tcp -p 53:53/udp \
  -p 3000:3000/tcp \
  --restart unless-stopped \
  adguard/adguardhome

После установки открой http://IP_СЕРВЕРА:3000. В мастере настройки на шаге «Upstream DNS servers» вставь DoH-адрес Cloudflare. В настройках роутера выставь IP сервера с AdGuard Home как DNS. Все устройства сети получают DoH плюс блокировку рекламы.

Задержка DNS с DoH: реальные цифры

Часто спрашивают: DoH медленнее обычного DNS? Разберём с цифрами.

Обычный UDP DNS-запрос: пакет улетел, пришёл ответ. На провайдерский сервер — 5-50 мс в зависимости от расстояния и загрузки сервера.

DoH первый запрос к домену: TLS handshake (10-20 мс, выполняется один раз) + HTTPS-запрос + ответ. Итого 15-30 мс к Cloudflare. Последующие запросы в рамках существующего TLS-соединения: только HTTPS-запрос + ответ, 5-15 мс.

На практике после нескольких секунд работы браузера задержки DoH неотличимы от обычного DNS. TLS keep-alive держит соединение открытым — каждый раз заново рукопожатие не делается.

DNS-кэш браузера и ОС дополнительно сглаживает разницу. Повторный запрос к tому же домену (в пределах TTL) отвечает из кэша мгновенно — без обращения к DoH-серверу вообще.

Если интернет замедлился после включения DoH — вероятнее всего DoH-сервер далеко или перегружен, а не сам протокол виноват. Переключись на Cloudflare 1.1.1.1 и сравни. Cloudflare — самая распределённая сеть DoH-серверов в мире, с узлами в большинстве крупных городов России и соседних стран.

Профилактика: как не потерять DoH при обновлениях

DoH — тихая настройка. Включил и забыл. Но три момента стоит держать в голове.

После крупных обновлений Windows (22H2, 23H2 и подобных) проверяй настройки DNS. Обновления иногда сбрасывают параметры сети к дефолтным — это задокументированное поведение, не баг. Команда для быстрой проверки:


Get-DnsClientServerAddress | Select-Object InterfaceAlias, ServerAddresses

Если видишь адреса провайдера вместо 1.1.1.1 или 8.8.8.8 — настройки слетели, переназначь вручную через GUI или PowerShell.

После смены провайдера или замены роутера DNS автоматически переключается на сервер нового провайдера по DHCP. Зафиксируй DNS вручную в настройках адаптера — не через автоматическое получение. Это занимает две минуты, но потом не придётся вспоминать почему DoH перестал работать после смены тарифа или переезда.

После обновления прошивки Keenetic — проверь DoH через CLI:


show ip dns proxy

Штатные обновления конфиг сохраняют. Но при крупных обновлениях с изменением архитектуры (например переход на новое поколение NDMS) — иногда слетает. Резервная копия конфига перед обновлением — хорошая практика.

Один раз в несколько месяцев заходи на 1.1.1.1/help и проверяй. Три секунды. Зато точно знаешь что всё на месте. Видел конфиги которые «работали» три года, а потом оказывалось что DoH слетел через неделю после включения и всё это время DNS шёл через провайдера в открытом тексте.

Если используешь dnscrypt-proxy на Windows 10 — раз в несколько месяцев проверяй что служба работает и версия актуальная. Команда:


Get-Service dnscrypt-proxy
.\dnscrypt-proxy.exe --version

Актуальную версию смотри на github.com/DNSCrypt/dnscrypt-proxy/releases. Обновление простое: останови службу, замени .exe, запусти.

Обновление и откат

DoH не требует обновлений — это настройка, не отдельная программа. Но dnscrypt-proxy обновляется:


# Останови службу
Stop-Service dnscrypt-proxy

# Скачай новую версию с GitHub, замени dnscrypt-proxy.exe
# Конфиг dnscrypt-proxy.toml не трогай - он сохраняется

# Запусти
Start-Service dnscrypt-proxy
Get-Service dnscrypt-proxy

Откат DoH к обычному DNS — просто смени настройки DNS обратно на автоматические (DHCP) или пропиши адрес провайдера. Никаких следов не остаётся.

Для отката dnscrypt-proxy:


.\dnscrypt-proxy.exe -service stop
.\dnscrypt-proxy.exe -service uninstall

Потом верни DNS-настройки адаптера в «Получать адрес DNS-сервера автоматически».

Обновление dnscrypt-proxy до новой версии

Новые версии dnscrypt-proxy выходят несколько раз в год. В них исправления безопасности и новые DoH-серверы в списках. Обновление занимает 3 минуты.

Скачай новую версию с github.com/DNSCrypt/dnscrypt-proxy/releases. Распакуй архив. Открой директорию с текущей установкой (C:\dnscrypt-proxy\). Останови службу:


Stop-Service dnscrypt-proxy

Замени только файл dnscrypt-proxy.exe — файл конфигурации dnscrypt-proxy.toml не трогай, он сохраняется между версиями и обратно совместим.

Запусти:


Start-Service dnscrypt-proxy
Get-Service dnscrypt-proxy

Если служба не запустилась после обновления — проверь лог dnscrypt-proxy.log. Иногда в новых версиях меняется синтаксис конфига — смотри CHANGELOG в архиве с новой версией. Обычно это одна-две строки для изменения.

Откат к старой версии: останови службу, верни старый .exe — и всё. Конфиг совместим в обе стороны.

FAQ

Почему после включения DoH некоторые сайты перестали открываться?

Скорее всего DoH-сервер фильтрует домен. Quad9 и AdGuard DNS блокируют вредоносные и фишинговые сайты — иногда легитимные домены попадают в списки ошибочно. Временная проверка: отключи DoH, если сайт открылся — проблема в фильтрации. Переключись на Cloudflare 1.1.1.1 или Google 8.8.8.8 — они не фильтруют контент. Если важна блокировка малвари — Quad9, просто держи в голове что иногда бывают ложные срабатывания.

Как проверить работает ли DNS over HTTPS прямо сейчас?

Самый быстрый способ: открой https://1.1.1.1/help в браузере. Там прямо написано «Using DNS over HTTPS: Yes» или «No». Расширенная проверка с DNSSEC и TLS 1.3: https://www.cloudflare.com/ssl/encrypted-sni/. Для системных настроек Windows: Get-DnsClientDohServerAddress в PowerShell — смотри поле DohTemplate.

DNS over HTTPS или DNS over TLS — что лучше?

Для дома: DoH. Работает в браузере без дополнительного ПО, идёт на 443-м порту и практически не блокируется. DoT работает на отдельном порту 853 — его легко закрыть на файрволе. Для корпоративной сети где нужен контроль и мониторинг DNS-трафика — DoT управляемее. Для дома вопрос закрыт: DoH.

Что делать если провайдер блокирует DoH серверы по IP?

На практике заблокировать IP Cloudflare 1.1.1.1 означает заблокировать огромный кусок интернета — это нереально для рядового провайдера. Если всё же столкнулся — используй dnscrypt-proxy с несколькими серверами в конфиге, он автоматически переключается на доступный. Или NextDNS — у него уникальный персональный URL, заблокировать сложнее.

DoH и VPN — нужно ли включать оба?

При включённом VPN DNS-запросы обычно идут через VPN-сервер. DoH в браузере поверх VPN — двойное шифрование, не вредит. Смысла немного: VPN уже скрывает DNS от провайдера. Исключение: если VPN-клиент имеет утечки DNS (DNS leak) — DoH их не закроет. Проверь утечки на dnsleaktest.com и исправляй настройки VPN.

Нужно ли настраивать DoH в каждом браузере отдельно?

Если настроил DoH на уровне Windows 11 — большинство браузеров подхватят его автоматически. Firefox всегда использует собственные настройки DoH независимо от системы. Chrome при явно выбранном провайдере тоже игнорирует системный DNS. Для полного покрытия: настрой на уровне системы или роутера и отдельно в Firefox.

Влияет ли DoH на скорость интернета?

Практически нет. Добавляет задержку на TLS handshake при первом DNS-запросе к домену. Последующие запросы используют keep-alive и работают быстро. Cloudflare 1.1.1.1 показывает медианную задержку DNS около 11 мс — быстрее большинства провайдерских серверов. Скорость загрузки страниц на практике не меняется заметно.

Почему DNS over HTTPS не работает после настройки в Windows 11?

Самая частая причина: IP-адрес введённого сервера отсутствует в списке Known DoH Servers Windows. Windows не знает какой URL использовать для этого IP и молча откатывается на обычный DNS. Проверь через Get-DnsClientDohServerAddress — если поле DohTemplate пустое, добавь сервер через Add-DnsClientDohServerAddress с явным указанием DohTemplate.

Что такое DNS leak и как он связан с DoH?

DNS leak — утечка DNS-запросов за пределы настроенного канала. Например: включил VPN, но браузер всё равно резолвит DNS через системный сервер провайдера — VPN-туннель для DNS не работает. Результат: VPN скрывает содержимое трафика, но провайдер видит какие сайты ты посещаешь по DNS.

DoH может быть частью защиты от DNS leak: если настроен DoH на уровне системы и браузер использует системный DNS — запросы пойдут через DoH даже без VPN. Но если VPN-клиент имеет собственный DNS который перебивает системный — DoH не поможет. Проверь утечки на dnsleaktest.com при включённом VPN. Там показывает через какие серверы реально идут DNS-запросы.

Можно ли настроить свой DoH-сервер дома?

Да. AdGuard Home и Pi-hole с cloudflared — это локальные DoH-прокси. Но локальный сервер дома не решает проблему приватности от провайдера: трафик от локального сервера до upstream DoH-сервера (Cloudflare) всё равно идёт через провайдера — но уже зашифрованный через DoH. То есть схема работает: устройства резолвят у тебя на Pi-hole, Pi-hole спрашивает у Cloudflare через DoH. Провайдер видит только зашифрованный HTTPS-трафик до 1.1.1.1.

Для полностью автономного DoH-сервера без внешних зависимостей понадобится ещё и свой рекурсивный резолвер (unbound). Это уже отдельная история с настройкой DNSSEC-валидации. Для домашней сети избыточно, но если интересно — гугли «Pi-hole unbound recursive DNS».

Почему у меня разные результаты на 1.1.1.1/help в разных браузерах?

Каждый браузер управляет DNS независимо. Firefox с network.trr.mode=3 всегда использует свои DoH-настройки, игнорируя системный DNS. Chrome при явно выбранном DoH-провайдере тоже. Edge и Opera — аналогично.

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

Для полного покрытия: настрой DoH на уровне Windows 11 (системный) или роутера (для всех устройств). Тогда все программы получают DoH независимо от браузерных настроек.

Есть ли бесплатные DoH-серверы в России?

Яндекс предоставляет бесплатный DoH — адреса описаны в разделе «Яндекс DNS over HTTPS». Российская юрисдикция, быстрые серверы для пользователей в РФ.

SkyDNS и некоторые другие российские провайдеры DNS также поддерживают DoH. Проверь конкретного провайдера на их сайте — ищи раздел «DNS over HTTPS» или «DoH».

Cloudflare и Google тоже бесплатны и работают из России — с небольшой большей задержкой чем Яндекс, но с лучшей политикой приватности.

Можно ли использовать DoH на роутере и в браузере одновременно?

Да, это работает. Если на Keenetic настроен DoH с Cloudflare, а в Firefox отдельно настроен DoH с Google — Firefox использует Google DoH, все остальные устройства в сети используют Cloudflare DoH через роутер. Конфликта нет — каждый сам управляет своим DNS-трафиком.

Дублирование DoH не даёт дополнительной безопасности, но и не вредит. Если хочешь единообразие — настрой на роутере и отключи в браузерах (кроме Firefox — его лучше настроить явно т.к. он игнорирует системный DNS).

Итог

Если читал всю статью — у тебя теперь полное понимание DoH: что это, почему нужно, как работает изнутри, как настроить на любой платформе дома и что делать когда что-то идёт не так.

Если пришёл за конкретным разделом — надеюсь нашёл нужное. Навигация по заголовкам работает с любого места.

Ты настроил DNS over HTTPS. Запросы идут в зашифрованном HTTPS-туннеле на 443-й порт. Провайдер видит соединения с Cloudflare или Google — неотличимые от обычного браузинга. Никакого открытого 53-го порта, никаких логов на стороне провайдера о том, какие домены ты резолвишь.

Что реально получил: DNS-запросы зашифрованы, DNS-спуфинг не работает, блокировки по DNS через провайдерский сервер больше не применяются. Что по-прежнему видно провайдеру: SNI при TLS-рукопожатии, IP-адреса назначения, объём трафика.

Слои защиты поверх DoH — ECH (Encrypted Client Hello) скрывает SNI, уже работает в Firefox и Chrome для Cloudflare-сайтов. VPN скрывает IP-адрес назначения и весь трафик. Tor — максимальный уровень, но ценой скорости.

DoH — нормальный и достаточный уровень защиты DNS для домашней сети. Настраивается один раз, работает тихо, не тормозит интернет. Это не магия и не полная анонимность — просто убираем самый дешёвый и распространённый способ наблюдения за трафиком.

Три слоя для максимальной приватности DNS и трафика в порядке нарастания сложности: DoH (убирает DNS-лог у провайдера, настройка 10 минут) — ECH (убирает SNI, включается само в Firefox и Chrome для поддерживающих сайтов) — VPN или Tor (скрывает IP-адреса назначений и весь трафик).

Для большинства домашних сценариев достаточно первого слоя. Задача выполнена — за 10 минут. Нормальный результат.

Если что-то не заработало
Сначала проверь на https://1.1.1.1/help — там написано чёрным по белому. Если DoH показывает «No» после всех настроек — пиши в комментарии с указанием ОС, браузера и что именно делал. Разберёмся.
Андрей Анатольевич
Author: Андрей Анатольевич

Руководитель ИТ / Кризис-менеджер 25 лет в IT: от инженера в МегаФоне до руководителя отдела. Знаю, как выглядит бардак: нестабильные сети, устаревшая инфраструктура, конфликты в команде, раздутые сроки. Помогаю бизнесу выходить из кризиса: навожу порядок в легаси, стабилизирую то, что разваливается, выстраиваю прогнозируемые процессы. Не раз возвращал к жизни ИТ-структуры — знаю цену хаосу. 📍 Ищу проект для полной реорганизации / стабилизации. 📬 Telegram: @over_dude ✉️ mail@it-apteka.com

Оставайтесь на связи

Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.

Подписаться на IT-Аптеку →

Мы ВКонтакте

IT-Аптека — советы, новости и помощь рядом.

Вступить в группу ВКонтакте →
Поделитесь:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх