Mikrotik split-dns: au făcut-o

La mai puțin de 10 ani mai târziu, dezvoltatorii RoS (în versiunea stabilă 6.47) au adăugat funcționalitate care vă permite să redirecționați interogările DNS conform regulilor speciale. Dacă mai devreme era necesar să evitați regulile Layer-7 în firewall, acum acest lucru se face simplu și 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

Fericirea mea nu are limite!

Cu ce ​​ne amenință asta?

Cel puțin, scăpăm de constructele NAT ciudate ca aceasta:


/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

Și asta nu este tot, acum puteți înregistra mai mulți expeditori, ceea ce vă va ajuta să faceți failoverul dns.
Procesarea inteligentă a DNS va face posibilă începerea introducerii ipv6 în rețeaua companiei. Înainte de asta, nu am făcut acest lucru, motivul este că trebuia să rezolv un număr de nume dns la adrese locale, iar în ipv6 acest lucru nu se putea face fără cârje destul de mari.

Sursa: www.habr.com