我有以下设置:
笔记本电脑(Ubuntu 18.04)通过 Wi-Fi 连接到互联网。
PC(Ubuntu 18.04)使用以太网电缆连接到笔记本电脑。
当笔记本电脑运行 VPN 时,PC 不会连接到互联网。
如何在 VPN 运行时建立连接?我不想让 PC 共享 VPN 连接。
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.50.0.1 128.0.0.0 UG 0 0 0 proton0
0.0.0.0 192.168.225.1 0.0.0.0 UG 600 0 0 wlp3s0
10.42.0.0 0.0.0.0 255.255.255.0 U 100 0 0 enp2s0
10.50.0.0 0.0.0.0 255.255.0.0 U 0 0 0 proton0
128.0.0.0 10.50.0.1 128.0.0.0 UG 0 0 0 proton0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp3s0
172.16.174.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
172.83.43.131 192.168.225.1 255.255.255.255 UGH 0 0 0 wlp3s0
192.168.0.0 0.0.0.0 255.255.0.0 U 600 0 0 wlp3s0
192.168.220.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
答案1
对于我的 VPN,我尝试将非必要的流量从 VPN 中移除,因为它很慢。基本前提是删除到 VPN 的默认路由,并添加您用于 VPN 的特定路由。我的路由是“默认”而不是 0.0.0.0,但我假设它们是相同的。我的删除如下所示:
route delete -net default gw 0.0.0.0 dev vpn0
因此你的情况可能是这样的:
route delete -net 0.0.0.0 gw 128.0.0.0 dev proton0
这应该会将所有流量路由回以太网,但可能会破坏 VPN。您还有其他 proton0 条目,因此它可能工作正常。从那里我添加了我需要的特定网络。例如 172.16.0.0 是一个常见的网络,10.0.0.0 也是如此:
route add -net 172.16.0.0 netmask 255.240.0.0 dev vpn0
route add -net 10.0.0.0 netmask 255.0.0.0 dev vpn0
您需要使用 VPN 所需的路由,并将设备设置为 proton0。如果情况完全恶化,您可以关闭并打开网络和 VPN,然后重置设置。
如果你设法让它工作,你可以通过添加文件使其永久生效/etc/network/if-up.d/proton0
,并在里面执行以下操作:
#!/bin/sh
if [ "$IFACE" = "proton0" ]; then
route delete -net 0.0.0.0 gw 128.0.0.0 dev proton0
route add -net 10.0.0.0 netmask 255.0.0.0 dev proton0
route add -net 172.16.0.0 netmask 255.240.0.0 dev proton0
fi
只需将路由命令替换为您以前使用的命令即可。您可能需要执行更多操作才能使第二台计算机正确路由,因为此设置是为了让互联网流量远离 VPN。我不能 100% 确定它能修复第二台计算机。