No pasaron ni 10 años desde que los desarrolladores de RoS (en la versión estable 6.47) añadieron la funcionalidad que permite redirigir las solicitudes DNS de acuerdo con reglas específicas. Antes, era necesario recurrir a reglas de Layer-7 en el cortafuegos, pero ahora se hace de manera simple y elegante:
/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
¡No hay límites para mi felicidad!
¿Qué consecuencias tiene esto para nosotros?
Al menos, nos libramos de extrañas construcciones con NAT como esta:
/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
Y esto no es todo, ahora se pueden escribir varias servidores redirecciones, lo que ayudará a implementar la conmutación por error de DNS.
El procesamiento inteligente de DNS permitirá iniciar la implementación de IPv6 en la red de la empresa. Antes no lo había hecho, la razón era que necesitaba resolver varios nombres DNS a direcciones locales, y en IPv6 esto no se podía hacer sin medidas bastante razonables.
Fuente: habr.com
