Какво е Hairpin NAT:
Hairpin NAT е топология в която устройство в локалната мрежа LAN има достъп до друго устройство в локалната мрежа LAN чрез външния IP адрес на рутера WAN с пренасочване на портове.
Реален пример:
Домашния ми NVR Dahua, чрез приложението DMSS трябва да го достъпя както от Интернет, така и от локалната ми домашна мрежа.
Masquerade – Стандартно маскиране на цялата домашна мрежа към Интернет.
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
Port Forwarding – на порт 37777 от Интернет интерфейса на рутера ether1 към локалния адрес на NVR-a 192.168.1.200.
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=37777 in-interface=ether1 protocol=tcp to-addresses=192.168.1.200 to-ports=37777
Hairpin NAT – Пренасочване на порт 37777 но от локалната мрежа към локалния адрес на NVR-a 192.168.1.200
/ip firewall nat
add action=masquerade chain=srcnat dst-address=!192.168.1.1 src-address=192.168.1.0/24
add action=dst-nat chain=dstnat dst-address=!192.168.1.1 dst-address-type=local dst-port=37777 protocol=tcp to-addresses=192.168.1.200 to-ports=37777
С тези правила с приложението DMSS гледам камерите си с една конфигурация на публичния ми IP адрес както от Интернет така и от локалната ми мрежа.
Едно правило е достатъчно. А ако се спести дефиницията на порта то ще важи и за всички други пренасочвания от външния интерфейс.
За конкретния случай:
/ip firewall nat
add action=masquerade chain=srcnat dst-address=192.168.1.200 protocol=tcp dst-port=37777 src-address=192.168.1.0/24
Или глобално:
/ip firewall nat
add action=masquerade chain=srcnat dst-address=192.168.1.0/24 src-address=192.168.1.0/24
Това важи с уговорката, че на port forward правилото не трябва да се match-ва входящия интерфейс, а само външния ип адрес. За да може с едно правило да се прихваща и трафика от локалната мрежа.
https://help.mikrotik.com/docs/display/ROS/NAT#NAT-HairpinNAT
Ето и друго предложение правиш правило:
add action=masquerade chain=srcnat comment=”Hairpin lan wan” dst-address=192.168.1.0/24
out-interface=bridge protocol=tcp src-address=192.168.1.0/24
и пренасочването след това става по този начин:
add action=dst-nat chain=dstnat comment=RDP dst-address=!192.168.1.0/24 dst-address-type=local
dst-port=37777 protocol=tcp to-addresses=192.168.1.200 to-ports=37777
А може да добавиш правило:
add action=masquerade chain=srcnat comment=”Hairpin lan wan” dst-address=192.168.1.0/24
out-interface=bridge protocol=tcp src-address=192.168.1.0/24
След това пренасочването става по този начин:
add action=dst-nat chain=dstnat comment=web cam service dst-address=!192.168.1.0/24 dst-address-type=local dst-port=37777 protocol=tcp to-addresses=192.168.1.200 to-ports=37777
Здравейте, имам следният проблем с достъпването на два домейна.
Имам mikrotik зат него proxmox, имам два уеб сървъра а.example.com b.example.com, като направя нат само едното правило работи. Как да го направя да работят и двата домейна паралелно. Благодаря предварително.
@devdev
Hairpin NAT пренасочва портове а не домейни, за домейните отговарят DNS къде да водят и WEB сървър към коя директория !
Здравейте, може ли някакъв екзампъл да ми предложите. Благодаря за бързият отговор.