Neprešlo ani 10 rokov, ktorými vývojári RoS (v stable 6.47) pridali funkciu, ktorá umožňuje presmerovať DNS požiadavky podľa špeciálnych pravidiel. Kým predtým bolo potrebné sa zdržovať vrstvou 7 pravidiel vo firewallu, teraz je to jednoduché a elegantné:
/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
Mojej radosti niet konca!
Čo nám to prinesie?
Alespoň sa zbavíme zvláštnych konštrukcií s NAT, ako je táto:
/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
A to nie je všetko, teraz je možné nastaviť niekoľko serverov presmerovaní, čo pomôže vytvoriť dns failover.
Inteligentné spracovanie DNS umožní začať zavádzanie ipv6 do siete spoločnosti. Predtým som to nerobil, dôvodom bolo, že som potreboval prevádzať niekoľko dns názvov na lokálne adresy, a v ipv6 to nebolo možné bez dosť veľkých obštrukcií.
Zdroj: habr.com
