Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    DNS по протоколу HTTPS (DOH) с Quad9

    DNS по протоколу HTTPS (DOH) с Quad9

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    DNS по протоколу HTTPS (DOH) с Quad9, RouterOS
     
    Kobold81
    Guest
    #1
    0
    22.05.2022 18:41:00
    Привет! Я безуспешно искал на форуме mikrotik прямое и конкретное руководство по этому вопросу, но так и не нашёл. К счастью, Quad9 подготовили подробный материал:

    Ссылка на статью оригинального автора «Zachary» из quad9: https://support.quad9.net/hc/en-us/articles/4616420178061-Setup-MikroTik-RouterOS-and-DNS-over-HTTPS

    Текст статьи приведён ниже:

    Введение  
    В этой статье описывается, как настроить ваш роутер MikroTik с помощью RouterOS для отправки зашифрованных DNS-запросов на Quad9 через DNS over HTTPS. Требуется RouterOS версии 6.4.7 и выше. Инструкции проверены на RouterOS 7.1.3.

    Шаги  
    Подключитесь к интерфейсу управления вашего роутера MikroTik через SSH или консоль. Имя пользователя и пароль такие же, как при работе через Webfig (GUI).

    Чтобы MikroTik мог проверять сертификат домена Quad9 DNS over HTTPS, необходимо скачать и импортировать сертификат DigiCert Global Root CA.

    2.1 Скачайте сертификат на роутер MikroTik:  
    /tool/fetch mode=https url="https://support.quad9.net/hc/en-us/article_attachments/4618235579021/digicert-root-ca.pem"

    2.2 Импортируйте сертификат в локальное хранилище сертификатов. При запросе пароля просто нажмите Enter (пароль не нужен):  
    /certificate/import file-name=digicert-root-ca.pem

    2.3 Результат должен быть примерно таким:  
    passphrase:  
    certificates-imported: 1  
    private-keys-imported: 0  
    files-imported: 1  
    decryption-failures: 0  
    keys-with-no-certificate: 0

    Зайдите в Webfig (GUI) и откройте раздел IP → DNS в левом меню. В поле Servers установите следующие адреса:  
    9.9.9.9  
    149.112.112.112  
    2620:fe::fe  
    2620:fe::9

    Примечание: если в вашей сети нет IPv6 (проверить можно здесь), IPv6-адреса добавлять не стоит — это может привести к частичным сбоям DNS-запросов.

    Выберите DoH Server: https://dns.quad9.net/dns-query  
    Включите Verify DoH Certificate: Enabled  
    Разрешите удалённые запросы: Enabled

    Примечание: рекомендуется создать соответствующие правила firewall, чтобы не допустить обращения к роутеру MikroTik с не локальных IP-адресов.

    Нажмите Apply вверху.

    Проверка настройки  
    Чтобы убедиться, что MikroTik отправляет DNS-запросы на Quad9 через DNS over HTTPS, можно воспользоваться встроенным сниффером пакетов и отфильтровать трафик на порт 443 (HTTPS) с IP-адресами Quad9:  
    /tool/sniffer/quick port=443 ip-address=9.9.9.9,149.112.112.112

    Если DNS-запросы действительно передаются через DNS over HTTPS, вы увидите примерно такой вывод:  
    tool/sniffer/quick port=443 ip-address=9.9.9.9,149.112.112.112  
    Columns: INTERFACE, TIME, NUM, DIR, SRC-MAC, DST-MAC, SRC-ADDRESS, DST-ADDRESS, PROTOCOL, SIZE, CPU  
    INTERFACE TIME NUM DIR SRC-MAC DST-MAC SRC-ADDRESS DST-ADDRESS PROTOCOL SIZE CPU  
    ether1 6.886 5 <- 04:F0:21:45:C9:0C 08:00:27:7D:3B:33 9.9.9.9:443 (https) 192.168.1.222:59348 ip:tcp 66 0  
    ether1 6.887 6 <- 04:F0:21:45:C9:0C 08:00:27:7D:3B:33 9.9.9.9:443 (https) 192.168.1.222:59348 ip:tcp 1514 0  
    ether1 6.887 7 -> 08:00:27:7D:3B:33 04:F0:21:45:C9:0C 192.168.1.222:59348 9.9.9.9:443 (https) ip:tcp 66 0  
    ether1 6.887 8 <- 04:F0:21:45:C9:0C 08:00:27:7D:3B:33 9.9.9.9:443 (https) 192.168.1.222:59348 ip:tcp 1514 0  
    ether1 6.887 9 -> 08:00:27:7D:3B:33 04:F0:21:45:C9:0C 192.168.1.222:59348 9.9.9.9:443 (https) ip:tcp 66 0

    Если у вас пока нет клиентов, которые используют MikroTik для DNS, можно вручную опросить роутер, чтобы проверить вывод выше. Для этого в Terminal (Linux/macOS) или Command Prompt (Windows) выполните команду, заменив 192.168.1.1 на LAN IP вашего MikroTik:  
    nslookup quad9.net 192.168.1.1
     
     
     
    entepcetfevo
    Guest
    #2
    0
    25.07.2024 14:12:00
    Привет, Маурисио. Не мог бы ты уточнить название/имя файла нового сертификата, который решил твою проблему? С наилучшими пожеланиями,
     
     
     
    lopar
    Guest
    #3
    0
    25.07.2024 14:54:00
    Я удваиваю это, потому что https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem не сработал и показал ошибку.
     
     
     
    s0laris
    Guest
    #4
    0
    25.07.2024 16:52:00
    Вы можете посмотреть цепочку на сайте https://dns.quad9.net/dns-query, смотрите вложение
     
     
     
    anav
    Guest
    #5
    0
    09.04.2023 15:15:00
    https://www.youtube.com/watch?v=w4erB0VzyIE Мой рецепт настройки DOH на MT для adguard. (использую normis, отличный ролик)
    /ip dns set allow-remote-requests=yes servers=94.140.14.15,94.140.15.16 use-doh-server=https://family.adguard-dns.com/dns-query verify-doh-cert=yes

    ***** Самое сложное — это первая часть, где нужно добавить сертификат!! Зайдите на этот сайт… https://adguard-dns.io/en/welcome.html  
    Кликните по значку замка прямо рядом с URL.  
    Выберите «CONNECTION SECURE» в всплывающем окне.  
    Внизу этого окна нажмите «MORE INFORMATION».  
    В следующем окне выберите значок замка безопасности (обычно он выбран по умолчанию).  
    Нажмите «VIEW CERTIFICATE».  
    Выберите сертификат USERTRUST RSA (крайний справа).  
    Прокрутите вниз до раздела Miscellaneous и скачайте PEM-файл (сертификат).  
    Загрузите скачанный файл в папку files на устройстве MT.  

    Дальше зайдите в SYSTEM → Certificates на MT.  
    Используйте функцию импорта, чтобы выбрать только что загруженный сертификат из папки files.  
    Убедитесь, что настройки выше введены корректно.  

    ******  
    Убедитесь, что нет доступных динамических DNS серверов вашего провайдера.  
    Зайдите в IP → FIREWALL → NAT. Добавьте:  
    chain=dstnat action=redirect protocol=tcp dst-port=53  
    Добавьте ещё:  
    chain=dstnat action=redirect protocol=udp dst-port=53  

    Готово.
     
     
     
    fireping
    Guest
    #6
    0
    25.07.2024 17:25:00
    Привет! Пожалуйста, найдите «DigiCert Global Root G3» (для обоих защищённых серверов Quad9 — «dns» и «dns9»). Вы всегда можете проверить соответствующий корневой сертификат через свой интернет-браузер (перейдите по URL сервера DNS и нажмите на значок замка слева от адресной строки).
     
     
     
    merll
    Guest
    #7
    0
    25.07.2024 17:45:00
    На сайте Quad9 теперь есть обновлённые инструкции: https://docs.quad9.net/Setup_Guides/Open-Source_Routers/MikroTik_RouterOS_(Encrypted)/
     
     
     
    kzl
    Guest
    #8
    0
    22.08.2023 06:58:00
    Привет, у меня заработал Quad9, когда я загрузил полную цепочку сертификатов. Если пытаюсь использовать один PEM, появляется ошибка «DoH server connection error: SSL: handshake failed: unable to get local issuer certificate (6)». С AdGuard особого успеха не было, и с family.adguard-dns.com, и с dns.adguard-dns.com, и с одним PEM, и с цепочкой — везде выскакивает та же ошибка «DoH server connection error: SSL: handshake failed: unable to get local issuer certificate (6)». Софт версии v6.49.7 BR.
     
     
     
    jimsander
    Guest
    #9
    0
    27.08.2023 19:53:00
    Эта тема очень мне помогла, поэтому я взял и расширил эти знания, чтобы сделать то, о чём давно мечтал… периодически менять DoH-серверы, чтобы провайдеры не могли так просто собирать данные о моих запросах. У меня есть скрипт, который запускается время от времени, и пока он работает довольно неплохо. Единственные запросы, которые идут через обычный незашифрованный сервер — это те, что сразу после переключения, когда нужно определить адрес DoH-сервера. Пока не придумал, как это обойти, но меня это особо не беспокоит.

    P.S. Было бы здорово, если кто-то поделится своим списком DoH-серверов, чтобы я смог расширить своё.

    # Список (проверенных) публичных DoH-провайдеров  
    :local dohList {  
    "https://dns.quad9.net/dns-query";  
    "https://cloudflare-dns.com/dns-query";  
    "https://doh.opendns.com/dns-query";  
    "https://dns.google/dns-query";  
    "https://private.canadianshield.cira.ca/dns-query";  
    "https://doh.xfinity.com/dns-query";  
    "https://freedns.controld.com/p0";  
    "https://firefox.dns.nextdns.io";  
    }

    # нужен нулевой индекс для выбора  
    :local ListMax ([len $dohList]-1);

    # выбираем случайное значение и сохраняем в переменную  
    :local RandNum [:rndnum 0 $ListMax];
    :local ThePick [:pick $dohList $RandNum ($RandNum + 1)]

    # выполняем команду для смены сервера  
    /ip/dns set use-doh-server="$ThePick" verify-doh-cert=yes

    # логируем результат  
    /log info "DoH сервер теперь $ThePick"
     
     
     
    Pea
    Guest
    #10
    0
    28.08.2023 07:10:00
    Это не по теме, но я рекомендую использовать https://1.1.1.1/dns-query (Cloudflare). Поскольку там есть «IP-адрес», для первого подключения не нужен стандартный DNS.
     
     
     
    Simonej
    Guest
    #11
    0
    28.08.2023 07:56:00
    Это скрипт, который я использую для quad9: {
     :do {
         /ip dns set servers=9.9.9.9,149.112.112.112 use-doh-server="https://dns.quad9.net/dns-query"
         /tool fetch url="https://support.quad9.net/hc/en-us/article_attachments/4618235579021/digicert-root-ca.pem" dst-path="digicert-root-ca.pem"
         /certificate remove [find where authority expired]
         /certificate import file-name="digicert-root-ca.pem"
         /file remove "digicert-root-ca.pem"
         /ip dns set verify-doh-cert=yes
         :log warning ("Сертификат DoH обновлён")
     } on-error={
         :log error ("Не удалось обновить сертификат DoH")
     }
    }
     
     
     
    jimsander
    Guest
    #12
    0
    28.08.2023 16:27:00
    Спасибо за пост — если честно, я специально решил переключаться между разными DoH-провайдерами, а не использовать одного постоянно, потому что не хочу никому доверять и надеяться, что они не будут монетизировать данные о моих запросах, даже если это «в совокупности» и не напрямую связано с моим именем. Думаю, при списке из восьми случайно выбранных серверов они получают примерно по 8 минут данных в час, а оставшиеся 52 минуты ломают голову, не отключился ли я от интернета. (Я запускаю скрипт каждые 11 минут, так что время смены «передвигается» по кругу).

    Моё замечание по поводу использования любого IP-адреса вместо URL для DoH-провайдера — это то, что таким образом нарушается проверка сертификата. Нельзя проверить IP-адрес, даже если на сервере есть валидный сертификат. Получить валидный сертификат сейчас просто и недорого, поэтому это уже не проблема. Но меня волнует не только шифрование, а именно проверка подлинности. Никто, кроме, может быть, правительственных структур, не будет иметь сертификат, совпадающий с конкретным URL, прописанным в запросе.

    По инструкции от NextDNS для настройки их DoH-провайдера на MikroTik я импортировал корневые сертификаты CA, используемые curl (их больше сотни, но я доверяю их проверкам и большой сообществу, которое сразу заметит подвох). Так что с любым легитимным DoH-провайдером у меня проблем не будет.

    Проверяя срок действия сертификатов в /System/Certificates, оказалось, что САМОЕ КОРОТКОЕ время действия — у самоподписанных корневого и Webfig сертификатов, которые действуют до 2033 года... к тому времени, если я всё ещё буду использовать эту конкретную конфигурацию MikroTik, я буду приятно удивлён — наверняка уже всем будут доступны WiFi на 600 ГГц 2∏6 или что-то в этом духе.

    Есть один CA-сертификат с сроком истечения более чем через 12 тысяч дней, то есть около 2058 года. К тому времени, возможно, меня уже не будет.

    В моём списке дел — проверить, не отправляется ли неожиданный трафик на WAN-порт к DNS-серверам моего интернет-провайдера. Потом, вероятно, добавлю список «обычных» серверов для случайного распределения в /DNS/Static IP, чтобы ещё больше уменьшить утечку информации.

    В качестве дополнительной меры я подумываю о блокировке прохода через роутер для популярных DoH-провайдеров (но не запрета самого роутера как источника), но это потребует постоянного обновления списка, а я пока ещё не параноик настолько.
     
     
     
    Amm0
    Guest
    #13
    0
    28.08.2023 17:06:00
    Теоретически, это не должно нарушать проверку. Не знаю, смотрит ли Mikrotik строго на конкретно указанные поля «IP address» в TLS-сертификате Cloudflare — но IP-адрес может быть валидным в TLS-сертификатах, и сертификат Cloudflare их содержит.
     
     
     
    mhenriques
    Guest
    #14
    0
    25.07.2024 11:32:00
    Сегодня мой Mikrotik на V7.12.2 перестал проверять сервер Quad9 DOH с сообщением: DoH server connection error: SSL: ssl: no trusted CA certificate found (6). Чтобы решить эту проблему, мне пришлось удалить «старый» корневой сертификат DigiCert (который ещё был действующим!) и установить совершенно новые корневые сертификаты DigiCert, скачанные с https://www.digicert.com/kb/digicert-root-certificates.htm. Mauricio
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры