14

我最近开始使用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,其中还包括表。

4

2 回答 2

25

正如@user3291010 已经指出的那样,要删除一个完整的表,请使用以下命令:

此命令删除表 21:

ip route flush table 21

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

要删除第二个条目,并且只删除第二个条目,您可以运行以下命令:

ip route delete table 21 192.168.0.0/24

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

于 2014-07-23T22:24:24.160 回答
7

也许尝试:

ip route flush table 21
于 2014-02-10T00:31:15.130 回答