DNS поверх HTTPS (DoH) — экспериментальный протокол для выполнения разрешения DNS по протоколу HTTPS. Целью этого метода является повышение конфиденциальности и безопасности пользователей путём предотвращения перехвата и манипулирования данными DNS с помощью атак типа «Атака посредника»[1]. По состоянию на март 2018 года, Google и Mozilla Foundation тестируют версии DNS по протоколу HTTPS.
В Windows 10 с версии сборки 19628 (для получении этой версии на день написания статьи необходимо быть активным участником программы Windows Insider.
Обратите внимание, что после тестирования этого функционала в Windows 10, ручное включение через реестр не понадобиться.
Для включения поддержки (DoH) необходимо.
- Иметь версию Windows 10 19628 и старше
- Открыть редактор реестра (Win+R => в открывшемся окне набрать «regedit» и на жать кнопку ОК

- Перейти в следующий раздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
- Создайте новую запись в реестре типа DWORD с именем «EnableAutoDoh» и значением 2.
- После перезагрузки компьютера DoH будет активен.
Обратите внимание, что для работы DoH необходимо использовать DNS провайдеров которые поддерживают этот функционал, а именно:
Владелец сервера | IP-адреса сервера |
Cloudflare | 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 |
8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844 | |
Quad9 | 9.9.9.9 149.112.112.112 2620: fe :: fe 2620: fe :: fe: 9 |
Как проверить работу DOH
Для тестирования DoH нам необходимо проверить, что отсутствует DNS трафика в виде простого текста. Это можно сделать с помощью встроенного анализатора сетевого трафика Packetmon.
- Запустите командную строку или PowerShell.
- Удалите все фильтры анализатора использовав команду
pktmon filter remove
- Добавьте фильтр для 53 порта который используется для DNS запросов.
pktmon filter add -p 53
- Начните регистрацию трафика в реальном времени при помощи следующей команды:
pktmon start --etw -m real-time
В случае если DoH работает правильно, то ни одного пакета не будет зарегистрированно.
Как зарегистрировать свой сервер DoH в Windows 10.
Если вы пытаетесь протестировать DoH-сервер, которого еще нет в нашем списке авто-продвижения, например, DoH-серверы вашего провайдера, вы можете добавить его в наш список вручную с помощью командной строки.
Определите IP адрес необходимого DNS сервера для подключения и в формате следующего шаблона. И выполните полученную конструкцию в командной строке от имени администратора.
netsh dns add encryption server=<your-server’s-IP-address> dohtemplate=<your-server’s-DoH-URI-template>
Чтобы проверить был применен используемый шаблон верно к общеизвестному списку серверов DoH, выполните эту команду
netsh dns show encryption server=<your-server’s-IP-address>
По мотивам статьи