更改 OpenVPN 客户端的默认路由

更改 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
...

我相信第一行是通过 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
...

我没有该规则。我有没有办法从客户端推送命令来删除该路由?我还有什么其他选择?

答案1

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

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

答案2

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

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.

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

相关内容