Привет, сетевой друг! Сегодня разберём DNS-over-HTTPS на Mikrotik - как роутер сам шифрует 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 недоступен.
/ip dns set use-doh-server=https://1.1.1.1/dns-query
/ip dns set verify-doh-cert=yes
Используем IP Cloudflare напрямую в URL, тогда роутеру не нужно резолвить имя для установки соединения.
/certificate import file-name=cacert.pem passphrase=""
Скачиваем cacert.pem с curl.se/ca/cacert.pem, загружаем на роутер через Files и импортируем. Без этого шага verify-doh-cert=yes вернёт ошибку сертификата и DoH не заработает.
/ip dns print
# DoH server должен показывать адрес
# Обычные servers должны быть пустыми
# На клиентской машине захватываем трафик
tcpdump -i eth0 port 53
# Не должно быть UDP 53 запросов с роутера наружу
Если в tcpdump видим UDP 53 уходящий наружу - DoH не работает и роутер fallback’ает на обычный DNS.
/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 в приложениях не поможет.
/tool netwatch
add host=1.1.1.1 interval=30s timeout=2s \
down-script="/ip dns set use-doh-server=https://8.8.8.8/dns-query" \
up-script="/ip dns set use-doh-server=https://1.1.1.1/dns-query"
Серверная Админа | Бункер Хакера | #Mikrotik



