我正在使用 gnome NetworkManager 并通过 openconnect 连接到 VPN 服务器,但是当我连接并且所有流量都经过 VPN 时,我的默认路由不会改变。我可以以某种方式让 NetworkManager 在打开 VPN 时切换默认路由并在关闭 VPN 时将其切换回来吗?
答案1
我还需要使用帕洛阿尔托 VPN 客户端来执行此操作。我不使用网络管理器,但您可以轻松地在命令行中查看您的路由,如果没有其他方法适合您,则可以在那里更改它们。
当我与 Wi-Fi 接入点关联时,我的路线如下所示(AP 是我的默认网关)。网关/路由器被指定为在输出的列下具有0.0.0.0
目的地和UG
(Up,Gateway) :flags
route
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.12.110.1 0.0.0.0 UG 0 0 0 wlan1
10.9.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
172.12.110.0 0.0.0.0 255.255.128.0 U 9 0 0 wlan1
连接到我的 VPN 后,AP 是仍然默认网关,因为它是路由表中具有UG
标志的第一个条目:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.12.110.1 0.0.0.0 UG 0 0 0 wlan1
0.0.0.0 10.115.186.212 0.0.0.0 UG 10 0 0 gpd0
10.9.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
140.110.254.254 10.115.186.212 255.255.255.255 UGH 0 0 0 gpd0
207.15.254.227 172.12.110.1 255.255.255.255 UGH 0 0 0 wlan1
207.15.254.254 10.115.186.212 255.255.255.255 UGH 0 0 0 gpd0
172.12.110.0 0.0.0.0 255.255.128.0 U 9 0 0 wlan1
为了实际通过 VPN 链路路由流量,我需要172.12.110.1
使用sudo
以下route
命令删除网关:
sudo route del default
现在我的默认网关设置为我的 VPN 路由器/链接,即10.115.186.212
。
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.115.186.212 0.0.0.0 UG 10 0 0 gpd0
10.9.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
140.110.254.254 10.115.186.212 255.255.255.255 UGH 0 0 0 gpd0
207.15.254.227 172.12.110.1 255.255.255.255 UGH 0 0 0 wlan1
207.15.254.254 10.115.186.212 255.255.255.255 UGH 0 0 0 gpd0
172.12.110.0 0.0.0.0 255.255.128.0 U 9 0 0 wlan1
/etc/network/interfaces
我很确定这一切都可以使用钩子或其他东西自动完成post-up
,但我只是从来没有费心去研究它。
您可以通过将浏览器连接到来验证您的出口(路线编辑之前和之后)谷歌IP查询