Jump to content
Калькуляторы

PBR в linux, как обойти ограничение по количеству таблиц маршрутизации ?

Всем привет.

 

Столкнулся с потенциальной проблемой масштабирования PBR в linux. Обще известное решение выглядит примерно так: пишем ip rule которое матчит, например, сорс ойпи пакета и в качестве экшн направляется в какую-то таблицу маршрутизации посмотреть default gw или что там еще будет. Вроде бы ничего другого кроме таблицы там указать-то и нельзя. Таблиц в ядре очень много (https://serverfault.com/questions/315705/how-many-custom-route-tables-can-i-have-on-linux) но iprouter2 по каким-то причинам имеет доступ только от 0до 255 (реально от 1 до 252), остальные 2^30  недоступны. Предполагаю это пространство зарезервировано под namespace или что-то другое. В общем, надо иметь возможность сделать больше чем 255 ПБР и всё.

 

Вопрос: что можно сделать, если мне понадобится сконфигурировать более 255 политик ? Есть ли другие хорошо поддерживаемые способы делать PBR  в линукс ?

 

P.S.  Если я правильно помню, то у цыско в роут-мап тоже существует ограничение на 256 записей :-), но это не точно. Типа "если тебе нужно больше, то у тебя неправильный дизайн сети" (с) цыско. Но в данном случае дизайн никогоне интересует, надо чтобы работало и чтобы не было предела в 255 ПБР политик, ну хотя бы на порядок больше хочется :-), 255 это как-то не серьёзно в 2019 году.

Share this post


Link to post
Share on other sites

Quote

 It seems that the only valid values should be 0-255 plus the names defined in /etc/iproute2/rt_tables

А вы ваши таблицы прописали в /etc/iproute2/rt_tables (и ID для них)? Использую у себя автодобавление таблиц туда со случайно генерируемым ID, они получаются очень большими (например 353283, 275972), принимаются без проблем.

Share this post


Link to post
Share on other sites

14 minutes ago, h3ll1 said:

:)

PBR Eто не ликукс!!!!

 

Вы имеете ввиду, что в линуксе RBR? :)

 

Можно еще раскидать рулесы по namespace'м, в каждом из которых по 256 правил и таблиц. :)

Share this post


Link to post
Share on other sites

20 hours ago, rm_ said:

А вы ваши таблицы прописали в /etc/iproute2/rt_tables (и ID для них)? Использую у себя автодобавление таблиц туда со случайно генерируемым ID, они получаются очень большими (например 353283, 275972), принимаются без проблем.

Спасибо, вроде бы работает, если в /etc/iproute2/rt_tables прописать тыщу таблиц. По крайней мере добавлять и потом смотреть получилось, дальше пока не тестировал :-).

Share this post


Link to post
Share on other sites

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.