我有一个问题。
在我的 Ubuntu 桌面 16.04 中启动一个 OpenVPN 连接时,我失去了互联网连接。
我认为这是因为我连接的网络有代理而我尚未配置。有没有办法解决这个问题而不必在我的笔记本电脑上配置另一个网络的代理?
谢谢 :)
答案1
OpenVPN 服务器通常配置为将某些路由推送到 VPN 客户端。根据 VPN 服务器的配置方式,它可能会推送全部通过 VPN 建立网络连接...从而使自己受到另一端的网络限制...
我不确定您的代理配置如何参与您的场景,因此我将尝试从路由/交换(第 3 层)的角度为您指明正确的方向。
在此示例中,我们假设:
- 10.10.1.1 是 OpenVPN 隧道的另一端
- 10.10.1.0/24 是您需要通过 OpenVPN 访问的子网
- 192.168.10.0 是您的本地 LAN 子网
- 192.168.10.1 是您的本地 LAN 网关
连接到 OpenVPN 后,查看您的路由表:
route -n
如果最后的网关(又称“目标 0.0.0.0”)仍然指向您的本地 LAN 网关 (192.168.10.1),那么您的 Internet 连接很可能不是通过 OpenVPN 路由(假设您没有配置任何代理设置)。
如果最后的网关是通过 VPN 隧道 (10.10.1.1) 指向的,您可以尝试手动更改路由,将最后的网络流量指向您的本地 LAN 网关:
Destination Gateway Genmask Iface
0.0.0.0 10.10.1.1 0.0.0.0 tun0
192.168.10.0 192.168.10.1 255.255.255.0 eth0
在这种情况下,所有互联网流量都通过 VPN(“tun0”)传输。如果您只需要通过 VPN 访问 10.10.1.0/24,那么您可以手动更改计算机上的路由:
route add -net 10.10.1.0 netmask 255.255.255.0 gw 10.10.1.1
route del -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.1.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.10.1
这将 (1) 通过 OpenVPN 推送发往 10.10.1.0/24 的流量 (2) 删除 10.10.1.1 作为最后手段网关 (3) 使 192.168.10.1 成为最后手段网关。
Destination Gateway Genmask Iface
0.0.0.0 192.168.10.1 0.0.0.0 eth0
192.168.10.0 192.168.10.1 255.255.255.0 eth0
10.10.1.0 10.10.1.1 255.255.255.0 tun0
答案2
我使用 OpenVPN 通过 RDP 连接到我工作中的 PC。我第一次设置时也遇到了这个问题。我们的设置中没有使用代理,因此这可能无法解决您的问题,但值得一试。
这是我在系统上修复它的方法:
- 编辑 OpenVPN 连接,选择 IPv4 选项卡,然后按“路由...”按钮。
- 勾选“仅将此连接用于其网络上的资源”复选框。
- 尝试连接 VPN 试试看。当然,如果不行的话,你可以撤销它。
希望有所帮助。
答案3
这取决于您尝试处理的 VPN 服务器的品牌。
我的工作使用 Cisco,Ubuntu 16.04 中的 VPN 驱动程序版本已过时,它根本无法在新的 Dell 5510 笔记本电脑上使用。我从此 AskUbuntu 问题中提到的页面安装了驱动程序 760864问题就消失了。我有点担心那里提到的那边,http://tomtomtom.org/networkmanager-openconnect,现在没有响应。这很糟糕,因为他们既有一些你可以下载的 deb 包,也有关于如何编译它的完整说明。