Пост канала
- видео
👋 Привет, сетевой друг! Сегодня разберём DNS-over-HTTPS на Mikrotik - как роутер сам шифрует DNS-запросы без сторонних прокси и почему это так важно. 🟣Зачем это нужно: обычный DNS идёт открытым текстом по UDP 53. Провайдер видит каждый запрос, может подменять ответы и блокировать домены на уровне DNS. DoH оборачивает запросы в HTTPS и отправляет на доверенный резолвер - провайдер видит только зашифрованный трафик к известному IP. 🟣RouterOS 7.x умеет DoH нативно - включается в настройках DNS: /ip dns set use-doh-server=https://1.1.1.1/dns-query \ verify-doh-cert=yes \ servers="" \ allow-remote-requests=yes servers=”” важно - убираем обычные DNS-серверы чтобы роутер не fallback’ал на незашифрованный UDP когда DoH недоступен. 🟣Проблема курицы и яйца: чтобы подключиться к DoH-серверу по имени, нужно сначала его зарезолвить. Но если DNS уже переключён на DoH - резолвить нечем. Решение тут прописать IP напрямую: /ip dns set use-doh-server=https://1.1.1.1/dns-query /ip dns set verify-doh-cert=yes Используем IP Cloudflare напрямую в URL, тогда роутеру не нужно резолвить имя для установки соединения. 🟣verify-doh-cert=yes требует корневые сертификаты - без них роутер не проверит подлинность сервера и DoH не поднимется: /certificate import file-name=cacert.pem passphrase="" Скачиваем cacert.pem с curl.se/ca/cacert.pem, загружаем на роутер через Files и импортируем. Без этого шага verify-doh-cert=yes вернёт ошибку сертификата и DoH не заработает. 🟣Проверяем что DoH реально используется а не обычный DNS: /ip dns print # DoH server должен показывать адрес # Обычные servers должны быть пустыми # На клиентской машине захватываем трафик tcpdump -i eth0 port 53 # Не должно быть UDP 53 запросов с роутера наружу Если в tcpdump видим UDP 53 уходящий наружу - DoH не работает и роутер fallback’ает на обычный DNS. 🟣Блокируем DNS в обход роутера - клиенты не должны ходить напрямую к 8.8.8.8: /ip firewall nat add chain=dstnat protocol=udp dst-port=53 \ !dst-address=192.168.1.1 \ action=redirect to-ports=53 \ comment="Redirect DNS to router" add chain=dstnat protocol=tcp dst-port=53 \ !dst-address=192.168.1.1 \ action=redirect to-ports=53 \ comment="Redirect DNS to router" Теперь все DNS-запросы клиентов идут через роутер который использует DoH - никакой обход через хардкод 8.8.8.8 в приложениях не поможет. 🟣Резервный DoH-сервер на случай недоступности основного: RouterOS пока не поддерживает несколько DoH-серверов нативно. Выход - Netwatch который переключает сервер при недоступности: /tool netwatch add host=1.1.1.1 interval=30s timeout=2s \ 🤖Бесплатный ChatGPT
Открыть в MAX- Просмотры
- 300
- ER
- 1,3%
- Реакции
- 4