Поминаа помалку од 10 години откако програмерите на RoS (во стабилна 6.47) додадоа функционалност што ви овозможува да ги пренасочувате барањата за DNS во согласност со посебни правила. Ако порано беше неопходно да се избегнат правилата на Layer-7 во заштитниот ѕид, сега ова е направено едноставно и елегантно:
/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 тоа не можеше да се направи без прилично големи патерици.
Извор: www.habr.com
