Настройка mangle для двух провайдеров

Тема в разделе "Вопросы начинающих", создана пользователем Newlife_86, 15 май 2019.

  1. Newlife_86

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

    Добрый день товарищи! Помогите разобраться с непонятной штукой. Два провайдера, настроил мангл, роут рул. С первого провайдера пинги уходят на гугл с микротика. А со второго не хотят, если в тоолс пинг указать интерфейс второго провайдера.. заметил что в конектионс не маркируется трафик второго провайдера при пинге с микротика. Уже устал искать проблему. Опасаюсь что и тоннели некорректно работают. С ними тоже были проблемы - при отключении элек-ва не восстанавливаются обратно. Где ошибка? Помогите кто чем может))

    Конфиг:

    add action=mark-connection chain=input connection-state=new dst-address=\
    1.1.1.1 in-interface=ether1_WAN_MTS new-connection-mark=MTS->Input \
    passthrough=yes
    add action=mark-connection chain=input connection-state=new dst-address=\
    2.2.2.1 in-interface=ether10_WAN_VLADLINK new-connection-mark=\
    VLADLINK->Input passthrough=yes
    add action=mark-routing chain=output connection-mark=MTS->Input \
    new-routing-mark=MTS passthrough=no
    add action=mark-routing chain=output connection-mark=VLADLINK->Input \
    new-routing-mark=VLADLINK passthrough=no
    add action=mark-connection chain=prerouting in-interface=ether1_WAN_MTS \
    new-connection-mark=MTS->Input passthrough=yes
    add action=mark-connection chain=prerouting in-interface=ether10_WAN_VLADLINK \
    new-connection-mark=VLADLINK->Input passthrough=yes
    add action=mark-routing chain=prerouting connection-mark=MTS->Input \
    in-interface=!ether1_WAN_MTS new-routing-mark=MTS passthrough=no
    add action=mark-routing chain=prerouting connection-mark=VLADLINK->Input \
    in-interface=!ether10_WAN_VLADLINK new-routing-mark=VLADLINK passthrough=no

    add comment="ISP1 input/output" distance=1 gateway=1.1.1.2 routing-mark=MTS
    add comment="ISP2 input/output" distance=1 gateway=2.2.2.2 routing-mark=VLADLINK
    add check-gateway=ping comment="MTS default" distance=1 gateway=1.1.1.2
    add check-gateway=ping comment="VLADLINK default" distance=10 gateway=2.2.2.2
    add distance=1 dst-address=192.168.0.0/24 gateway=172.16.18.1
    add distance=100 dst-address=192.168.0.0/24 gateway=172.16.19.1
    /ip route rule
    add action=lookup-only-in-table comment="Only ISP1" src-address=1.1.1.1/32 table=MTS
    add action=lookup-only-in-table src-address=2.2.2.1/32 table=VLADLINK

    /ip firewall nat
    add action=masquerade chain=srcnat comment="defconf: masquerade" out-interface-list=WAN

    add allow-fast-path=no ipsec-secret=123456789 keepalive=5s,3 local-address=1.1.1.1 name=MTS remote-address=3.3.3.3
    add allow-fast-path=no keepalive=3s local-address=2.2.2.1 mtu=1426 name="VLADLINK" remote-address=4.4.4.4

    /ip address
    add address=192.168.1.1/24 comment=defconf interface=bridge network=192.168.1.0
    add address=1.1.1.1/24 comment=MTS interface=ether1_WAN_MTS network=1.1.1.0
    add address=2.2.2.1/30 comment=VLADLINK interface=ether10_WAN_VLADLINK network=2.2.2.0
    add address=172.16.18.2/30 interface=MTS network=172.16.18.0
    add address=172.16.19.2/30 interface="VLADLINK" network=172.16.19.0
    add address=192.168.20.1/24 interface=vlan-20 network=192.168.20.0
    add address=192.168.30.1/24 interface=vlan-30 network=192.168.30.0
     
    Последнее редактирование: 15 май 2019
  2. Илья Князев

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

    https://mum.mikrotik.com/2018/RUM/agenda/EN
    Находите там мою презентацию "Реализация MultiWAN. Вопросы, проблемы и решения"
    Изучаете. Если останутся вопросы - задаете.
     
  3. Newlife_86

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

    Я по этой презентации в основном и настраивал. Вроде все работает, но вот с пингом ,как я и описал в теме, проблемы.. и с восстановлением тоннелей после отключения электричества. Именно после отключения. После ребута все работает! Хотелось бы убедится что настройки правильные, а именно Mangle и Route Rule. И в маршрутах же все вроде тоже верно? Два маркированных и два основных(один в резерве).
     
  4. Илья Князев

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

    И не должен. У вас в mangle output нет маркировки соединений и оно там и не надо.
    А если src-address?
     
  5. Newlife_86

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

    Как нет? а это -
    add action=mark-routing chain=output connection-mark=MTS->Input \
    new-routing-mark=MTS passthrough=no
    add action=mark-routing chain=output connection-mark=VLADLINK->Input \
    new-routing-mark=VLADLINK passthrough=no
    И на другом микротике, зеркально настроеном, с обоих интерфейсов пингуется без проблем..

    С указанием src-address пингуется)

    Вообще хотел убедится, что данный конфиг верный для двух тоннелей gre между офисами?
     
  6. Илья Князев

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

    А маркировка-то у вас при пинге с роутера откуда возьмётся?

    Конфиг в принципе правильный. Mangle переусложнен. Там достаточно 3 правил на каждый WAN
    prerouting -> mark connection
    prerouting -> mark routing по имени соединения с in-interface-list=!WAN
    output mark routing по имени соединения
     
  7. Newlife_86

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

    Схема такая два провайдера с каждой стороны.. Офис 1 - Альянс(основной) МТС(резерв)
    Офис 2 - МТС(основной) Владлинк (резерв)
    Тоннели строятся следующим образом:
    Альянс(основной) 3.3.3.3 ---- Владлинк (резерв) 2.2.2.1 --Этот тоннель используется как резервный
    МТС(резерв) ------ МТС(основной) --- А этот как основной.
     
  8. Newlife_86

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

    А как же input и output ? т.е. ответ с правильного адреса..
     
  9. Newlife_86

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

    Я правильно понял, можно заменить в мангл мои правила ,на те которые вы предлагаете и все будет работать так же, только с меньшей нагрузкой?
    Route rule не трогать?
     
  10. Илья Князев

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

    Пакет до попадания в input все равно проходит прероутинг.
    Да. И главное будет понятнее и проще. Подсказка при маркировке соединения ставьте в условия отбора connection-mark=n0-mark. Позволит не думать об passthrough.
     
  11. Newlife_86

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

    Если честно, я не понимаю до конца значение параметра passthrough) Если объясните вкратце, было бы не плохо. Ну а вообще , спасибо за советы и помощь!
     
  12. Илья Князев

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

    Пасстру - отдавать ли пакет ниже по правилам или прекратить его обработку в этой цепочке mangle.