Научете как да конфигурирате DNS Forwarders в MikroTik RouterOS — практическо ръководство за системни администратори: скорост, кеш, DoH и защита.
Ръководство за RouterOS (v6/v7): пренасочване, кеширане, DoH, блокиране на порт 53 и диагностика.
⚠ Това ръководство е предназначено за системни администратори. Ще активираме локален DNS кеш, ще пренасочим заявките към публични DNS сървъри (Cloudflare/Google), по желание ще включим DNS-over-HTTPS (DoH), и ще наложим използването на DNS през рутера, като блокираме директен достъп до порт 53 от клиентите.
Локалният MikroTik DNS кеш намалява латентността и ускорява заявките. Правилната DNS пренасочваща конфигурация с DoH подобрява стабилността, поверителността и контрола. С подходящи firewall правила всички клиенти използват рутера като DNS сървър.
MikroTik може да кешира и пренасочва DNS заявки към един или повече външни резолвери. Ползи: по-бързо разрешаване (локален кеш), централизирани политики (DoH/филтриране) и намален DNS „теч“ към интернет.
Активирайте локалния резолвер, задайте външни DNS сървъри и по-голям кеш:
/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1 cache-size=4096KiB max-udp-packet-size=1232
Алтернатива (Google DNS):
/ip dns
set servers=8.8.8.8,8.8.4.4
Проверка на текущите настройки и кеша:
/ip dns print detail
/ip dns cache print count-only
/ip dns cache print where name~"ntg.bg"
DoH криптира DNS трафика между рутера и публичния резолвер, полезно за поверителност и контрол в корпоративни мрежи.
/ip dns
set use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yes
# или Google DoH:
/ip dns set use-doh-server=https://dns.google/dns-query verify-doh-cert=yes
Забележка: При използване на DoH списъкът servers= не се използва, заявките се изпращат през HTTPS към DoH сървъра. Уверете се, че часовникът (NTP) е правилен.
Позволете DNS заявки (input) от LAN сегментите към рутера:
/ip firewall filter
add chain=input action=accept protocol=udp dst-port=53 in-interface-list=LAN comment="Позволи LAN -> Router DNS (UDP)"
add chain=input action=accept protocol=tcp dst-port=53 in-interface-list=LAN comment="Позволи LAN -> Router DNS (TCP)"
Блокирайте изходящ DNS от клиентите към интернет (освен рутера):
/ip firewall filter
add chain=forward action=drop protocol=udp dst-port=53 out-interface-list=WAN src-address-list=!RouterIPs comment="Блокирай директен UDP/53 от LAN"
add chain=forward action=drop protocol=tcp dst-port=53 out-interface-list=WAN src-address-list=!RouterIPs comment="Блокирай директен TCP/53 от LAN"
Създайте RouterIPs address-list с адресите на рутера (loopback/интерфейси), за да не блокирате неговия собствен DNS трафик.
/ip firewall address-list
add list=RouterIPs address=192.168.1.1
# добавете и други при нужда
Проверка на резолюция и кеш:
/resolve ntg.bg
/ip dns cache print where name~"ntg.bg"
Проверка на DoH (HTTPS достъп):
/tool fetch url="https://cloudflare-dns.com/dns-query" http-method=get keep-result=no
# Очаквайте HTTP 200/OK (няма нужда да четете съдържанието)
Временен лог на DNS заявките (debug):
/system logging add topics=dns action=memory
/log print where topics~"dns"
/system logging remove [find where topics="dns"]
Пишете на office@ntg.bg или заявете безплатна консултация.
Съвет: документирайте DNS политиката (forwarders/DoH, TTL, логове) и проверявайте резултатите след всяка промяна.