我在 Ubuntu 20.04 上运行 OpenVPN。我有两个 VPN 连接到我们位于两个不同欧洲国家的办公室。我发现我可以同时连接这两个 VPN。就连接性而言,这将如何工作?应用程序如何“选择”使用哪个连接,同时打开两个连接是否有好处?或者可能只是看起来它们都打开了,而最新的连接会“覆盖”前一个连接?
答案1
您应该能够使用该route
命令查看哪些内容被路由到哪里。它将告诉您哪些 IP 地址被路由到哪里。这是一个常见示例:
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 enp0s31f6
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 vpn0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s31f6
172.16.0.0 0.0.0.0 255.240.0.0 U 0 0 0 vpn0
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s31f6
_gateway 0.0.0.0 255.255.255.255 UH 100 0 0 enp0s31f6
minanyconnfwf01 _gateway 255.255.255.255 UGH 100 0 0 enp0s31f6
在这种情况下,192.168.1.* 始终转到本地网络,10.*.*.* 和 172.16.*.* 都通过 VPN。其他所有内容都转到默认网关,即本地网络。您也可以自行编辑它。
route delete -net default gw 0.0.0.0 dev vpn0
这将删除使用 VPN 的默认网关,并将其恢复到本地网络,如果您不希望所有流量都通过 VPN,这将非常方便。
route add -net 10.0.0.0 netmask 255.0.0.0 dev vpn0
这将通过 vpn0 发送所有 10.*.*.* 流量
另外,我想指出的是,DNS 服务器的顺序也会影响这一点。如果您连接到其他国家/地区的 VPN,然后访问 Facebook、Google、Amazon 等常见网站,它们会根据您的主 DNS 服务器为您提供与您想要的不同的 IP 地址,这可能会或可能不会带来好处(在国外旅行时在线购物时非常有用)。