有什么方法可以将 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
但我不希望在“主”表上创建此接口路由,而是在表 id 为 10 的不同路由表上创建。似乎“ip addr”不将表 id 作为选项,我能想到的唯一方法是从“主”表中删除接口路由并将其添加到其他路由表中。
答案1
内核是在将 IP 添加到盒子后添加路由规则的,而不是命令ip
。所以你无法阻止它添加到“主”表中。执行此操作的唯一方法是手动从“main”中删除路由并将其添加到您的自定义表中。
答案2
您可以参考此链接有关Linux 高级路由和流量控制。它包含您需要的一切:如何添加具有特定 ID 和优先级的新表,如何从“主”表中删除路由并将其添加到新表中。我想它一定能满足你的需求。