Minilo je minilo 10 let, odkar so razvijalci RoS (v stable 6.47) dodali funkcionalnost, ki omogoča preusmeritev DNS poizvedb v skladu s posebnimi pravili. Če smo v preteklosti morali zapletati stvari s pravili Layer-7 v požarnem zidu, je zdaj to enostavno in elegantno:
/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
Moji sreči ni konca!
Kaj nam to prinaša?
Vsaj znebili se bomo čudnih konstrukcij z NAT-om kot je ta:
/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
In to še ni vse, zdaj lahko navedemo več strežnikov preusmeritev, kar bo pomagalo pri dns failoverju.
Intelektualna obdelava DNS bo omogočila začetek uvajanja ipv6 v podjetje. Do sedaj tega nisem storil, razlog je, da sem moral dovoliti vrsto dns imen v lokalne naslove, kar pri ipv6 ni bilo mogoče brez precej velikih pripomočkov.
Izvor: habr.com
