LINUX.ORG.RU
решено ФорумAdmin

Доступ к локальным ресурсам по внешнему адресу

 ,


1

2

Добрый день. В локальной сети размещено 2 веб-сервера, условно на ip 192.168.10.1 и 192.168.10.2 соответственно. На Mikrotik'е, который маршрутизатор, настроен nat и проброшены порты для доступа к сайтам извне. Тут всё работает отлично. Настроил hairpin nat для доступа к сайтам из локалки по внешнему ip-шнику, и вот тут есть косяки. Страницы открываются с задержкой, соединения сбрасываются. Подскажите куда смотреть.

★★★

Последнее исправление: FireFighter (всего исправлений: 1)
Ответ на: комментарий от Deleted

кусок относящийся к этой проблеме

add action=masquerade chain=srcnat out-interface=<gw_interface>

add action=masquerade chain=srcnat dst-address=192.168.10.2 dst-port=81 protocol=tcp src-address=192.168.10.0/24

add action=dst-nat chain=dstnat dst-address=<внешний ip> dst-port=80 protocol=tcp to-addresses=192.168.10.2 to-ports=81
FireFighter ★★★
() автор топика
Ответ на: комментарий от FireFighter

в wireshark'е постоянно ловлю такие пакеты

67289	802.754432	<мой ip>	<внешний ip>	TCP	66	[TCP Retransmission] 14534 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1260 WS=256 SACK_PERM=1

FireFighter ★★★
() автор топика
Ответ на: комментарий от Deleted

во вне проброшен 80 порт, в локалке на 81

add action=dst-nat chain=dstnat dst-address=<внешний ip> dst-port=80 protocol=tcp to-addresses=192.168.10.2 to-ports=81

FireFighter ★★★
() автор топика
Последнее исправление: FireFighter (всего исправлений: 1)
Ответ на: комментарий от FireFighter

У меня завелось так(только порт другой):

/ip firewall nat
add action=masquerade chain=srcnat out-interface=eth1-wan
add action=netmap chain=dstnat dst-address=<external_ip> dst-port=80 in-interface=eth1-wan protocol=tcp to-addresses=<web_server> to-ports=8080
add action=netmap chain=dstnat dst-address=<external_ip> dst-port=81 in-interface=br1-lan protocol=tcp to-addresses=<web_server> to-ports=8080
add action=masquerade chain=srcnat dst-address=<web_server> out-interface=br1-lan src-address=<local_subnet>

Deleted
()
Ответ на: комментарий от Deleted

Да у меня тоже работает, но вот как-то не очень. Захожу с двух клиентов, у одного работает, второй пакеты от сервера не получает. Закрываешь соединение на первом, второй начинает кое-как работать.

З.Ы если на netmap перевести, вместо dst-nat?

не помогло

FireFighter ★★★
() автор топика
Последнее исправление: FireFighter (всего исправлений: 3)
Ответ на: комментарий от FireFighter

А при обращении из вне несколько соединений нормально обрабатываются? Предлагаю на web сервере запустить сниффер и посмотреть с какого адреса/порта приходят запросы

Deleted
()
Последнее исправление: log4tmp (всего исправлений: 1)
Ответ на: комментарий от Deleted

Да, извне несколько соединений и одновременно с этим в локалке по локальному адресу всё было ок. Решилось такими правилами:

add chain=dstnat dst-address=<внешний ip> protocol=tcp dst-port=80 action=dst-nat to-address=192.168.10.2 to-ports=80
add chain=srcnat src-address=192.168.10.0/24 dst-address=192.168.10.2 protocol=tcp dst-port=81 out-interface=<LAN_bridge> action=masquerade

FireFighter ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.