Jump to content

Не работает манг на пакетых инициируемых роутером


Recommended Posts

Posted (edited)

Добрый день!

 

Подскажите, пожалуйста, пытаюсь понять почему не работает эта схема:

Есть два l2tp туннеля между двумя микротиками. На каждом микротики есть по лупбеку с адресами 1.1.1.1 и 2.2.2.2.

 

Пытаюсь создать на микротике два правила, которые маркируют соединения:

/ip firewall mangle
add action=mark-routing chain=prerouting dst-address=2.2.2.2 new-routing-mark=l2tp1 random=30 src-address=1.1.1.1
add action=mark-routing chain=prerouting dst-address=2.2.2.2 new-routing-mark=l2tp2 src-address=1.1.1.1

Не могу понять почему они не срабатывают? Я запускаю пинг со второго микрота на первый: 

 ping 1.1.1.1 src-address=2.2.2.2

Cчетчики 

[admin@Client] <SAFE> ip firewall mangle print stats
Flags: X - disabled, I - invalid, D - dynamic
 #    CHAIN                                                                                                                                                                          ACTION                            BYTES         PACKETS
 0    prerouting                                                                                                                                                                     mark-connection                       0               0
 1    prerouting                                                                                                                                                                     mark-connection                       0               0

не тикают! Почему так?

Edited by VolanD666
Posted
54 минуты назад, VolanD666 сказал:

Походу не может микрот PBRить, если пакет инициирован им самим.

это само линуксовое ядро до каких-то версий не могло раньше.

теперь вроде может и "голый линукс" и микрот

 

Posted
1 минуту назад, LostSoul сказал:

это само линуксовое ядро до каких-то версий не могло раньше.

теперь вроде может и "голый линукс" и микрот

 

Дык не работает. Прошивка новейшая. Я так понимаю, что проблема в том, что по пакет флоу внутренние пакеты идут сразу на route decision и не достигают prerouting.

Posted
1 минуту назад, VolanD666 сказал:

Дык не работает. Прошивка новейшая. Я так понимаю, что проблема в том, что по пакет флоу внутренние пакеты идут сразу на route decision и не достигают prerouting.

проверил, факт не работает.

а в цепочке mangle/output ваш вопрос не решается?

 

Posted

Ну в аутпут он уже принял решение о роутинге и его не поменять :( Да думаю, что бессмысленно дальше ковыряться. Не может этого микротик :( 

 

ЗЫ Спасибо за ваши ответы.

Posted
37 минут назад, VolanD666 сказал:

Ну в аутпут он уже принял решение о роутинге и его не поменять :( Да думаю, что бессмысленно дальше ковыряться. Не может этого микротик :( 

 

ЗЫ Спасибо за ваши ответы.

через ip rule и разные таблицы то что вы хотите тоже не делается?

 

Posted
13 часов назад, nkusnetsov сказал:

@VolanD666 , вполне себе производится "Routing Adjustment" после Mangle-Output. Именно так и разруливается трафик самого роутера между несколькими аплинками.

 

можете привести пример? Я что-то не могу сообразить, если трафик роутера не проходит звено цепи прероутинг, как тогда PBR делать?

Posted
2 часа назад, VolanD666 сказал:

можете привести пример? Я что-то не могу сообразить, если трафик роутера не проходит звено цепи прероутинг, как тогда PBR делать?

/ip address 
add interface=ether1 address=192.168.1.100/24
add interface=ether2 address=192.168.2.100/24

/route
add dst-address=0.0.0.0/0 gateway=192.168.1.1
add dst-address=0.0.0.0/0 gateway=192.168.2.1 routing-mark=to_uplink2


/ip firewall mangle
add action=mark-routing chain=output new-routing-mark=to_uplink2 src-address=192.168.2.100

 

соединения иницированные с local address 192.168.1.100 уходят в 192.168.1.1  , соединения из 192.168.2.100 в 192.168.2.1

 

если бы кто еще рассказал как при нескольких роут таблицах сделать "общую часть " не дублируя ее вручную , был бы очень признателен.

 

Posted

@LostSoul , общей частью обычно служит "main". Она может служить для обработки входящего извне трафика, например, при "пробросе портов". Исходящий же, обрабатывается по PBR, либо маркировками.
Если я Вас правильно понял.
Вот, тут можно глянуть еще : http://mum.mikrotik.com/presentations/RU18M/presentation_6157_1554717194.pdf

Posted
2 часа назад, nkusnetsov сказал:

@LostSoul , общей частью обычно служит "main". Она может служить для обработки входящего извне трафика, например, при "пробросе портов". Исходящий же, обрабатывается по PBR, либо маркировками.
Если я Вас правильно понял.
Вот, тут можно глянуть еще : http://mum.mikrotik.com/presentations/RU18M/presentation_6157_1554717194.pdf

это то понятно.

а вот как мне к примеру получить main и две дублирующих ее таблицы роутинга , чтоб в них было все как в main но другой default gateway?

 

Posted (edited)

@LostSoul , автоматом никак.
У себя делаю альтернативные таблицы содержащие только другой default gateway. Они для исходящего трафика.
Обычно только входящему трафику, нужны connected маршруты. Его запускаю в main по-умолчанию (или VRF, но это отдельная песня).
Исходящий тоже по-умолчанию идёт по main.

Только отдельным видам исходящего нужен альтернативный шлюз. Тогда его можно и пометить в mangle. Или PBR запилить.

 

1 час назад, LostSoul сказал:

получить main и две дублирующих ее таблицы роутинга , чтоб в них было все как в main но другой default gateway?

 

Конкретно у Вас для чего хочется  дублировать main? Выше уровнем какая задача?

Edited by nkusnetsov
Posted
1 час назад, LostSoul сказал:

это то понятно.

а вот как мне к примеру получить main и две дублирующих ее таблицы роутинга , чтоб в них было все как в main но другой default gateway?

 

Ну я думаю что это можно сделать через ликинг. Т.е. перелить все роуты с исходной таблицы в нужную. А в нужной написать роут через нужны гейт. Но я думаю то именно с глобал такой фокус не получится :(

Posted
16 минут назад, nkusnetsov сказал:

 

 

Конкретно у Вас для чего хочется  дублировать main? Выше уровнем какая задача?



ну у меня не прямо про микротик задача.

есть multihomed сервер ( на нем IP трех разных провайдеров )  , на котором крутится много сервисов высокой доступности и много разных дополнительных маршрутов main ( хотя бы к тем же контейнерам openvz , каждый в свой venet )

 

при этом контейнеры должны располагать и доступом к друг другу и всяким локальным сегментам тоже, поэтому около сотни маршрутов приходится копировать в таблицы to_isp1 , to_isp2 , to_isp3.

в данном конкретном случае задача была успешно решена через bird и его протокол pipe.

но хотелось бы более изящного решения средствами iproute , чтоб описать некий общий блок правил маршрутизации , и вставлять его и в main и  в дополнительные таблицы.

однако я после вдумчивого чтения man подобного не нашел.

 

 

Posted (edited)
24 минуты назад, LostSoul сказал:

сть multihomed сервер ( на нем IP трех разных провайдеров ) 

Правильно ли я понимаю, что "белые" IP у Вас только в количестве 3шт., на интерфейсах подключенных к провайдерам?
Локальные сервисы находятся на локальных "серых" адресах?
давайте абстрактный пример с адресацией подобной используемой Вами попробуем разобрать.

 

Edited by nkusnetsov
Posted
1 минуту назад, nkusnetsov сказал:

Правильно ли я понимаю, что "белые" IP у Вас только в количестве 3шт., на интерфейсах подключенных к провайдерам?
Локальные сервисы находятся на локальных "серых" адресах?

там целый букет всего намешан.

есть свои собственные адреса , резервированные по BGP , есть подсети реальных адресов соответствующего размера завернутые от 2 аплинков из 3 .

Третий канал просто обычный IP , 3 шт от одного оператора и с них сервисы раскиданы по "локальным" ( своим реальным ) адресам.

 

Общий смысл в том, чтоб система не прекращала работу на время обновления bgp при аварии.

так же система сохраняет высокий уровень доступности при всяких сложных авариях, когда одна половина рунета не видит другую.

это условно говоря, коммуникационная платформа типа "своего телеграмм" по обмену сообщениями и файлами, на которую завязано много внутреннего корпоративного функционала и экстренных оповещений.

 

Posted (edited)

А, ну тогда всё действительно сложнее.
Как вариант, в микротике можно скриптом периодически активные маршруты из main переносить в именованые таблицы.

Но это всё-же костыли.

Edited by nkusnetsov
Posted
Только что, nkusnetsov сказал:

Как вариант, можно скриптом периодически активные маршруты из main переносить в именованые таблицы.

bird protocol pipe - нормально все работает.

правда пока bird не выпал в корку....   

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.