Mikrotik Split-DNS: Sie haben es geschafft

Es ist weniger als 10 Jahre her, seit die Entwickler von RoS (in Stable 6.47) eine Funktionalität hinzugefügt haben, die es Ihnen ermöglicht, DNS-Anfragen gemäß speziellen Regeln umzuleiten. Musste man früher mit Layer-7-Regeln in der Firewall ausweichen, geht das jetzt einfach und elegant:

/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

Mein Glück kennt keine Grenzen!

Womit droht uns das?

Zumindest werden wir seltsame NAT-Konstrukte wie dieses los:


/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

Und das ist noch nicht alles, jetzt können Sie mehrere Weiterleitungen registrieren, die beim DNS-Failover helfen.
Durch die intelligente DNS-Verarbeitung kann mit der Einführung von IPv6 im Unternehmensnetzwerk begonnen werden. Vorher habe ich das nicht gemacht, der Grund dafür ist, dass ich eine Reihe von DNS-Namen in lokale Adressen auflösen musste, und in IPv6 war dies nicht ohne ziemlich große Krücken möglich.

Source: habr.com