Mangle - MultiWAN

Тема в разделе "Вопросы начинающих", создана пользователем alexpebody, 6 июл 2022.

  1. alexpebody

    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.
     
    Последнее редактирование: 6 июл 2022
  2. alexpebody

    alexpebody Новый участник

    Вот пример, я специально убрал параметры, для приметры (!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
     
  3. alexpebody

    alexpebody Новый участник


    Как совместить 2 маркировки??? In - Out 7:34 и маркировку Pre - Out 15:07???
     
  4. alexpebody

    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

    Всем добра!
     
  5. Илья Князев

    Илья Князев Администратор Команда форума

    Добавлю, что если нету необходимости для выхода в Интернет по немаркированным маршрутам, то можно дефолт прописать "в никуда", например на пустой бридж.
    Так же неплохо бы повесить 2 route rule чтобы пакеты не уходили не с того WAN
     
  6. alexpebody

    alexpebody Новый участник