我最近开始使用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/