Tutorial
Настройка DNS over HTTPS на MikroTik
Настройте DNS over HTTPS (DoH) на MikroTik RouterOS v7 с Cloudflare, чтобы шифровать DNS-запросы и блокировать слежку провайдера.
Краткое содержание DNS over HTTPS (DoH) на MikroTik RouterOS v7 шифрует каждый DNS-запрос, который разрешает роутер, скрывая адреса посещаемых сайтов от провайдера и от любого атакующего в локальной сети. Настройка состоит из трёх коротких шагов: импортировать корневой CA, направить IP → DNS на
https://1.1.1.1/dns-queryCloudflare и проверить зашифрованный путь со стороны клиента. Это руководство проходит каждый шаг и приводит проверки траблшутинга, которые ловят два самых частых сценария отказа.
Как работает DNS over HTTPS на MikroTik?
DNS over HTTPS — это протокол, который оборачивает DNS-запросы в стандартное HTTPS-соединение (порт 443) вместо открытой отправки по UDP-порту 53. На роутерах MikroTik в RouterOS v7 встроен нативный DoH-клиент: после настройки роутер становится единственным защищённым резолвером для всех устройств в LAN, и провайдер теряет возможность логировать или фильтровать DNS-запросы по доменам.
В реализации три движущиеся части. Во-первых, роутеру нужен корневой сертификат CA, чтобы проверить TLS-handshake с провайдером DoH. Во-вторых, DNS-подсистема указывает на DoH-URL вместо IPv4-нэймсервера. В-третьих, каждый клиент в LAN использует сам MikroTik как DNS-сервер; иначе трафик полностью обходит зашифрованный маршрут.
Предварительные условия
Перед стабильной работой DoH должны выполняться два условия:
Системные часы должны быть точными. У TLS-сертификатов есть окна валидности; роутер, чьи часы отстают или спешат хотя бы на несколько минут, отвергнет handshake, и DNS молча перестанет резолвить. Откройте System → Clock, проверьте дату и время и включите NTP-клиент, чтобы поддерживать синхронизацию.
Роутер должен работать на RouterOS v7. Более ранние версии имели частичную поддержку DoH, но в них не было стабильности шифров, необходимой для продакшена с Cloudflare или Google.
Шаг 1: Импортировать корневой сертификат CA
MikroTik должен доверять центру сертификации, подписавшему DoH-эндпоинт Cloudflare. Без этого TLS-handshake провалится и DoH не инициализируется.
-
Откройте Terminal в Winbox.
-
Скачайте корневой CA:
/tool fetch url=https://ssl.com/repo/certs/SSLcomRootCertificationAuthorityECC.pem -
Импортируйте его в хранилище сертификатов:
/certificate import file-name=SSLcomRootCertificationAuthorityECC.pem passphrase="" -
Подтвердите в
System → Certificates— CA должен появиться в списке.
Шаг 2: Настроить DoH-резолвер
Когда CA получил доверие, направьте DNS-подсистему на Cloudflare.
- Перейдите в
IP → DNS. - Установите Use DoH Server =
https://1.1.1.1/dns-query. - Отметьте Verify DoH Certificate — именно это делает соединение по-настоящему защищённым.
- Отметьте Allow Remote Requests, чтобы клиенты LAN могли использовать MikroTik как DNS-шлюз.
- По желанию очистите старые резолверы в открытом виде из списка
Servers, чтобы ни один запрос не утёк нешифрованным.
Шаг 3: Проверить зашифрованный маршрут
Роутер уже использует DoH для своих запросов, но нужно убедиться, что клиенты тоже идут через него.
- На клиенте в LAN задайте DNS равным LAN-IP MikroTik (push DHCP обычно делает это автоматически, когда DNS роутера единственный предложенный).
- Откройте
https://1.1.1.1/helpв браузере. - Дождитесь диагностической таблицы. Найдите Using DNS over HTTPS (DoH) — должно быть Yes.
Траблшутинг
Если сайт не резолвится, причина почти всегда одна из двух: сдвиг часов, ломающий проверку сертификата, или отсутствующий корневой CA. Сначала посмотрите лог:
/log print where message~"doh"Строка с SSL error или certificate not trusted указывает на корневой CA или часы. Строка с timeout указывает на достижимость апстрима — убедитесь, что WAN может достичь 1.1.1.1 по порту 443. Подробнее про ограничение доступа к управлению, пока вы в IP → DNS, см. наше руководство по блокировке трафика по стране или туториал по фильтрации AdList на MikroTik для многоуровневой защиты на основе DNS.
Советы
- Привяжите NTP-источник к публичному серверу stratum-1 (
time.cloudflare.com— хороший вариант) — сдвиг часов остаётся самой частой причиной отказов DoH. - Отключите DNS-форвардеры на клиентских машинах (у Chrome и Firefox есть собственные настройки DoH), чтобы политика применялась только на роутере.
- Задокументируйте резервный путь резолвера для оператора — если корневой CA неожиданно истечёт, LAN потеряет DNS, пока не будет импортирован новый CA.
Масштабируйте это на каждый сайт
Настроить DoH на одном роутере — пятнадцать минут. Сделать это на пятидесяти филиалах — с собственным сдвигом часов, собственным циклом продления сертификата, собственными странными firewall-правилами на каждой площадке — задача совсем другого уровня.
MKController доставляет одну и ту же конфигурацию DoH и набор корневых CA на каждый MikroTik в вашем парке одной операцией. Когда срок действия сертификата подходит к концу или удалённые часы выходят за порог NTP, дашборд предупредит вас раньше, чем клиенты заметят пропажу DNS.