如何使用 iproute2 删除默认路由

如何使用 iproute2 删除默认路由

我使用 NetworkManager 连接到 openVPN 服务器。配置为所有流量都通过 VPN:

> ip route                    
default via 10.4.4.73 dev tun0  proto static  metric 50 
default via 192.168.178.1 dev wlp2s0  proto static  metric 600 

10.4.4.73 是 tun0 设备的对等地址。第二条路由通过我的本地路由器路由流量。为了尝试删除默认路由,我发出了命令:

ip route del default via 10.4.4.73 dev tun0

它不会引发错误,但也不会更改路由表。删除该路线的正确方法是什么?

答案1

ip route del命令对我来说看起来没有错。如果它不起作用,您要么必须指定所有属性或路线(即ip route show打印的所有内容,包括“metric”和“proto”),要么您可以通过省略“via”部分来摆脱它。

无论如何,如果您这样做,NetworkManager 可能会在稍后恢复路由,并且在重新激活 OpenVPN 连接时肯定会恢复路由。

也许,你应该这样做 nmcli connection modify $OVPN_CONN_NAME ipv4.never-default yes

man nm-settings

答案2

我在删除启动时为第二个接口添加的默认路由时遇到了同样的问题。使用正确选择器的正确命令如下:

ip route del to default via 192.168.0.1

这只会删除 192.168.0.1 接口上的路由。该操作缺少“to”作为选择器。

答案3

您需要查看它是 openvpn 配置还是网络管理器参数。

redirect-gateway选项可以由服务器推送或由客户端配置设置,您只需删除/注释它即可。

对于网络管理器,请参阅服务器故障后

相关内容