Переадресация портов Mikrotik на публичный IP-адрес, расположенный в локальной сети

Мы только что настроили маршрутизатор Mikrotik и получили общедоступный IP-адрес и наш локальный IP-адрес для сервера. Мы создали dst-nat правило, в котором любой, кто обращается к public_ip:80, применяет dst_nat к local_ip:8082 порту. Однако с нашего локального IP-адреса мы не можем получить доступ к этому общедоступному IP-адресу. Это сработает, если в файле hosts мы напишем local_ip public_dns_name.

Почему mikrotik не отправляет на адрес public_ip, т.е. не применяет правило dst-nat?


person iLyas    schedule 03.01.2019    source источник
comment
Есть ли у local_ip шлюз по умолчанию для mikrotik?   -  person Benoit PHILIPPON    schedule 04.01.2019


Ответы (2)


Проблема была решена путем добавления правила srcnat, которое маскирует весь трафик из локальной сети.

Chain       
srcnat

Src. Address  -> our local network  
192.168.88.0/24

Dst. Address -> our server   
192.168.88.249

Protocol    
6 (tcp) 

Action
masquerade
person iLyas    schedule 04.01.2019

Эта проблема и ее решение описаны в документации microtik: https://wiki.mikrotik.com/wiki/Hairpin_NAT

По сути, маршрутизатор переводит все в локальные IP-адреса при ответе машинам внутри сети. Ваш клиент отправил запрос на какой-то общедоступный IP-адрес, поэтому он ожидает ответа от того же общедоступного IP-адреса. Микротик перевел запрос на локальный IP-адрес, поэтому он отправил ответ с неправильным адресом отправителя, и ваш клиент его проигнорировал. Вы можете обойти это, установив правило маскарада или добавив статическую запись DNS, которая позволяет обойтись без общедоступного IP-адреса.

В моем случае проблема заключалась в том, что правило было настроено для работы только с трафиком, поступающим через WAN (не LAN). Я изменил его на маршрутизацию трафика из любого места, если он запрашивает мой общедоступный IP-адрес.

chain: dstnat
dst address: <public ip>
protocol: 6 (tcp)
dst port: 80
in. interface list: all
action: dst-nat
to addresses: <server local ip>
to ports: <server port>
person nupanick    schedule 22.08.2020