ΠΠ΅ ΠΏΡΠΎΡΠ»ΠΎ ΠΈ 10 Π»Π΅Ρ, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ RoS (Π² stable 6.47) Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ DNS Π·Π°ΠΏΡΠΎΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ. ΠΡΠ»ΠΈ ΡΠ°Π½ΡΡΠ΅ Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ ΠΈΠ·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Ρ Layer-7 ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ Π² firewall, ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΈ ΠΈΠ·ΡΡΠ½ΠΎ:
/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 ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ Π±Π΅Π· Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΊΠΎΡΡΡΠ»Π΅ΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com