ip route del不会删除整个表

我最近开始使用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命令删除所有条目。

也许尝试:

 ip route flush table 21