Всем привет!!!
Настройка DNS-over-HTTPS (DoH) на MikroTik RouterOS позволяет шифровать DNS-запросы, повышая конфиденциальность и безопасность и просто это модно.

Оглавление
Я понимаю, что таких статей много, но я делаю ее для себя, а если вам пригодится, то тоже будет не плохо. Вообще я использую Adguard Home. Этот DNS сервер не только поддерживает DOH, но и может блокировать нежелательные домены.
Введение
DNS-over-HTTPS (DoH) — это протокол, который шифрует DNS-запросы, передавая их через HTTPS (защищенный протокол HTTP). Это повышает конфиденциальность и безопасность, предотвращая перехват или подмену DNS-запросов третьими лицами, такими как интернет-провайдеры или хакерыы.
С версии RouterOS v6.47 доступна функция DNS over HTTPS (DoH). DoH использует протокол HTTPS для отправки и получения DNS-запросов для повышения безопасности данных. Основная задача — обеспечение конфиденциальности путём предотвращения атак «человек посередине» (MITM).
В настоящее время DoH не совместим со статическими записями типа FWD, поэтому для использования записей FWD необходимо отключить DoH.
Я буду показывать на примере Quad9 и RouterOS 7.17.2
Настройка стандартного DNS-сервера
Пожалуйста, обратите внимание, что вам нужен как минимум один стандартный DNS-сервер, настроенный для вашего роутера, чтобы разрешить само имя хоста DoH.
Для работы DNS-over-HTTPS (DoH) на MikroTik необходимо, чтобы роутер мог разрешить имя хоста DoH-сервера (dns.quad9.net). Для этого требуется хотя бы один стандартный DNS-сервер, настроенный на роутере. Если у вас еще не настроены DNS-серверы, выполните следующие шаги:
- Перейдите в IP > DNS.
- В поле Servers укажите IP-адреса стандартных DNS-серверов. Например:
- Cloudflare:
1.1.1.1
и1.0.0.1
- Google:
8.8.8.8
и8.8.4.4
- Quad9:
9.9.9.9
и149.112.112.112
- Yandex:
77.88.8.8
и77.88.8.1
- Cloudflare:
- Убедитесь, что опция Allow Remote Requests включена, если вы не хотите разрешать DNS-запросы от внешних клиентов.
- Нажмите Apply.
Этим сервером может быть, в том числе DNS сервер вашего провайдера
/ip dns set servers=1.1.1.1

Популярные DoH-серверы
- Cloudflare
- URL:
https://security.cloudflare-dns.com/dns-query
- Альтернативный URL:
https://1.0.0.1/dns-query
- Поддерживает высокую скорость и конфиденциальность.
- URL:
- Google
- URL:
https://dns.google/dns-query
- Альтернативный URL:
https://8.8.4.4/
dns-query
- Надежный, но может собирать данные для аналитики.
- URL:
- Quad9
- URL:
https://dns.quad9.net/dns-query
- Альтернативный URL:
https://149.112.112.112/dns-query
- Блокирует вредоносные домены.
- URL:
- OpenDNS
- URL:
https://doh.opendns.com/dns-query
- Поддерживает фильтрацию контента.
- URL:
- AdGuard
- URL:
https://dns.adguard-dns.com/dns-query
- Блокирует рекламу и трекеры.
- URL:
- NextDNS
- URL:
https://dns.nextdns.io/<your-config-id>
- Поддерживает кастомизацию и блокировку рекламы.
- URL:
- CleanBrowsing
- URL:
https://doh.cleanbrowsing.org/doh/family-filter/
- Фильтрует нежелательный контент.
- URL:
Вот еще список популярных DNS серверов.
Импорт сертификата
При используете DNS-over-HTTPS (DoH) в MikroTik с включенной опцией Verify (проверка сертификата), вам необходимо загрузить корневой сертификат (CA certificate) для проверки подлинности сертификата DoH-сервера. Это важно для обеспечения безопасности и предотвращения атак “человек посередине” (MITM).
Получите корневой сертификат
- Корневые сертификаты можно скачать с официального сайта удостоверяющего центра (CA), например:
- ISRG Root X1 (Let’s Encrypt): https://letsencrypt.org/certificates/
- DigiCert: https://www.digicert.com/kb/digicert-root-certificates.htm
- Cloudflare: Использует сертификаты Let’s Encrypt или DigiCert.
- Скачайте корневой сертификат в формате .crt или .pem.
Загрузите сертификат в MikroTik
- Перейдите в System > Certificates.
- Нажмите Import, выберите файл сертификата и загрузите его.
- После загрузки сертификат появится в списке. Убедитесь, что он отмечен как trusted(доверенный).
/tool fetch url="https://cacerts.digicert.com/DigiCertGlobalG3TLSECCSHA3842020CA1-1.crt.pem"
/certificate set [find name="DigiCertGlobalG3TLSECCSHA3842020CA1-1.crt.pem"] trusted=yes
/certificate import file-name=DigiCertGlobalG3TLSECCSHA3842020CA1-1.crt.pem

Настройка DoH с проверкой сертификата
- Перейдите в IP > DNS > DoH.
- Создайте новый DoH-резолвер:
- Укажите URL:
https://dns.quad9.net/dns-query
- Установите Verify в
yes
.
- Укажите URL:
- MikroTik автоматически использует загруженные доверенные корневые сертификаты для проверки.
/ip dns set use-doh-server=https://dns.quad9.net/dns-query verify-doh-cert=yes

Проверка разрешения имен
Я не нашел команды nslookup в RouterOS, поэтому проверку сделал простой командой ping.
ping ya.ru
Убедитесь, что запрос выполняется успешно, и вы получаете IP-адрес.

Примечания
- Если вы используете Verify=yes, убедитесь, что корневой сертификат DigiCert загружен и доверен (см. предыдущие инструкции).
- Если у вас возникают проблемы с разрешением имен, проверьте, что стандартные DNS-серверы работают корректно.
- После настройки DoH стандартные DNS-серверы будут использоваться только для начального разрешения имени хоста DoH-сервера, а все последующие запросы будут выполняться через DoH.
Теперь ваш MikroTik будет использовать Quad9 через DoH с поддержкой стандартных DNS-серверов для начального разрешения имен.
Полезные ссылки:
- https://help.mikrotik.com/docs/pages/viewpage.action?pageId=83099652#DNS-DNSoverHTTPS(DoH)
- https://docs.quad9.net/Setup_Guides/Open-Source_Routers/MikroTik_RouterOS_%28Encrypted%29/
Рекомендую также ознакомиться с настройкой защиты от DDOS