Mikrotik split-dns: вони це зробили

Не минуло й 10 років, як розробники RoS (stable 6.47) додали функціонал, який дозволяє перенаправити DNS запити відповідно до спеціальних правил. Якщо раніше треба було викручуватися з Layer-7 правилами в firewall, то тепер це робиться просто і витончено:

/ip dns static
add forward-to=192.168.88.3 regexp=".*\.test1\.localdomain" type=FWD
add forward-to=192.168.88.56 regexp=".*\.test2\.localdomain" type=FWD

Моєму щастю немає меж!

Чим це нам загрожує?

Як мінімум, ми позбавляємося дивних конструкцій з NAT на кшталт цієї:


/ip firewall layer7-protocol
add comment="DNS Nat contoso.com" name=contoso.com regexp="\x07contoso\x03com"
/ip firewall mangle
add action=mark-packet chain=prerouting comment="mark dns contoso.com" dst-address-type=local dst-port=53 in-interface-list=DNSMASQ layer7-protocol=contoso.com new-packet-mark=dns-contoso.com passthrough=yes protocol=udp
add action=mark-packet chain=prerouting comment="mark dns contoso.com" dst-address-type=local dst-port=53 in-interface-list=DNSMASQ layer7-protocol=contoso.com new-packet-mark=dns-contoso.com passthrough=yes protocol=tcp
/ip firewall nat
add action=dst-nat chain=dstnat comment="DST-NAT dns contoso.com" dst-port=53 in-interface-list=DNSMASQ packet-mark=dns-contoso.com protocol=udp to-addresses=192.0.2.15
add action=dst-nat chain=dstnat comment="DST-NAT dns contoso.com" dst-port=53 in-interface-list=DNSMASQ packet-mark=dns-contoso.com protocol=tcp to-addresses=192.0.2.15
add action=masquerade chain=srcnat comment="mask dns contoso.com" dst-port=53 packet-mark=dns-contoso.com protocol=udp
add action=masquerade chain=srcnat comment="mask dns contoso.com" dst-port=53 packet-mark=dns-contoso.com protocol=tcp

І це не все, тепер можна прописати кілька серверів пересилання, що допоможе зробити dns failover.
Інтелектуальна обробка DNS дасть можливість розпочати впровадження ipv6 у мережу компанії. До цього я цього не робив, причина в тому, що мені потрібно було дозволяти ряд dns імен на локальні адреси, а в ipv6 це було не зробити без чималих милиць.

Джерело: habr.com