Перейти к содержимому
InstagramYouTubeFacebook

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-query Cloudflare и проверить зашифрованный путь со стороны клиента. Это руководство проходит каждый шаг и приводит проверки траблшутинга, которые ловят два самых частых сценария отказа.

Как работает 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 не инициализируется.

  1. Откройте Terminal в Winbox.

  2. Скачайте корневой CA:

    /tool fetch url=https://ssl.com/repo/certs/SSLcomRootCertificationAuthorityECC.pem
  3. Импортируйте его в хранилище сертификатов:

    /certificate import file-name=SSLcomRootCertificationAuthorityECC.pem passphrase=""
  4. Подтвердите в System → Certificates — CA должен появиться в списке.

Хранилище сертификатов MikroTik с импортированным корневым CA

Шаг 2: Настроить DoH-резолвер

Когда CA получил доверие, направьте DNS-подсистему на Cloudflare.

  1. Перейдите в IP → DNS.
  2. Установите Use DoH Server = https://1.1.1.1/dns-query.
  3. Отметьте Verify DoH Certificate — именно это делает соединение по-настоящему защищённым.
  4. Отметьте Allow Remote Requests, чтобы клиенты LAN могли использовать MikroTik как DNS-шлюз.
  5. По желанию очистите старые резолверы в открытом виде из списка Servers, чтобы ни один запрос не утёк нешифрованным.
Панель IP DNS MikroTik с URL DoH-сервера и включённым Verify DoH Certificate

Шаг 3: Проверить зашифрованный маршрут

Роутер уже использует DoH для своих запросов, но нужно убедиться, что клиенты тоже идут через него.

  1. На клиенте в LAN задайте DNS равным LAN-IP MikroTik (push DHCP обычно делает это автоматически, когда DNS роутера единственный предложенный).
  2. Откройте https://1.1.1.1/help в браузере.
  3. Дождитесь диагностической таблицы. Найдите Using DNS over HTTPS (DoH) — должно быть Yes.
Страница help Cloudflare подтверждает, что DNS over HTTPS активен

Траблшутинг

Если сайт не резолвится, причина почти всегда одна из двух: сдвиг часов, ломающий проверку сертификата, или отсутствующий корневой 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.

Начните бесплатный пробный период MKController