Переадресация портов из внутренней сети во внутреннюю сеть (шпилька NAT)

48308
Joudicek Jouda

Я успешно настроил переадресацию портов на маршрутизаторе Mikrotik, который переводит каждый запрос, идущий на IP-адрес WAN на порту 8844 (скажем, 20.20.20.22:8844) микротика, на локальный IP-адрес и тот же порт.

Поскольку у меня есть DNS-имя для IP-адреса WAN (20.20.20.22), я бы хотел, чтобы это правило также работало из внутренней сети:

192.168.111.77 -> 20.20.20.22:8844 -> 192.168.111.2:8844

Я нашел веб-страницу Mikrotik, которая описывает эту ситуацию: http://wiki.mikrotik.com/wiki/Hairpin_NAT Но я не смог добиться того же.

Вот распечатка правила

Переадресация портов из внутренней сети во внутреннюю сеть (шпилька NAT)

Это просто частичный экран печати, но все остальное не установлено (пусто).

РЕДАКТИРОВАТЬ: правило переадресации портов и классический маскарад на маршрутизаторе выглядит следующим образом:

/ip firewall nat add chain=dstnat in-interface=ether1-gateway protocol=tcp dst-port=8844 \ action=dst-nat to-address=192.168.111.2 to-port=8844 add chain=srcnat out-interface=ether1-gateway action=masquerade 
14

2 ответа на вопрос

14
Joudicek Jouda

The solution is to rewrite the port forwarding to rule to not to use in-interface=ether1-gateway, but dst-address-type=local:

/ip firewall nat add chain=dstnat dst-address-type=local protocol=tcp dst-port=8844 \ action=dst-nat to-address=192.168.111.2 to-port=8844 

Then add the hairpin NAT as specified in the original post:

/ip firewall nat add chain=srcnat src-address=192.168.111.0/24 \ dst-address=192.168.111.2 protocol=tcp dst-port=8844 \ out-interface=bridge-local action=masquerade 
Я не могу заставить это работать, если использую мост. Есть идеи? pcunite 10 лет назад 0
@pcunite: только что протестировал это с RouterOS 6.24 + bridge-local, и он отлично работает! lifeofguenter 9 лет назад 0
@JoudicekJouda Я также следовал инструкциям в вики https://wiki.mikrotik.com/wiki/Hairpin_NAT, но они никогда не говорили использовать ** dst-address-type = local ** в правиле перенаправления портов, а не ** в -interface = ether1-шлюз **. Интересно, почему это имеет значение? Jonathan Komar 6 лет назад 0
0
user721084

Nat Masquerade с 192.168.111.0/24 по 192.168.111.0/24 это работает для всех сервисов одновременно. не указывайте интерфейсы или порт. внутренний порт должен совпадать с внешним портом.

Добро пожаловать в Супер пользователя! Ваш [ответ] (http://superuser.com/help/how-to-answer) может быть улучшен путем предоставления более подробных сведений о том, как его реализовать, особенно для тех, кто может быть новичком в рассматриваемой системе. Twisty Impersonator 7 лет назад 1

Похожие вопросы