更改 OpenVPN 客户端的默认路由

n0p*_*0pe 4 vpn networking openvpn

在 Ubuntu 上设置测试 openvpn 客户端时(使用本指南),客户端会设置一条路由,通过 vpn 传输所有流量。

例如,当我从 Ubuntu 连接到 vpn 时,netstat -nr显示如下:

0.0.0.0         10.8.0.9        0.0.0.0         UG        0 0          0 tun0
10.8.0.1        10.8.0.9        255.255.255.255 UGH       0 0          0 tun0
10.8.0.9        0.0.0.0         255.255.255.255 UH        0 0          0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 tun0
...
Run Code Online (Sandbox Code Playgroud)

我相信第一条线路是通过 vpn 隧道传输所有内容,对吗?当我将其与来自我的 OSX 机器的相同命令的输出进行比较时:

10.8.0.1/32        10.8.0.5           UGSc            1        0    tun0
10.8.0.5           10.8.0.6           UH              2       33    tun0
...
Run Code Online (Sandbox Code Playgroud)

我没有这个规定。有没有办法让我推送命令从客户端删除该路由?我在这里的其他选择是什么?

小智 7

我假设您正在使用 NetworkManager GUI。似乎它的默认行为是覆盖默认路由,即使 OpenVPN 服务器没有推送它。

您可以通过编辑 VPN 连接并在IPv4设置选项卡上选择“路由... ”按钮来修复该行为。您将看到一个名为“仅将此连接用于此网络上资源”的选项。确保已启用,然后重新启动您的 VPN。那应该可以解决您的问题。


spe*_*ter 1

编辑 .ovpn 文件中的相应行。为此,您可能需要 root 权限 (sudo)。您应该已从 openvpn 提供商处收到文件whateveritisknown.ovpn以及您的证书。使用 vi、gedit 或其他文本编辑器打开文件并搜索以下行:

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
Run Code Online (Sandbox Code Playgroud)

在这些行下,您可以添加您想要使用的或 VPN 提供商推荐的路由的 IP 和/或主机名。保存文件。

  • 这是相当模糊的。您能解释一下*如何*做到这一点吗?什么是“各自的线路”?.ovpn 文件在哪里? (3认同)