Привет, фанаты сетевой безопасности! 🚀 В 2025 году DNS через HTTPS (DoH) — уже не экзотика для энтузиастов, а необходимость. Стандартный DNS передаёт ваши запросы открытым текстом, поэтому интернет-провайдеры, администраторы сети и даже любопытные соседи видят, на какие сайты вы ходите. DoH решает эту проблему, шифруя каждый DNS-запрос внутри HTTPS-соединения. Сегодня покажу, как заставить Windows 11, Windows Server 2022+ и Linux систематически и надёжно использовать только DoH, без откатов на открытый DNS.
Что такое DNS через HTTPS на самом деле? 🔍
DNS через HTTPS (DoH) определён в RFC 8484 и работает так: вместо отправки DNS-запроса на 53-й порт открытым текстом, ваша система упаковывает этот запрос в HTTPS запрос с методом POST или GET и отправляет его на порт 443. Звучит просто, но механика сложнее.
Как работает DoH под капотом
Клиент формирует стандартный DNS-запрос (структура из RFC 1035), затем кодирует его методом base64url без дополнения и отправляет одним из двух способов:
Метод POST (приватнее): DNS-запрос идёт в теле HTTP-запроса с заголовком Content-Type: application/dns-message. Это менее кэшируемо, зато сложнее перехватить путём анализа трафика.
Метод GET (быстрее): DNS-запрос кодируется в параметре ?dns= адреса. Кэшируется лучше, но пути запросов видны на сетевом уровне. Пример запроса к Cloudflare:
GET https://1.1.1.1/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB
Сервер расшифровывает запрос, резолвит доменное имя, кодирует ответ обратно в base64url и возвращает с Content-Type: application/dns-message. Весь процесс использует TLS 1.3, поэтому даже промежуточные маршрутизаторы видят только зашифрованное HTTPS-соединение.
🔖Дорогие гости и подписчики канала. Если наши материалы приносят вам пользу, вы всегда можете поддержать команду символическим переводом. Любая помощь мотивирует писать для Вас больше полезного и качественного контента безо всяких подписок.🙏🤝🙏🤝🙏
💰ПОДДЕРЖАТЬ КАНАЛ МОЖНО ТУТ ( ОТ 50 РУБЛЕЙ )💰
Или сделать любой перевод по QR-коду через СБП. Быстро, безопасно и без комиссии.(Александр Г.)
С уважением, Команда "Т.Е.Х.Н.О Windows & Linux".
RFC 8484: ключевые детали
- Клиент DoH НИКОГДА не должен использовать адреса, обнаруженные вне конфигурации (например, через HTTP/2 перечисление серверов).
- Таймауты: каждый запрос должен иметь разумный таймаут (обычно 5–10 секунд).
- Заголовок Accept: клиент отправляет Accept: application/dns-message.
- HTTP/2 обязателен: старый HTTP/1.1 может замедлить резолюцию имён.
Минусовые моменты DoH (которые никто не упоминает)
Перед тем как бежать настраивать — несколько критических подводных камней:
Видимость для администраторов безопасности: классические DNS-фильтры, которые смотрят на порт 53, больше не видят ваши запросы. Если в вашей сети есть корпоративный прокси-сервер или фильтр от провайдера — они ничего не поймут.
Производительность: задержка DoH в среднем на 10–20 миллисекунд выше, чем классический DNS. Cloudflare обещает 14 мс, но на плохих каналах может быть 50+ мс.
Конфликты с виртуальными сетями: некоторые клиенты виртуальных сетей игнорируют системные DNS-настройки и льют трафик напрямую. Браузеры типа Firefox и Chrome часто имеют встроенный DoH, который может обойти вашу виртуальную сеть.
Валидация DNSSEC: если у вас есть внутренние DNS-серверы с самоподписанными сертификатами, DoH может отказать их обслуживать.
Встроенные серверы DoH в Windows 11 ✅
Microsoft предусмотрительно встроила поддержку DoH на уровне системы, начиная с Windows 11 и Windows Server 2022. Windows "знает" о следующих серверах (информация актуальна на 30 ноября 2025):
Провайдер: Cloudflare
- IPv4 основной: 1.1.1.1
- IPv4 резервный: 1.0.0.1
- IPv6 основной: 2606:4700:4700::1111
Провайдер: Google
- IPv4 основной: 8.8.8.8
- IPv4 резервный: 8.8.4.4
- IPv6 основной: 2001:4860:4860::8888
Провайдер: Quad9
- IPv4 основной: 9.9.9.9
- IPv4 резервный: 149.112.112.112
- IPv6 основной: 2620:fe::fe
Провайдер: OpenDNS
- IPv4 основной: 208.67.222.222
- IPv4 резервный: 208.67.220.220
- IPv6: не поддерживается
Если вы зашли в «Параметры» → «Сеть и Интернет» → «Свойства» и видите выпадающее меню «Предпочитаемое шифрование DNS» с опциями «Включено» или «Включено (автоматический шаблон)» — поздравляю, Windows распознал ваш DNS-сервер из встроенного списка.
Если нет — нужно регистрировать сервер вручную через PowerShell.
Этап 1: Быстрая настройка DoH через интерфейс (5 минут) ⚙️
Для пользователей, которые доверяют встроенным серверам Cloudflare, Google или Quad9.
Шаг 1: Откроем параметры сети
Нажимаем Windows + I, идём в Сеть и Интернет.
Если подключены по Wi-Fi — нажимаем на своё подключение в списке, скроллим вниз до Свойства и кликаем.
Если по Ethernet — ищем Ethernet, затем Свойства.
Шаг 2: Перейдём к DNS-параметрам
Скроллим вниз до Назначение DNS-сервера, нажимаем Изменить.
Видим выпадающее меню с текущей настройкой (обычно «Автоматический (DHCP)»). Меняем на Вручную.
Шаг 3: Включаем IPv4 и вводим адреса
Переводим переключатель IPv4 в положение Включено (если уже включен — хорошо).
В поле Предпочитаемый DNS вводим основной адрес (например, 1.1.1.1 для Cloudflare).
В поле Альтернативный DNS вводим резервный (например, 1.0.0.1).
Шаг 4: Активируем DoH
Скроллим ниже и видим выпадающее меню Предпочитаемое шифрование DNS.
Выбираем Включено (автоматический шаблон) — Windows автоматически определит правильный шаблон DoH для Cloudflare/Google/Quad9.
Нажимаем Сохранить ✅
Шаг 5: Проверяем
Открываем браузер, вводим в Google "проверка dns" и переходим на cloudflare.com/en-in/ssl/encrypted-sni/.
Если видим "Использование DNS через HTTPS (DoH): Да" — отлично, всё работает!
Если нет — переходим к этапу 2.
Этап 2: Принудительная настройка DoH через PowerShell для сложных серверов 🛠️
Если вы хотите использовать пользовательский сервер DoH (например, Mullvad, Adguard, NextDNS со своим идентификатором), интерфейс не поможет. Нужен PowerShell.
Регистрация пользовательского сервера DoH
Откроем PowerShell как администратор (нажимаем Win, ищем "PowerShell", правый клик, "Запустить от имени администратора").
Вводим команду для регистрации сервера DoH:
# Пример: добавляем Quad9 DoH
Add-DnsClientDohServerAddress -ServerAddress 9.9.9.9 `
-DohTemplate "https://dns.quad9.net/dns-query" `
-AllowFallbackToUdp $False `
-AutoUpgrade $True
Разбор параметров:
- -ServerAddress — IP адрес DNS-сервера (может быть IPv4 или IPv6)
- -DohTemplate — адрес шаблона для DoH (заканчивается на /dns-query)
- -AllowFallbackToUdp $False — КРИТИЧНО: не позволяем откатываться на открытый UDP DNS, если DoH не работает. Устанавливаем $True только если вы готовы к деградации
- -AutoUpgrade $True — автоматически апгрейдим имеющиеся запросы на DoH
Проверяем, зарегистрирован ли сервер:
Get-DnsClientDohServerAddress
Должны увидеть список зарегистрированных серверов DoH.
Привязываем сетевой адаптер к DoH
Теперь меняем DNS на этом адаптере и привязываем его к DoH:
# Находим адаптеры
Get-NetAdapter | Select-Object InterfaceAlias, InterfaceIndex
# Если адаптер "Wi-Fi" с индексом 5, то:
Set-DnsClientServerAddress -InterfaceIndex 5 -ServerAddresses 9.9.9.9
# Активируем DoH на этом адаптере (это самая важная часть!)
Set-DnsClientDohServerAddress -ServerAddress 9.9.9.9 `
-DohTemplate "https://dns.quad9.net/dns-query" `
-AllowFallbackToUdp $False
Важно: забыть про второй блок команд — и DoH останется отключённым в «Параметрах», хотя вы уже всё настроили! 🚨
Канал «Каморка Программиста» — это простые разборы программирования, языков, фреймворков и веб-дизайна. Всё для новичков и практиков.
Присоединяйся прямо сейчас.
Этап 3: Групповая политика — принудительное DoH на уровне домена 🏢
Если вы администратор и хотите заставить DoH на всех компьютерах в домене — используйте групповую политику.
Включаем политику DoH
На контроллере домена или машине с RSAT открываем Консоль управления групповыми политиками (gpedit.msc).
Идём по пути:
Конфигурация компьютера
→ Политики
→ Административные шаблоны
→ Сеть
→ Клиент DNS
Ищем политику "Настройка DNS через HTTPS (DoH) для разрешения имён".
Открываем её двойным кликом.
Есть три режима:
Выбираем "Требовать DoH" для максимальной безопасности, затем Применить.
Обновляем групповую политику на клиентах:
gpupdate /force
Проверяем применилась ли политика
На клиенте открываем PowerShell и:
Get-DnsClientDohServerAddress
Если видим список серверов DoH с AllowFallbackToUdp = False — политика применилась ✅
Этап 4: Настройка на уровне реестра (для фанатов низкоуровневых технологий) 🪄
Если групповая политика не работает или нужна очень специфичная конфигурация — идём прямо в реестр.
Внимание: неправильная работа с реестром может повредить систему. Сделайте резервную копию!
Путь к реестру DoH
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\DohWellKnownServers
Здесь каждая подпапка — это IP адрес сервера DoH. Внутри должна быть строка Template (REG_SZ) с адресом шаблона.
Добавляем свой сервер DoH через реестр
Открываем regedit (Win + R, типируем "regedit").
Идём по пути выше.
Создаём новую папку с именем IP адреса (например, "9.9.9.9").
Внутри создаём Строковый параметр (REG_SZ) с именем Template.
Вписываем значение (например, https://dns.quad9.net/dns-query).
Перезагружаемся или перезапускаем сервис DNS-клиента:
Restart-Service Dnscache
Проверка: зайдите в «Параметры» → «Сеть и Интернет» → «Свойства», и в выпадающем меню шифрования DNS должен быть новый сервер.
Принудительное включение DoH через реестр
Если политика не срабатывает, создайте параметр в пути:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient
Новый DWORD (32-разрядный) с именем EnableAutoDoh и значением:
- 1 = Разрешить DoH (с откатом на UDP)
- 2 = Требовать DoH (без отката)
Перезагружаемся, проверяем.
Этап 5: Настройка Linux (systemd-resolved) 🐧
На Linux-системах с systemd (Ubuntu 20.04+, Fedora, Debian 11+, AlmaLinux) DoH настраивается через /etc/systemd/resolved.conf.
Требования
systemd версия 247 или выше — проверяем:
systemctl --version
Если ниже 247 — обновляем систему:
sudo apt update && sudo apt upgrade
Редактируем resolved.conf
sudo nano /etc/systemd/resolved.conf
Ищем секцию [Resolve] и прописываем (пример с Cloudflare):
[Resolve]
DNS=1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001
FallbackDNS=
DNSOverTLS=no
DNSSEC=yes
Cache=yes
DNSStubListener=yes
Разбор параметров:
Параметр: DNS
Описание: IP адреса серверов
Пример: 1.1.1.1 1.0.0.1 (поддерживает IPv4 и IPv6 через пробел). Для DoT используйте "9.9.9.9#dot.quad9.net" (символ # указывает доменное имя сервера)
Параметр: FallbackDNS
Описание: Резервные DNS-серверы
Пример: (оставить пустым) — запрещаем автоматический откат на системные DNS-серверы
Параметр: DNSOverTLS
Описание: Включение DNS через TLS (DoT)
Пример: yes/no — используем DoT на порту 853 вместо DoH, если DoH не поддерживается системой
Параметр: DNSSEC
Описание: Валидация цифровых подписей DNS
Пример: yes — включаем проверку DNSSEC для защиты от подмены записей
Параметр: Cache
Описание: Локальное кэширование ответов
Пример: yes — сохраняем DNS-ответы локально для ускорения повторных запросов
Параметр: DNSStubListener
Описание: Слушатель заглушек на localhost
Пример: yes — разрешаем другим приложениям обращаться к resolved на localhost:53
Пример полной конфигурации для Cloudflare DoH:
[Resolve]
DNS=1.1.1.1 1.0.0.1
FallbackDNS=
DNSOverTLS=no
DNSSEC=yes
Cache=yes
DNSStubListener=yes
Применение: sudo systemctl restart systemd-resolved
Для DoH (требует systemd версии 250+) используем этот синтаксис:
[Resolve]
DNS=1.1.1.1 1.0.0.1
DNSOverHTTPS=yes
Но если на вашей системе старая версия systemd, используем DoT (DNS через TLS):
[Resolve]
DNS=149.112.112.112#dot.quad9.net
DNSOverTLS=yes
Перезагружаем утилиту разрешения имён и проверяем
# Перезагружаем утилиту
sudo systemctl restart systemd-resolved
# Смотрим статус
systemctl status systemd-resolved
# Тестируем разрешение имён
dig google.com
nslookup example.com
Если видим IP адреса — работает ✅
Фикс для отдельных сетевых адаптеров
Если вы хотите разные DNS для разных сетей (например, офис и дом), используйте systemd-networkd:
sudo nano /etc/systemd/network/20-wifi.network
[Match]
Name=wlan0
[Network]
DHCP=yes
[DHCP]
UseDNS=no
[Link]
DNS=1.1.1.1 1.0.0.1
DNSOverTLS=yes
Перезагружаем networkd:
sudo systemctl restart systemd-networkd
Этап 6: Особые случаи — NextDNS, Mullvad, Adguard
Для сервисов с профилями и персонализацией.
NextDNS (с персональным идентификатором профиля)
NextDNS позволяет привязать профиль к конкретному устройству. На Windows 11:
PowerShell:
$id = "abc123" # Ваш идентификатор NextDNS
$template = "https://dns.nextdns.io/$id/Windows-11"
Add-DnsClientDohServerAddress -ServerAddress 45.90.28.129 `
-DohTemplate $template `
-AllowFallbackToUdp $False -AutoUpgrade $True
Add-DnsClientDohServerAddress -ServerAddress 45.90.30.129 `
-DohTemplate $template `
-AllowFallbackToUdp $False -AutoUpgrade $True
Set-DnsClientServerAddress -InterfaceIndex (Get-NetAdapter | Where-Object {$_.Name -eq "Wi-Fi"}).InterfaceIndex `
-ServerAddresses 45.90.28.129, 45.90.30.129
На Linux:
[Resolve]
DNS=45.90.28.129 45.90.30.129
Затем в браузере идёте на https://my.nextdns.io и видите, какой профиль применён.
Типичная ошибка: если вы используете глобальные IP NextDNS вместо 45.90.28.129/45.90.30.129 — система может не распознать DoH и будет падать на UDP. Всегда используйте IP адреса для начальной загрузки!
Mullvad (для максимальной приватности)
Mullvad — шведский сервис, обещающий нулевое логирование. На Windows:
Add-DnsClientDohServerAddress -ServerAddress 193.19.108.2 `
-DohTemplate "https://doh.mullvad.net/dns-query" `
-AllowFallbackToUdp $False -AutoUpgrade $True
На Linux:
DNS=193.19.108.2 2a07:e340::2
DNSOverTLS=yes
Adguard (с фильтрацией рекламы)
Adguard предлагает несколько уровней фильтрации. Базовый вариант:
Add-DnsClientDohServerAddress -ServerAddress 94.140.14.14 `
-DohTemplate "https://dns.adguard.com/dns-query" `
-AllowFallbackToUdp $False -AutoUpgrade $True
Для версии с повышенной защитой (блокировка вредоносных программ):
-DohTemplate "https://dns.adguard.com/dns-query?rulesetId=1"
Диагностика: проверяем, работает ли DoH? 🔍
Способ 1: PowerShell на Windows
# Получаем текущие серверы DoH
Get-DnsClientDohServerAddress
# Проверяем, какие DNS использует конкретный адаптер
Get-DnsClientServerAddress -InterfaceIndex 5
# Запрашиваем доменное имя и смотрим время отклика
Resolve-DnsName -Name google.com -Server 1.1.1.1
# Очищаем кэш DNS
Clear-DnsClientCache
# Смотрим политики разрешения имён (для домена)
Get-DnsClientNrptPolicy
Способ 2: Онлайн-тесты
Откройте браузер и перейдите на:
- cloudflare.com/en-in/ssl/encrypted-sni — укажет, используется ли DoH
- dnsleaktest.com — покажет, какой DNS-сервер вас резолвит
- tenta.com — комплексный тест приватности DNS
Способ 3: Wireshark (для фанатов сетевого анализа)
Установите Wireshark, запустите захват на адаптере, примените фильтр:
(tcp.port == 443 or udp.port == 443) && (http.request.uri contains "dns-query" or tls.handshake.type == 1)
Если видите множество HTTPS-соединений с указанием имени сервера (SNI), содержащих DNS-провайдер, и нет обычного UDP на порту 53 — DoH работает ✅
Если видите большой объём UDP на порту 53 — система откатилась на классический DNS ❌
Способ 4: Linux — systemd-resolved
# Смотрим текущие DNS
resolvectl status
# Статистика запросов
resolvectl statistics
# Очищаем кэш
sudo resolvectl flush-caches
Если вывод содержит "DNSOverTLS: yes" и видны ваши IP адреса — DoH включён ✅
Типичные ошибки и их решения 🚨
Ошибка 1: "Не удалось разрешить DNS" или таймауты
Что это значит: система не может подключиться к серверу DoH или сервер не ответил за 5–10 секунд.
Причины:
- Блокировка портов на уровне межсетевого экрана
- Провайдер блокирует DoH (например, в РФ могут заблокировать некоторые IP Cloudflare)
- Неправильное доменное имя в шаблоне
Решение:
# Отключаем запрет на откат
Set-DnsClientDohServerAddress -ServerAddress 1.1.1.1 `
-AllowFallbackToUdp $True
# Проверяем, может ли система подключиться к IP
Test-NetConnection -ComputerName 1.1.1.1 -Port 443
Если порт 443 недоступен — виноват межсетевой экран, открываем 443-й порт или меняем провайдера DoH.
Ошибка 2: "Это устройство использует NextDNS без профиля"
Что это значит: система использует NextDNS, но не может определить, к какому профилю подключена.
Причина: браузер игнорирует системные DNS-параметры и использует встроенный DoH.
Решение (для Chrome/Edge):
chrome://flags → поиск "Async DNS" → отключить
Перезагружаем браузер.
Ошибка 3: "Значение реестра DohFlags не установлено"
Что это значит: PowerShell успешно зарегистрировал сервер DoH, но в реестре не установлен флаг включения.
Причина: некоторые версии PowerShell забывают установить критичный флаг DohFlags = 1.
Решение — ручная правка реестра:
# Находим адаптер
$interface = Get-NetAdapter | Where-Object {$_.Name -eq "Wi-Fi"}
# Путь в реестре
$path = "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\InterfaceSpecificParameters\$($interface.InterfaceGuid)\DohInterfaceSettings\Doh\1.1.1.1"
# Создаём или обновляем DohFlags
New-ItemProperty -Path $path -Name "DohFlags" -Value 1 -PropertyType QWORD -Force | Out-Null
# Перезагружаем сервис DNS
Restart-Service Dnscache -Force
Проверяем — DoH должен заработать.
Ошибка 4: "DNS через HTTPS включён, но система всё ещё использует UDP DNS"
Что это значит: в «Параметрах» видно "Включено", но трафик идёт на порт 53 UDP.
Причина: это может быть проблема с браузером (встроенный DoH) или виртуальной сетью, которая переопределяет DNS.
Решение:
- Отключите виртуальную сеть временно и проверьте
- В браузере (Edge/Chrome) отключите встроенный DoH:
- Edge: Параметры → Приватность → Использовать защищённый DNS → Отключить
- Chrome: chrome://settings/security → Дополнительно → Отключить защищённый DNS
- Перезагружаемся, проверяем Wireshark
Производительность и бенчмарки 📊
Реальные цифры для 2025 года (данные от APNIC и DNSPerf):
Cloudflare DNS через HTTPS (1.1.1.1):
Средняя задержка — 14 миллисекунд.
Медиана — 12 миллисекунд.
95-й процентиль — 28 миллисекунд.
Google DNS через HTTPS (8.8.8.8):
Средняя задержка — 16 миллисекунд.
Медиана — 13 миллисекунд.
95-й процентиль — 35 миллисекунд.
Quad9 DNS через HTTPS (9.9.9.9):
Средняя задержка — 22 миллисекунды.
Медиана — 18 миллисекунд.
95-й процентиль — 45 миллисекунд.
Классический UDP DNS:
Средняя задержка — 8 миллисекунд.
Медиана — 6 миллисекунд.
95-й процентиль — 15 миллисекунд.
Вывод: DoH медленнее классического DNS на 6–14 мс, но это незаметно для пользователя (страница грузится не на 6 мс медленнее, а на 50–100 мс медленнее за счёт других факторов).
На что влияет:
- Первый запрос в сессии: более заметна разница, так как нужен handshake TLS (~100 мс)
- Повторные запросы: разница 10–20 мс
Оптимизация: используйте POST вместо GET для приватных профилей (NextDNS, Adguard), и включите кэширование DNS на уровне системы (Cache=yes на Linux).
Безопасность: откат изменений и восстановление 🔄
Откатываемся на системный DNS (Windows)
Если всё сломалось и нужно вернуться:
Способ через интерфейс:
- Параметры → Сеть и Интернет → Свойства
- Назначение DNS-сервера → Изменить
- Выбираем "Автоматический (DHCP)"
- Сохранить
PowerShell:
# Удаляем все зарегистрированные серверы DoH
Get-DnsClientDohServerAddress | Remove-DnsClientDohServerAddress
# Возвращаем DNS на DHCP
Set-DnsClientServerAddress -InterfaceIndex 5 -ResetServerAddresses
Откатываемся на Linux
# Восстанавливаем параметры по умолчанию
sudo nano /etc/systemd/resolved.conf
# Комментируем всё и оставляем пусто:
# [Resolve]
# #DNS=
# #DNSOverTLS=no
sudo systemctl restart systemd-resolved
Восстановление через реестр (если система не загружается)
Если Windows не загружается из-за ошибок DNS:
- Загружаемся с Live USB (например, Hiren's Boot CD)
- Запускаем редактор реестра из Live-среды
- Идём в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
- Удаляем параметр EnableAutoDoh или устанавливаем в 0
- Сохраняем, перезагружаемся
Чек-лист перед внедрением DoH 📋
Перед тем как заставить DoH на всей компании — проверьте:
✅ Совместимость сетевых инструментов: проверьте, что ваши DNS-фильтры, прокси-серверы и межсетевые экраны поддерживают обход DoH или имеют встроенную поддержку
✅ Тестовая группа: внедрите на 5–10 машинах, отследите проблемы неделю
✅ Резервные каналы: настройте минимум 2 сервера DoH, чтобы при падении одного был откат на второй
✅ Мониторинг: настройте логирование DNS-запросов (если используете корпоративный распределитель типа Pi-hole)
✅ Документация: запишите IP адреса серверов DoH и команды откатывания для техподдержки
✅ Версия ОС: убедитесь, что все машины на Windows 11 или выше, Server 2022+
✅ Обновления: установите последние патчи Windows/Linux перед внедрением
FAQ: Ответы на реальные вопросы 🤔
В: Может ли DoH замедлить интернет?
О: На 10–20 мс максимум, и это для первого запроса. Повторные запросы кэшируются системой и идут мгновенно. На практике вы не заметите разницу.
В: Видит ли провайдер мои запросы через DoH?
О: Нет, DNS-запросы зашифрованы. Провайдер видит только то, что вы подключаетесь к IP адресу сервера DoH и отправляете HTTPS-трафик. Само доменное имя, которое вы ищете, остаётся тайной.
В: Почему система откатывается на UDP DNS, если я установил DoH?
О: Вероятно, вы установили -AllowFallbackToUdp $True или забыли установить флаг DohFlags в реестре. Проверьте через PowerShell: Get-DnsClientDohServerAddress | Select AllowFallbackToUdp
В: Работает ли DoH через корпоративный прокси-сервер?
О: Зависит от конфигурации прокси. Если прокси прозрачный или явно разрешает HTTPS на 443-й порт — да. Если прокси инспектирует TLS — может быть проблема. Проверьте с администратором сети.
В: Могу ли я использовать разные серверы DoH для разных сетей?
О: На Windows через Параметры можно только один. Но через PowerShell можно привязать разные серверы DoH к разным адаптерам (Wi-Fi, Ethernet, виртуальная сеть).
В: Что делать, если сервер DoH заблокирован моим провайдером?
О: Смените IP адрес сервера DoH на другой из списка этого же провайдера (например, у Cloudflare есть 1.1.1.1, 1.0.0.1, и несколько IPv6 адресов). Если все заблокированы — используйте виртуальную сеть или меняйте провайдера.
В: Безопасно ли запретить откат на UDP (AllowFallbackToUdp $False)?
О: Да, это рекомендуется в корпоративных сетях. Дома — можно разрешить откат для надёжности, но тогда смысл DoH теряется при проблемах.
Вывод: Дальше что делать? 🎯
DoH — это не панацея, но необходимый шаг в направлении приватности. В 2025 году большинство провайдеров уже поддерживают DoH, браузеры включают его по умолчанию, а Windows и Linux имеют нативную поддержку.
Что мы выучили:
- RFC 8484 определяет, как DNS-запросы упаковываются в HTTPS
- Windows 11 и Server 2022+ имеют встроенную поддержку DoH для популярных провайдеров
- PowerShell позволяет регистрировать пользовательские серверы DoH и включать принудительное шифрование
- Групповая политика помогает развернуть DoH на уровне домена
- Linux с systemd-resolved поддерживает DoH начиная с версии 250 (или DoT для старых версий)
- Производительность теряет 10–20 мс, но это незаметно для пользователя
- Типичные ошибки решаются проверкой флага DohFlags в реестре или откатом на DHCP
Рекомендация:
Для домашней сети ✅ включите DoH с одним из публичных серверов (Cloudflare или Quad9) — это 5 минут на интерфейсе.
Для корпоративной сети 🏢 внедряйте DoH поэтапно (сначала тестовая группа), используйте корпоративный распределитель если есть, и убедитесь, что фильтры и межсетевые экраны совместимы.
Для максимальной приватности 🔒 используйте Mullvad или защищённый DNS с маскировкой источника (ODoH от Cloudflare и Apple), но будьте готовы к замедлению на 20–50 мс.
Следите за обновлениями — стандарты DNS эволюционируют, и через год могут появиться новые возможности. Сейчас актуально (ноябрь 2025): RFC 9230 для защищённого DNS с маскировкой, подготовка к протоколу QUIC для DNS, и интеграция ECH (зашифрованное приветствие клиента).
Подписывайтесь на канал, если хотите узнать про эти технологии подробнее! До встречи на T.E.X.H.O Windows & Linux 🚀
#DoH #DNSчерезHTTPS #БезопасностьWindows #DNS #Кибербезопасность #Windows11 #БезопасностьСети #PowerShell #СистемаДоменныхИмён #ПриватностьВПервую #HTTPS #RFC8484 #Cloudflare #Quad9 #Google #Linux #Systemd #АдминистрированиеСети #ГрупповаяПолитика #КонтроллерДомена #БезопасностьИТ #ПриватностьИБезопасность #ЗашифрованныйDNS #СетевыеТехнологии #БезопасностьВеба #АдминистрированиеСервера #WindowsServer #ОперационнаяСистема #ТехническийГайд #ИнформационнаяБезопасность