Записки системного администратора

Ещё один блог о системном администрировании, операционных системах, СУБД, сетях, костылях-велосипедах и пр.

Mikrotik: Настройка проброса порта, чтобы и из локальной сети работал

Настройка проброса портов на роутерах Mikrotik дело не хитрое, если достаточно того, чтобы проброшенный порт был доступен только из интернета. Но иногда возникают ситуации, когда этот проброшенный порт должен отвечать и из локальной сети. В этой заметке я и покажу как настроить проброс порта, чтобы он работал и в локальной сети.

Проброс портов (Port Forwarding) - это технология, которая позволяет обращаться из Интернет к компьютеру во внутренней сети за маршрутизатором, использующим NAT. Доступ осуществляется при помощи перенаправления трафика определенных портов с внешнего адреса маршрутизатора на адрес выбранного компьютера в локальной сети.

Мы имеем:

  • маршрутизатор Mikrotik с внешним IP-адресом 121.122.123.124
  • локальная сеть 10.123.1.0/24
  • внутренний адрес нашего Mikrotik 10.123.1.235
  • web-сервер в локальной сети с адресом 10.123.1.9
  • web-сервер слушает 80, который нам и нужно пробросить

Первым делом создадим правило, чтобы при обращении на 121.122.123.124:80 нам отвечал 10.123.1.9:80

ip firewall nat add chain=dstnat protocol=tcp dst-port=80 in-interface=ether1-MTC action=dst-nat to-addresses=10.123.1.9 to-ports=80

В Winbox'e это будет выглядеть так:

Ну и теперь опишем то, ради чего все это писалось - настроим проброс порта, чтобы он из локальной сети работал.

Правило первое - для проброса портов из локальной сети:

ip firewall nat add chain=dstnat src-address=10.123.1.0/24 dst-address=121.122.123.124 protocol=tcp dst-port=80 action=dst-nat to-addresses=10.123.1.9 to-ports=80

Скрины с Winbox'а:

Правило второе - для source-nat:

ip firewall nat add chain=srcnat src-address=10.123.1.0/24 dst-address=10.123.1.9 protocol=tcp dst-port=80 action=src-nat to-addresses=10.123.1.235

И снова скрины:

Все это путешествие для пакетов выглядит примерно так:

  1. LAN-клиент -> Mikrotik, 10.123.1.123:80 -> 121.122.123.124:80 - тут пакеты проходят через первое правило.
  2. Mikrotik -> web-сервер, 10.123.1.123:80 -> 10.123.1.9:80 - тут произошло перенаправление и пакеты теперь успешно проходят в локальную сеть после замены адреса назначения. Далее наш web-сервер получает перенаправленный через роутер пакет и отвечает на него напрямую в обход роутера.
  3. web-сервер -> LAN-клиент, 10.123.1.9:80 -> 10.123.1.123:80 - это ответный пакет от сервера. Но клиент ожидает пакеты с адресом источника 121.122.123.124, поэтому эти пакеты отбрасывает. Вот здесь нам понадобилось второе правило, чтобы ответные пакеты web-сервера также прошли через маршрутизатор.

Всем удачи в настройке!

Комментарии (RSS)

Хех, а если внешний адрес динамический? Как получить доступ вообще к внешнему интерфейсу?

Ответить Отменить ответ

Ну эта схема работает, если внешний адрес статический. Если у вас внешний адрес динамический, я думаю, нужно смотреть в сторону DynDNS.

Ответить Отменить ответ

Не работает для проброса LDAP, пока порт 389.

Ответить Отменить ответ

Использую no-ip ddns и pppoe, при настройке микротика выявились проблемы с маршрутизацией пакетов из ЛВС в вебсервер и обратно (если кому-нибудь интересно, то основная суть: приложения работающие на 80 порту перестали корректно работать)

Решение проблемы было довольно простым:

  • было убрано первое правило (проброс портов из ЛВС)

Вот мое решение:

Из Интернета к серверу:

ip firewall nat add chain=dstnat protocol=tcp dst-port=80 in-interface=pppoe-out1 action=dst-nat to-addresses=10.123.1.9 to-ports=80

И обратно:

ip firewall nat add chain=srcnat dst-address=10.123.1.9 protocol=tcp dst-port=80 action=src-nat to-addresses=10.123.1.235
Ответить Отменить ответ

Спасибо, по путаница с такими адресами, лучше бы сделали со стандартными 192.168...

Ответить Отменить ответ

HTML Preview:

Коротко о себе:

Привет! Меня зовут Вадим. В этом блоге я пишу об интересующих меня вещах, о проблемах, с которыми сталкиваюсь во время работы, и о путях их решения.

Связаться со мной можно, написав письмо на адрес vadim@adminbook.click