我最近开始使用ip route命令进行高级路由。现在,我遇到了一些令我困惑的事情。添加到表中的默认路由将很容易删除,而另一条路由仍保留。

我添加以下两个规则:

ip route add dev wlan0 default via 192.168.0.1 table 21
ip route add dev wlan0 192.168.0.0/24 table 21

现在,如果我这样做:
ip route show table 21

我看到这两个规则都存在。
default via 192.168.0.1 dev wlan0
192.168.0.0/24 dev wlan0  scope link

如果然后尝试删除表21,然后再次显示它:
ip route del table 21
ip route show table 21

仍然存在该规则。
192.168.0.0/24 dev wlan0  scope link

谁能解释一下?手册页中说,del旨在删除ROUTE,其中也包括表。

最佳答案

正如@ user3291010所指出的,要删除完整表,请使用以下命令:

该命令删除表21:

ip route flush table 21

您尝试的命令用于从表中删除特定规则。它想要匹配的前缀。当您不提供前缀时,它只是删除了第一个条目,而这恰好是默认路由。

要除去第二个条目,而仅除去第二个条目,可以运行以下命令:
ip route delete table 21 192.168.0.0/24

据我所知,无法使用delete命令删除所有条目。

关于linux - ip route del不会删除整个表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19663727/

10-09 20:32
查看更多