Страница 1 из 1

Mangle - MultiWAN

Добавлено: 06 июл 2022, 09:15
alexpebody
3 ISP, манглы марки коннетов на вход input и на выход output решают только задачу отдачи входа и выхода по указанным ISP, есть проблемы в NAT, посоветуйте как сделать полный список последовательность Mangle вместе с Preroute, Input, Forwarding, Output + Preroute для !WAN пожалуйста, хотя бы для одного ISP пример. Буду весьма признателен!

Проблема, к примеру будем считать 2 ISP - 1.1.1.2 и 2.2.2.2 - адреса внешних пров., проброс порта 21 через 1.1.1.1 не возвращает его через 1.1.1.1 тк ответа нет, понимаю, что FTP работает с 20-21 passv и activ, а также ряд из экстра портов, сейчас речь не столько об этом. Как сделать, чтобы проброс порта не ограничивался одним ISP, а именно работал, даже когда данный 1.1.1.1 имеет distance 2 и в данный момент активен distance 1 ISP 2.2.2.2? Те нужна полная цепочка Mangle: Preroute, Input, Forwarding, Output + Preroute для !WAN можете дать пример пожалуйста? Разумеется ip/route из mangle таблицы указаны для isp1 и isp2 и имеют distance 1.

p.s. Презентацию по MultiWAN и многие другие материалы я конечно смотрел и не раз, но сделать ПОЛНУЮ цепочку для всех моментов, а проблемнее всего NAT не получается. NAT конечно разделен по исходящим, каждому ISP.

Вот пример, я специально убрал параметры, для приметры (!connection-bytes !connection-limit !connection-mark !connection-nat-state !connection-rate !connection-state !connection-type !content disabled=no !dscp !dst-address !dst-address-list !dst-address-type !dst-limit !dst-port !fragment !hotspot !icmp-options и пр.), чтобы было исключительгно схематически:

для информации: passthrough=no не включается на yes, при включении, сразу встает на no

/ip firewall mangle
add action=mark-connection chain=prerouting comment="Preroute Mark ISP1" disabled=no in-interface=ISP1 new-connection-mark=PRE1 passthrough=no
add action=mark-connection chain=prerouting comment="Preroute Mark ISP2" disabled=no in-interface=ISP2 new-connection-mark=PRE2 passthrough=no

add action=mark-routing chain=prerouting comment="Routing Transit ISP1" connection-mark=PRE1 disabled=no in-interface-list=!WAN new-routing-mark=ISP1 passthrough=no
add action=mark-routing chain=prerouting comment="Routing Transit ISP2" connection-mark=PRE2 disabled=no in-interface-list=!WAN new-routing-mark=ISP2 passthrough=no

add action=mark-routing chain=output comment="Routing Output ISP1" connection-mark=PRE1 disabled=no new-routing-mark=ISP1 passthrough=no
add action=mark-routing chain=output comment="Routing Output ISP2" connection-mark=PRE2 disabled=no new-routing-mark=ISP2 passthrough=no

/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=1.1.1.1 routing-mark=ISP1 scope=30 target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=2.2.2.1 routing-mark=ISP2 scope=30 target-scope=10

add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=1.1.1.1 scope=30 target-scope=10
add disabled=no distance=2 dst-address=0.0.0.0/0 gateway=2.2.2.1 scope=30 target-scope=10

Re: Mangle - MultiWAN

Добавлено: 06 июл 2022, 14:49
alexpebody
https://www.youtube.com/watch?v=Gwl-0bRxOY4
Как совместить 2 маркировки??? In - Out 7:34 и маркировку Pre - Out 15:07???
Изображение

Изображение

Re: Mangle - MultiWAN

Добавлено: 07 июл 2022, 12:26
alexpebody
Как часто бывает отвечаю на свой вопрос, вот правильные во всех отношениях Mangle правила, перекрывающие Input их и можно использовать как в случае Input для самого Mikrotik так и других случаях:

/ip firewall mangle
add action=mark-connection chain=prerouting comment="Preroute Mark ISP1" disabled=no in-interface=ISP1 new-connection-mark=PRE1 passthrough=no
add action=mark-connection chain=prerouting comment="Preroute Mark ISP2" disabled=no in-interface=ISP2 new-connection-mark=PRE2 passthrough=no

add action=mark-routing chain=prerouting comment="Routing Transit ISP1" connection-mark=PRE1 disabled=no in-interface-list=!WAN new-routing-mark=ISP1 passthrough=no
add action=mark-routing chain=prerouting comment="Routing Transit ISP2" connection-mark=PRE2 disabled=no in-interface-list=!WAN new-routing-mark=ISP2 passthrough=no

add action=mark-routing chain=output comment="Routing Output ISP1" connection-mark=PRE1 disabled=no new-routing-mark=ISP1 passthrough=no
add action=mark-routing chain=output comment="Routing Output ISP2" connection-mark=PRE2 disabled=no new-routing-mark=ISP2 passthrough=no

/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=1.1.1.1 routing-mark=ISP1 scope=30 target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=2.2.2.1 routing-mark=ISP2 scope=30 target-scope=10

add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=1.1.1.1 scope=30 target-scope=10
add disabled=no distance=2 dst-address=0.0.0.0/0 gateway=2.2.2.1 scope=30 target-scope=10

Всем добра!

Re: Mangle - MultiWAN

Добавлено: 07 окт 2022, 11:59
Ascana
alexpebody писал(а): 07 июл 2022, 12:26 /ip firewall mangle
add action=mark-connection chain=prerouting comment="Preroute Mark ISP1" disabled=no in-interface=ISP1 new-connection-mark=PRE1 passthrough=no
***
add action=mark-routing chain=prerouting comment="Routing Transit ISP1" connection-mark=PRE1 disabled=no in-interface-list=!WAN new-routing-mark=ISP1 passthrough=no
Так получается, что если в первой строке "chain=prerouting" (mark-connection) поле passthrough равно "no",
то до второй строки "chain=prerouting" (mark-routing) дело не дойдёт!

Re: Mangle - MultiWAN

Добавлено: 08 окт 2022, 20:18
podarok66
Ascana писал(а): 07 окт 2022, 11:59 Так получается, что если в первой строке "chain=prerouting" (mark-connection) поле passthrough равно "no",
то до второй строки "chain=prerouting" (mark-routing) дело не дойдёт!
Это ещё почему? В данном случае это означает, что соединения, помеченные маркой PRE1 далее не просматриваются. Остальные-то соединения в этот список не попадают и будут просматриваться. Из них отберут те, которые промаркируют другой маркой, например PRE2. По-моему так. Где я ошибаюсь?

Re: Mangle - MultiWAN

Добавлено: 08 окт 2022, 21:11
xvo
Речь про то, что первый пакет который пометит соединение как PRE1 будет принят, дальше по цепочке не пойдет, и к нему не будет применено mark-routing.
И оно действительно так.
Но вот только в этом вообще никакой проблемы нет - пакет то входящий, и mark-routing для него не нужен в любом случае.