Маркировка трафика в Eoip

Обсуждение ПО и его настройки
Ответить
Vladislav.Shkvara
Сообщения: 13
Зарегистрирован: 22 июл 2020, 18:23

Доброго времени суток.

Есть у меня микротик с мультваном. Реализован через маркировку, примерно так (обобщенная схема)

/ip firewall mangle add chain=input dst-address=10.10.10.1 in-interface=Internet1 action=mark-connection new-connection-mark=Internet1-Connection-In
/ip firewall mangle add chain=output connection-mark=Internet1-Connection-In action=mark-routing new-routing-mark=Internet1-Connection-Out passthrough=no

/ip firewall mangle add chain=input dst-address=20.20.20.2 in-interface=Internet2 action=mark-connection new-connection-mark=Internet2-Connection-In
/ip firewall mangle add chain=output connection-mark=Internet2-Connection-In action=mark-routing new-routing-mark=Internet2-Connection-Out passthrough=no

/ip route add dst-address=0.0.0.0/0 gateway=Internet1 distance=1
/ip route add dst-address=0.0.0.0/0 gateway=Internet2 distance=2
/ip route add dst-address=0.0.0.0/0 gateway=Internet1 distance=1 check-gateway=arp routing-mark=Internet1-Connection-Out
/ip route add dst-address=0.0.0.0/0 gateway=Internet2 distance=1 check-gateway=arp routing-mark=Internet2-Connection-Out

И как бы сам мультиван маркирует, работает, вопросов нет.

Но помимо него есть пару тоннелей на другой микротик. Один тоннель через одного провайдера, другой через другого.
и вот периодически наступает этот неловкий момент, когда тоннель падает, я начинаю выяснять причину.
Захожу в фаервол, список коннектов, фильтрую по дестинейшен адресс на второй микротик и вижу вот такую картину

Изображение

(пробовал и статические маршруты между этими микротами прописывать - клинит чаще. Пробовал поднимать OSPF - клинит реже, но всё равно клинит)

Итак у меня два вопроса, к людям у которых мозга больше чем у меня.

1) Почему трафик от микрота к микроту в нем не маркируется? Я ведь маркирую трафик от каждого прова?

2) Как побороть то что его периодически клинит и он отправляет пакеты на 1 адрес, а ждёт с другого? (кто-то мне говорил что такое происходит, когда маршрут через одного прова становится выгоднее чем через второго. Но мне это ничего не дает, увы)

Заранее спасибо за инфо куда копать


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Vladislav.Shkvara писал(а): 02 дек 2020, 18:11 1) Почему трафик от микрота к микроту в нем не маркируется? Я ведь маркирую трафик от каждого прова?
Трафик в туннель не маркируется, потому что он уходит не к прову, а... в туннель :-)
И так оно и должно быть, это нормально.
Vladislav.Shkvara писал(а): 02 дек 2020, 18:11 2) Как побороть то что его периодически клинит и он отправляет пакеты на 1 адрес, а ждёт с другого? (кто-то мне говорил что такое происходит, когда маршрут через одного прова становится выгоднее чем через второго. Но мне это ничего не дает, увы)
/ip route rule
Прибить исходящие с каждого из публичных адресов к соответствующим таблицам маршрутизации.
И, само собой, указать для EoIP туннелей local-address.


Telegram: @thexvo
Vladislav.Shkvara
Сообщения: 13
Зарегистрирован: 22 июл 2020, 18:23

xvo писал(а): 02 дек 2020, 18:19 Прибить исходящие с каждого из публичных адресов к соответствующим таблицам маршрутизации.
И, само собой, указать для EoIP туннелей local-address.
Объясните пожалуйста как для альтернативно одарённых по поводу второго пункта.

И в роут рулз как прибить именно исходящие? В соурс адрес указать 1 прова, в дестинейшен адрес - второй микрот,
action - lookup only in table и в table указать таблицу прова из того что намаркировал? Верно понял?


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Vladislav.Shkvara писал(а): 02 дек 2020, 18:35 И в роут рулз как прибить именно исходящие? В соурс адрес указать 1 прова, в дестинейшен адрес - второй микрот,
action - lookup only in table и в table указать таблицу прова из того что намаркировал? Верно понял?
Только src-address, lookup only in table и таблицу.

Единственный side-effect - внешние адреса изнутри перестанут быть доступны.
Но это лечится добавлением выше этих двух правил ещё одного: в котором наоборот dst-address=внутренняя_подсеть action=lookup и table=main.

Но вообще можно и как вы говорите, когда и src и dst адреса заданы, только тогда надо будет данную операцию повторять для каждого нового туннеля (если, конечно, они будут).


Telegram: @thexvo
Vladislav.Shkvara
Сообщения: 13
Зарегистрирован: 22 июл 2020, 18:23

xvo писал(а): 02 дек 2020, 18:43 Но вообще можно и как вы говорите, когда и src и dst адреса заданы, только тогда надо будет данную операцию повторять для каждого нового туннеля (если, конечно, они будут).
Это не проблема, там максимум ещё 2 тоннеля будет и то не факт, спасибо.

И всё же что значит "И, само собой, указать для EoIP туннелей local-address"? Вы имеете в виду что ли в addresses дать им адрес? Дак без этого они вообще работать не будут, микрот не поймет что ему маршрутизировать с чем. Или я не так понял?


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Vladislav.Shkvara писал(а): 02 дек 2020, 19:03 И всё же что значит "И, само собой, указать для EoIP туннелей local-address"?
Изображение
Vladislav.Shkvara писал(а): 02 дек 2020, 19:03 Вы имеете в виду что ли в addresses дать им адрес? Дак без этого они вообще работать не будут, микрот не поймет что ему маршрутизировать с чем.
Вот только возникает вопрос, если вы на них навешиваете адреса и маршрутизируете, то почему вообще eoip, а не gre?! Зачем лишний оверхед то?!


Telegram: @thexvo
Vladislav.Shkvara
Сообщения: 13
Зарегистрирован: 22 июл 2020, 18:23

xvo писал(а): 02 дек 2020, 18:43 Но вообще можно и как вы говорите, когда и src и dst адреса заданы, только тогда надо будет данную операцию повторять для каждого нового туннеля (если, конечно, они будут).
Большое человеческое спасибо, вписал в конфиги, будем посмотреть. Вы выручаете меня уже не в первый раз)


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Рад помочь! :co_ol:


Telegram: @thexvo
Ответить