Звичайні DNS-запити передаються по UDP у відкритому вигляді — провайдер, корпоративна мережа чи зловмисник можуть бачити, які сайти ви відвідуєте. DNS-over-HTTPS (DoH) і DNS-over-TLS (DoT) вирішують цю проблему, шифруючи DNS-трафік.
Порівняння: звичайний DNS vs DoH vs DoT
| Параметр | DNS | DoH | DoT |
|---|---|---|---|
| Порт | 53/UDP | 443/TCP | 853/TCP |
| Шифрування | Немає | HTTPS/TLS | TLS |
| Приватність | Низька | Висока | Висока |
| Обхід блокувань | Немає | Так (порт 443) | Частково |
| Підтримка браузерами | Завжди | Chrome, Firefox | Лише системно |
Публічні DoH-сервери
| Провайдер | URL | Політика логів |
|---|---|---|
| Cloudflare | https://1.1.1.1/dns-query | Без логів |
| https://dns.google/dns-query | Логи 48 год | |
| Quad9 | https://dns.quad9.net/dns-query | Без логів, блокує малвар |
| NextDNS | Індивідуальний URL | Налаштовувані логи |
Увімкнення DoH у Firefox
- Налаштування → Приватність і захист
- Прогорніть до «DNS через HTTPS»
- Увімкніть → оберіть провайдера (Cloudflare/NextDNS)
Увімкнення DoH у Chrome
- Налаштування → Конфіденційність і безпека
- Безпека → Використовувати безпечний DNS
- Оберіть провайдера або введіть свій DoH-URL
Налаштування DoH на Linux (systemd-resolved)
# /etc/systemd/resolved.conf
[Resolve]
DNS=1.1.1.1
FallbackDNS=8.8.8.8
DNSOverTLS=yes
systemctl restart systemd-resolved
💡 Для підвищеної приватності: Використовуйте Cloudflare 1.1.1.1 (зобов'язується не продавати дані) або Quad9 (блокує шкідливі домени автоматично). Уникайте провайдерів, які монетизують DNS-запити.
Часті помилки під час налаштування DoH
| Симптом | Причина | Рішення |
|---|---|---|
| Firefox пише «Захищений DNS недоступний» (Secure DNS unavailable) | DoH-провайдер заблокований фаєрволом мережі або корпоративним проксі на порту 443 за SNI-фільтром | Переключитися на іншого DoH-провайдера в налаштуваннях або тимчасово вимкнути DoH у цій мережі |
| Chrome показує попередження «Не вдалося знайти безпечний DNS-сервер» | Chrome перевіряє, чи підтримує поточний системний DNS протокол DoH через авто-апгрейд, і не знаходить відповідності | Обрати провайдера DoH вручну замість режиму «З поточним постачальником» |
systemd-resolved: DNSOverTLS=yes, але resolvectl status показує «not supported» | Резолвер, вказаний у DNS=, не підтримує TLS на порту 853 або сертифікат не збігається з іменем у конфігурації DNSOverTLS | Вказати явний сертифікат через параметр # перед IP або змінити резолвер на такий, що підтримує DoT (1.1.1.1, 8.8.8.8) |
| Сайти у внутрішній мережі (intranet) перестали відкриватися після увімкнення DoH | Внутрішні DNS-записи існують лише на корпоративному резолвері, а DoH звертається до публічного сервера, який про них не знає | Додати домени intranet до списку винятків DoH (Firefox: network.trr.excluded-domains) або вимкнути DoH у цій мережі |
| Батьківський контроль/DNS-фільтрація провайдера перестала діяти | DoH обходить DNS-сервери провайдера, тому DNS-фільтри (зокрема антивірусні та батьківські) перестають бачити запити | Використовувати DoH-провайдера із вбудованою фільтрацією (наприклад, CleanBrowsing або AdGuard DNS) замість повного вимкнення фільтрації |
Перевірка, що DoH дійсно працює
# Firefox: сторінка діагностики
about:networking#dns
# Перевірка через curl напряму до DoH-ендпоінту
curl -s -H 'accept: application/dns-json' \
'https://1.1.1.1/dns-query?name=example.com&type=A'
# Перевірка витоку DNS поза DoH (список звичайних резолверів має бути порожнім)
# https://www.dnsleaktest.com
Якщо запит curl повернув JSON з полем "Status": 0 і масивом Answer — DoH-ендпоінт відповідає коректно. Код "Status": 2 означає SERVFAIL на боці DoH-резолвера, а не проблему у вашому налаштуванні.
- У Firefox:
about:networking#dns— колонка TRR (Trusted Recursive Resolver) має бути позначена для доменів, що йдуть через DoH - У Chrome:
chrome://net-internals/#dns— розділ «DNS over HTTPS» показує статистику успішних запитів - DNS-leak тест не повинен показувати резолвер вашого провайдера — лише обраний DoH/DoT-сервер
Коли DoH не підходить
- Корпоративна мережа з власною DNS-зоною для внутрішніх сервісів — DoH-провайдер не резолвить intranet-імена, сайти та сервіси за VPN перестануть відкриватися без явних винятків
- Потрібна DNS-фільтрація на рівні мережі (батьківський контроль, антивірус, блокування реклами через pfBlockerNG/Pi-hole) — DoH у браузері обходить ці фільтри, якщо явно не вказати той самий фільтрувальний DNS як DoH-провайдера
- Діагностика мережевих проблем —
tcpdumpі звичайні DNS-сніфери не бачать вміст DoH-запитів, вони зашифровані як звичайний HTTPS-трафік - Застарілі роутери та IoT-пристрої майже ніколи не підтримують DoH/DoT — вмикати його варто на рівні ОС або браузера, а не як єдиний захист мережі