Добавление IP в таблицу маршрутизации

Добавление IP в таблицу маршрутизации

Можно ли как-то добавить IP-адрес к интерфейсу, но маршрут интерфейса создается в таблице маршрутизации, отличной от «основной» таблицы маршрутизации в Linux?

Например: если я добавлю IP 10.11.20.10/24 к eth0, это создаст маршрут интерфейса в основной таблице.

   ip route show
   10.11.20.0/24 dev eth1  proto kernel  scope link  src 10.11.20.10

Но я не хочу, чтобы этот маршрут интерфейса был создан в таблице «main», а в другой таблице маршрутизации с идентификатором таблицы 10. Похоже, «ip addr» не принимает идентификатор таблицы в качестве параметра, единственный способ, который я смог придумать, — это удалить маршрут интерфейса из таблицы «main» и добавить его в другую таблицу маршрутизации.

решение1

Ядро добавляет правила маршрутизации после добавления IP в ящик, а не ipкоманда. Поэтому вы не можете помешать ему добавляться в таблицу «main». Единственный способ сделать это — вручную удалить маршрут из «main» и добавить его в свою пользовательскую таблицу.

решение2

Вы можете обратиться к этой ссылке относительноРасширенная маршрутизация и управление трафиком Linux. Он содержит все, что вам нужно: как добавить новую таблицу с определенным идентификатором и приоритетом, как удалить маршрут из "главной" таблицы и добавить его в вашу новую таблицу. Я думаю, он должен удовлетворить ваши потребности.

Связанный контент