@allfools

Mikrotik! Как перенаправить исходящий трафик по определнному порту на другой шлюз?

Хочу сразу извиниться за возможную головную боль после прочтения сути проблемы.
А суть в следующем:
- Имеется 2 офиса.
- Связи между офисами настроена с помощью 2-х микротиков (951g) и EoIP поверх VPN
Оба шлюза видят друг друга и вообще единое адресное пространство, любовь и братство.
- На стороне микротика "А" имеется сервер. (WinSrv 2012 с 1с по RDP, а также прочей бухгалтерской приблудой и почтовый сервером Kerio) - в нем торчит 1 сетевой интерфейс.

- Провайдер на стороне микротика "А" не может прописать PTR запись, а провайдер на стороне микротика "B" может.
- Как сделать так, чтобы почтовый трафик шел во внешний мир через микротик "B", а остальной через микротик "A"?

На всякий случай пусть будет так:
Локальныя сеть 192.168.89.0/24
Микротик "А" - 1.1.1.1.
Микротик "В" - 2.2.2.2

Я так понимаю, что могут возникнуть проблем, в том случае если A и PTR записи будут на разных адресах? Но A запись переписать на микротик "B" и далее пробросить внутри локалки не проблема.
  • Вопрос задан
  • 9266 просмотров
Пригласить эксперта
Ответы на вопрос 4
@Grustnui
Опишу чуть более подробнее как сделать то что написал Руслан Федосеев.
Пусть почтовик - 192.168.88.20.
Микротик А - 192.168.88.1.
Микротик B - 192.168.88.10.

Пометим все соединения с почтового сервера наружу на 25й порт.

/ip firewall mangle
add action=mark-routing chain=prerouting dst-port=25 dst-address=!192.168.88.0/24 new-routing-mark=\
"SMTP Server" protocol=tcp src-address=192.168.88.20

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

/ip firewall mangle
add action=mark-connection chain=prerouting dst-address=!192.168.88.0/24 \
dst-port=25 new-connection-mark=SMTP_Connect protocol=tcp src-address=\
192.168.88.20
add action=mark-routing chain=prerouting connection-mark=SMTP_Connect \
new-routing-mark="SMTP Server" src-address=192.168.88.20

Создадим еще одну таблицу маршрутизации SMTP Server и укажем для неё шлюз по умолчанию Микротик B
/ip route
add distance=1 gateway=192.168.88.10 routing-mark="SMTP Server"

По идее трафик через 25й порт должен ходить через B.
Ответ написан
Комментировать
martin74ua
@martin74ua Куратор тега Сетевое администрирование
Linux administrator
отмаркировать трафик на 25 порт в mangle таблице, и направить отмаркированный трафик через другую таблицу маршрутизации, в которой дефолт - провайдер В.
Ответ написан
Комментировать
@LiguidCool
Почему бы весь трафик почтовика не пустить через B?
Честно говоря не очень ясна суть проблемы, где вопрос?
Ответ написан
Комментировать
@allfools Автор вопроса
Да можно и весь.
Суть проблемы: как сказать почтовику, что нужно ходить в инет через "B"?
Ответ написан
Ваш ответ на вопрос

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

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