当我尝试连接到 VPN(L2TP/IPsec)并且不选中“仅将此连接用于其网络上的资源”选项时,我无法访问互联网,如果我使用此选项,我将无法访问远程资源
When i check "use this connection only for resources on its network"
route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.31.1 0.0.0.0 UG 600 0 0 wlo1
10.227.89.1 0.0.0.0 255.255.255.255 UH 50 0 0 ppp0
138.000.000.00 192.168.31.1 255.255.255.255 UGH 600 0 0 wlo1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlo1
192.168.31.0 0.0.0.0 255.255.255.0 U 600 0 0 wlo1
192.168.31.1 0.0.0.0 255.255.255.255 UH 600 0 0 wlo1
When i don't check "use this connection only for resources on its network"
route -n
0.0.0.0 0.0.0.0 0.0.0.0 U 50 0 0 ppp0
0.0.0.0 192.168.31.1 0.0.0.0 UG 600 0 0 wlo1
10.227.89.1 0.0.0.0 255.255.255.255 UH 50 0 0 ppp0
138.00.000.00 192.168.31.1 255.255.255.255 UGH 600 0 0 wlo1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlo1
192.168.31.0 0.0.0.0 255.255.255.0 U 600 0 0 wlo1
192.168.31.1 0.0.0.0 255.255.255.255 UH 600 0 0 wlo1
When i don't use vpn
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.31.1 0.0.0.0 UG 600 0 0 wlo1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlo1
192.168.31.0 0.0.0.0 255.255.255.0 U 600 0 0 wlo1
我发现类似的错误https://bugs.launchpad.net/ubuntu/+source/network-manager-openvpn/+bug/1598665,但我找不到解决方案。感谢您的帮助。
答案1
使用网络掩码255.255.255.255
,当像您尝试的那样执行拆分隧道 VPN 时,它目前只知道如何路由到138.##.###.##
远程网络上的单个主机。要访问同一子网上的其他主机,网络掩码通常为255.255.255.0
、255.255.0.0
等。
我不知道远程网络拓扑结构或 VPN 服务器如何配置 IPCP 查询以产生网络掩码255.255.255.255
,但在客户端,作为一种解决方法,您可以手动添加您想要到达的远程子网的路由,例如:
对于网络掩码255.255.255.0
:
sudo ip route add 138.##.###.0/24 dev ppp0
或者如果你想要一个网络掩码255.255.0.0
:
sudo ip route add 138.##.0.0/16 dev ppp0
注意:将#
s 替换为真实的 IP 地址八位字节。
如果上述子网示例不正确,请添加您想要在远程网络上到达的实际子网的路由。
如果拆分隧道 VPN 路由在 Windows 上工作正常,则可能使用 DHCP 选项 121 或 249。我不确定您使用的是哪个 DHCP 客户端,甚至不知道它是否支持 121 或 249。