Можно ли как-то добавить 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. Он содержит все, что вам нужно: как добавить новую таблицу с определенным идентификатором и приоритетом, как удалить маршрут из "главной" таблицы и добавить его в вашу новую таблицу. Я думаю, он должен удовлетворить ваши потребности.