VolanD666 Posted August 16 (edited) · Report post Добрый день! Подскажите, пожалуйста, пытаюсь понять почему не работает эта схема: Есть два 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 August 16 by VolanD666 Share this post Link to post Share on other sites
VolanD666 Posted August 16 · Report post Походу не может микрот PBRить, если пакет инициирован им самим. Share this post Link to post Share on other sites
LostSoul Posted August 16 · Report post 54 минуты назад, VolanD666 сказал: Походу не может микрот PBRить, если пакет инициирован им самим. это само линуксовое ядро до каких-то версий не могло раньше. теперь вроде может и "голый линукс" и микрот Share this post Link to post Share on other sites
VolanD666 Posted August 16 · Report post 1 минуту назад, LostSoul сказал: это само линуксовое ядро до каких-то версий не могло раньше. теперь вроде может и "голый линукс" и микрот Дык не работает. Прошивка новейшая. Я так понимаю, что проблема в том, что по пакет флоу внутренние пакеты идут сразу на route decision и не достигают prerouting. Share this post Link to post Share on other sites
LostSoul Posted August 16 · Report post 1 минуту назад, VolanD666 сказал: Дык не работает. Прошивка новейшая. Я так понимаю, что проблема в том, что по пакет флоу внутренние пакеты идут сразу на route decision и не достигают prerouting. проверил, факт не работает. а в цепочке mangle/output ваш вопрос не решается? Share this post Link to post Share on other sites
VolanD666 Posted August 16 · Report post Ну в аутпут он уже принял решение о роутинге и его не поменять :( Да думаю, что бессмысленно дальше ковыряться. Не может этого микротик :( ЗЫ Спасибо за ваши ответы. Share this post Link to post Share on other sites
LostSoul Posted August 16 · Report post 37 минут назад, VolanD666 сказал: Ну в аутпут он уже принял решение о роутинге и его не поменять :( Да думаю, что бессмысленно дальше ковыряться. Не может этого микротик :( ЗЫ Спасибо за ваши ответы. через ip rule и разные таблицы то что вы хотите тоже не делается? Share this post Link to post Share on other sites
McSea Posted August 16 (edited) · Report post Зачем гадать, на схеме (https://wiki.mikrotik.com/wiki/Manual:Packet_Flow) же видно, что исходящие от роутера пакеты (путь K->L) в prerouting не попадают, только output и postrouting. Edited August 16 by McSea Share this post Link to post Share on other sites
VolanD666 Posted August 16 · Report post Ну на схеме как не оень то и видно. Только когда вы ткнули пальцем где это, тогда стало понятно. А так там столько всего понарисовано. Share this post Link to post Share on other sites
nkusnetsov Posted August 17 · Report post @VolanD666 , вполне себе производится "Routing Adjustment" после Mangle-Output. Именно так и разруливается трафик самого роутера между несколькими аплинками. Share this post Link to post Share on other sites
user71 Posted August 17 · Report post Ясен пень не работает. Прероутинг это входящий трафик. Share this post Link to post Share on other sites
VolanD666 Posted August 17 · Report post 13 часов назад, nkusnetsov сказал: @VolanD666 , вполне себе производится "Routing Adjustment" после Mangle-Output. Именно так и разруливается трафик самого роутера между несколькими аплинками. можете привести пример? Я что-то не могу сообразить, если трафик роутера не проходит звено цепи прероутинг, как тогда PBR делать? Share this post Link to post Share on other sites
LostSoul Posted August 18 · Report post 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 если бы кто еще рассказал как при нескольких роут таблицах сделать "общую часть " не дублируя ее вручную , был бы очень признателен. Share this post Link to post Share on other sites
nkusnetsov Posted August 18 · Report post @LostSoul , общей частью обычно служит "main". Она может служить для обработки входящего извне трафика, например, при "пробросе портов". Исходящий же, обрабатывается по PBR, либо маркировками. Если я Вас правильно понял. Вот, тут можно глянуть еще : http://mum.mikrotik.com/presentations/RU18M/presentation_6157_1554717194.pdf Share this post Link to post Share on other sites
LostSoul Posted August 18 · Report post 2 часа назад, nkusnetsov сказал: @LostSoul , общей частью обычно служит "main". Она может служить для обработки входящего извне трафика, например, при "пробросе портов". Исходящий же, обрабатывается по PBR, либо маркировками. Если я Вас правильно понял. Вот, тут можно глянуть еще : http://mum.mikrotik.com/presentations/RU18M/presentation_6157_1554717194.pdf это то понятно. а вот как мне к примеру получить main и две дублирующих ее таблицы роутинга , чтоб в них было все как в main но другой default gateway? Share this post Link to post Share on other sites
nkusnetsov Posted August 18 (edited) · Report post @LostSoul , автоматом никак. У себя делаю альтернативные таблицы содержащие только другой default gateway. Они для исходящего трафика. Обычно только входящему трафику, нужны connected маршруты. Его запускаю в main по-умолчанию (или VRF, но это отдельная песня). Исходящий тоже по-умолчанию идёт по main. Только отдельным видам исходящего нужен альтернативный шлюз. Тогда его можно и пометить в mangle. Или PBR запилить. 1 час назад, LostSoul сказал: получить main и две дублирующих ее таблицы роутинга , чтоб в них было все как в main но другой default gateway? Конкретно у Вас для чего хочется дублировать main? Выше уровнем какая задача? Edited August 18 by nkusnetsov Share this post Link to post Share on other sites
VolanD666 Posted August 18 · Report post 1 час назад, LostSoul сказал: это то понятно. а вот как мне к примеру получить main и две дублирующих ее таблицы роутинга , чтоб в них было все как в main но другой default gateway? Ну я думаю что это можно сделать через ликинг. Т.е. перелить все роуты с исходной таблицы в нужную. А в нужной написать роут через нужны гейт. Но я думаю то именно с глобал такой фокус не получится :( Share this post Link to post Share on other sites
LostSoul Posted August 18 · Report post 16 минут назад, nkusnetsov сказал: Конкретно у Вас для чего хочется дублировать main? Выше уровнем какая задача? ну у меня не прямо про микротик задача. есть multihomed сервер ( на нем IP трех разных провайдеров ) , на котором крутится много сервисов высокой доступности и много разных дополнительных маршрутов main ( хотя бы к тем же контейнерам openvz , каждый в свой venet ) при этом контейнеры должны располагать и доступом к друг другу и всяким локальным сегментам тоже, поэтому около сотни маршрутов приходится копировать в таблицы to_isp1 , to_isp2 , to_isp3. в данном конкретном случае задача была успешно решена через bird и его протокол pipe. но хотелось бы более изящного решения средствами iproute , чтоб описать некий общий блок правил маршрутизации , и вставлять его и в main и в дополнительные таблицы. однако я после вдумчивого чтения man подобного не нашел. Share this post Link to post Share on other sites
nkusnetsov Posted August 18 (edited) · Report post 24 минуты назад, LostSoul сказал: сть multihomed сервер ( на нем IP трех разных провайдеров ) Правильно ли я понимаю, что "белые" IP у Вас только в количестве 3шт., на интерфейсах подключенных к провайдерам? Локальные сервисы находятся на локальных "серых" адресах? давайте абстрактный пример с адресацией подобной используемой Вами попробуем разобрать. Edited August 18 by nkusnetsov Share this post Link to post Share on other sites
LostSoul Posted August 18 · Report post 1 минуту назад, nkusnetsov сказал: Правильно ли я понимаю, что "белые" IP у Вас только в количестве 3шт., на интерфейсах подключенных к провайдерам? Локальные сервисы находятся на локальных "серых" адресах? там целый букет всего намешан. есть свои собственные адреса , резервированные по BGP , есть подсети реальных адресов соответствующего размера завернутые от 2 аплинков из 3 . Третий канал просто обычный IP , 3 шт от одного оператора и с них сервисы раскиданы по "локальным" ( своим реальным ) адресам. Общий смысл в том, чтоб система не прекращала работу на время обновления bgp при аварии. так же система сохраняет высокий уровень доступности при всяких сложных авариях, когда одна половина рунета не видит другую. это условно говоря, коммуникационная платформа типа "своего телеграмм" по обмену сообщениями и файлами, на которую завязано много внутреннего корпоративного функционала и экстренных оповещений. Share this post Link to post Share on other sites
nkusnetsov Posted August 18 (edited) · Report post А, ну тогда всё действительно сложнее. Как вариант, в микротике можно скриптом периодически активные маршруты из main переносить в именованые таблицы. Но это всё-же костыли. Edited August 18 by nkusnetsov Share this post Link to post Share on other sites
LostSoul Posted August 18 · Report post Только что, nkusnetsov сказал: Как вариант, можно скриптом периодически активные маршруты из main переносить в именованые таблицы. bird protocol pipe - нормально все работает. правда пока bird не выпал в корку.... Share this post Link to post Share on other sites
VolanD666 Posted August 18 · Report post Странно, попробовал маркировать роуты на аутпут и врде счетчики тикают на схеме в GNS3. Но у меня ведь тоже самое? Как так? Share this post Link to post Share on other sites
VolanD666 Posted August 18 · Report post Очень странно, полностью повторил схему в ГНС и ве ок, работает. Странно почему на реальной железке не взлетает :( Share this post Link to post Share on other sites
VolanD666 Posted August 19 · Report post В общем,, не наю что было. Пересобрал схему и все завелось. Вопрос закрыт Share this post Link to post Share on other sites