@S10LI

Как перенаправить пакет из локальной сети на устройство локальной сети при обращении к внешнему IP?


Сеть для примера, любые совпадения случайны

WAN (ether1-wan) белый IP: 10.10.10.10
Адрес Микротика: 192.168.1.254
LAN (bridge-lan): 192.168.1.0/24
VPN+Web сервер : 192.168.1.100

5eec7b83f3ae2418382491.png

Настроено правило, перенаправляющее пакеты по 80 и 12345 порту извне (ether1-wan) на сервер (192.168.1.100)
/ip firewall nat
add action=netmap chain=dstnat dst-port=80 in-interface=ether1-wan protocol=tcp to-addresses=192.168.1.100 to-ports=80
add action=netmap chain=dstnat dst-port=12345 in-interface=ether1-wan protocol=tcp to-addresses=192.168.1.100 to-ports=12345

Соответственно при обращении из интернета по адресу 10.10.10.10 в браузере, клиенты попадают на сервер 192.168.1.100, так же и с VPN клиентом

Когда клиенты локальной сети переходят в браузере по внешнему адресу 10.10.10.10, то попадают на web интерфейс микротика, как если бы они перешли по адресу 192.168.1.254

Задача сделать перенаправление для клиентов локальной сети обращающихся по внешнему адресу (10.10.10.10) на сервер находящийся в той же локальной сети (192.168.1.100)

Один из вариантов - использовать какой нибудь DynDNS сервис, чтобы получать на внешний адрес 10.10.10.10 доменное имя типа company.dyndns.com, а внутри локальной сети в настройках микротика для этого домена задать адрес сервера 192.168.1.100. Для HTTP он вполне себе даже ничего, а вот для VPN проблема, потому что создается .ovpn файл для настройки клиента, в котором указан внешний IP, а не доменное имя. В подробности лезть не буду, просто этот вариант не катит. (Вариант организовать OpenVPN на микротик тоже не стоит предлагать)

Другой вполне рабочий вариант заключается в следующем:
Клиенты обращающиеся по адресу 10.10.10.10 перенаправляются на 192.168.1.100, при этом маскарадятся микротиком
/ip firewall nat
add action=masquerade chain=srcnat src-address=192.168.1.0/24
add action=netmap chain=dstnat dst-address=10.10.10.10 dst-port=12345 in-interface=bridge-lan protocol=tcp src-address=192.168.1.0/24 to-addresses=192.168.1.100 to-ports=12345

Выглядит это так5eec7fe310304150656504.png
И все работает замечательно, но сервер видит, что к нему подключается не клиент 192.168.1.10, а микротик 192.168.1.254, и если к нему подключится много клиентов, то все будут отображаться как 192.168.1.254. Для логов, безопасности и прочего этот совсем не подходит

Так что же можно сделать, что бы получилась следующая схема?
5eec80ee02ad8547182000.png
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
@Tabletko
Системный администратор
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы