Задать вопрос
@migmax

Как зайти по внешнему IP-адресу из локальной сети на MikroTik НЕ через маршрут по умолчанию?

Уважаемые, разъясните такой момент.
Имеется Mikrotik, в него 2 провайдера, один дает условный адрес А.А.А.А, второй адрес Б.Б.Б.Б.
В локальной сети дефолтный маршрут настроен через провайдера с адресом А.А.А.А, второй провайдер резервный.
Из локальной сети с адреса 192.168.0.31 в инет через резервного провайдера Б проброшен сайт:
правило NAT:
chain=dstnat action=netmap to-addresses=192.168.0.31 to-ports=80 protocol=tcp dst-address=Б.Б.Б.Б
in-interface=Б dst-port=99
правило mangle:
chain=prerouting action=mark-routing new-routing-mark=Б passthrough=no src-address=192.168.0.31
route:
A S 0.0.0.0/0 Б.Б.Б.Б Routing Mark - Б 1
Из интернета все работает, благодаря правилам описанным выше сайт открывается и работает через резервного провайдера.
Проблема в том, что нужно заходить на сайт по внешнему IP Б.Б.Б.Б из локальной сети.
Для этого имеется правило NAT:
chain=srcnat action=masquerade to-addresses=192.168.0.31 src-address=192.168.0.0/16 dst-address=192.168.0.31
out-interface=Б
Которое призвано замаскарадить локальный адрес источника адресом Б.Б.Б.Б что-бы ответ от сайта к адресату шел не напрямую на локальный адрес. Проблема в том что маскарад отрабатывает через дефолтный маршрут в сети, адресом А.А.А.А и ответ от сайта так и не приходит куда надо.
Что нужно добавить или исправить в конфиг чтобы заходить из локальной сети по внешнему адресу Б.Б.Б.Б?

PS:
Помимо того правила маскарада что описано выше (собственно оно и есть Hairpin NAT - не работает в моем случаи) есть ещё вот такие 2 правила, для выхода в интернет.
chain=srcnat action=masquerade dst-address=!192.168.0.0/16 out-interface=А
chain=srcnat action=masquerade dst-address=!192.168.0.0/16 out-interface=Б
Если нужно ещё что из конфига, выложу.
  • Вопрос задан
  • 3068 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@migmax Автор вопроса
Сам разобрался, помогли вот такие правила:
/ip firewall nat
chain=dstnat action=netmap to-addresses=192.168.0.31 to-ports=80 protocol=tcp dst-address=Б.Б.Б.Б dst-port=99
chain=srcnat action=masquerade to-addresses=192.168.0.31 src-address=192.168.0.0/16 dst-address=192.168.0.31
out-interface=bridge-local
/ip firewall mangle
chain=forward action=mark-connection new-connection-mark=t31 passthrough=no src-address=!192.168.0.0/16 dst-address=192.168.0.31
chain=prerouting action=mark-routing new-routing-mark=Б passthrough=no src-address=192.168.0.31 connection-mark=t31
/ip route
A S ;;; Routing Mark - Б 0.0.0.0/0 Б.Б.Б.Б 1
Может кому пригодиться!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Maxlinus
@Maxlinus
сколько у вас правил маскардинга? покажите конфиг так понятнее будет
Ответ написан
Комментировать
vasilevkirill
@vasilevkirill
Сертифицированный тренер MikroTik TR0417
Если я вас правильно понял, то вам необходимо использовать такую технологию wiki.mikrotik.com/wiki/Hairpin_NAT
Ответ написан
Комментировать
@polevoyserg
Вышеуказанный вариант не совсем подошел для меня. Заработало при таких настройках:
/ip firewall nat (первое правило)
5a8158db8509c040594482.png5a81590a02e2d004031095.png
и второе правило, на вкладке nat (там же)
5a8159312a45c291533234.png5a815936beac6355186244.png
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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