MikroTik Hairpin NAT

Какво е 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 адрес както от Интернет така и от локалната ми мрежа.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This Post Has 6 Comments

  1. maniac

    Едно правило е достатъчно. А ако се спести дефиницията на порта то ще важи и за всички други пренасочвания от външния интерфейс.

    За конкретния случай:
    /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

  2. Anonymous

    Ето и друго предложение правиш правило:
    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

  3. ne8ton

    А може да добавиш правило:

    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

  4. devdev

    Здравейте, имам следният проблем с достъпването на два домейна.
    Имам mikrotik зат него proxmox, имам два уеб сървъра а.example.com b.example.com, като направя нат само едното правило работи. Как да го направя да работят и двата домейна паралелно. Благодаря предварително.

  5. root

    @devdev

    Hairpin NAT пренасочва портове а не домейни, за домейните отговарят DNS къде да водят и WEB сървър към коя директория !

  6. devdev

    Здравейте, може ли някакъв екзампъл да ми предложите. Благодаря за бързият отговор.