最初我的路由表看起来像这样
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wlp3s0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp3s0
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
当我使用 VPN 连接到公司的网络后,服务器会推送一些路由,表格如下所示
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wlp3s0
X.X.X.X 0.0.0.0 255.255.255.255 UH 50 0 0 vpn0
X.X.X.X 0.0.0.0 255.255.255.255 UH 50 0 0 vpn0
........ and so on .....
我想默认通过 VPN 的所有流量并发出以下命令
sudo route del default
sudo route add default dev vpn0
它们完成时没有错误,在 kern.log 中我看到以下内容:
Jan 5 22:04:45 thinkpad NetworkManager[1079]: <info> [1546715085.3821] policy: set 'vpn0' (vpn0) as default for IPv4 routing and DNS
但表中没有显示默认路由,并且 ping 表示网络无法访问。
如果我在连接后最终勾选“忽略自动获取的路由”选项,我将通过 vpn0 获得默认路由。但我无法删除它(sudo 路由删除默认 vpn0各种组合是没有意义的)。
我的想法是,我想通过 VPN 或 WiFi 即时路由流量,并且不会断开连接。并想知道为什么我不能。
PS:我已经尝试过所有这些ip路由具有相同的效果
OpenVPN 和内核我有:
network-manager-openvpn/xenial-updates,now 1.1.93-1ubuntu1.1 amd64 [installed]
openvpn/xenial-updates,xenial-security,now 2.3.10-1ubuntu2.1 amd64 [installed]
Linux thinkpad 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux