如何在客户端的 .ovpn 配置文件中禁用通过 VPN 路由所有流量(包括网络流量)?

如何在客户端的 .ovpn 配置文件中禁用通过 VPN 路由所有流量(包括网络流量)?

为了连接到公司网络,我有以下四个文件

  • 证书
  • 客户端.ovpn
  • 客户端密钥
  • 客户端证书

我无法通过 Ubuntu GUI 创建 VPN 连接,但我设法通过cd进入包含这些文件和的文件夹从命令行使其工作sudo openvpn --config client.ovpn。它将我连接到网络,但我无法访问网络外的任何其他主机。经过大量的谷歌搜索,似乎是因为启用了通过 VPN 路由我的所有流量(包括网络流量)。在论坛上,人们建议选中Use this connection only for resources on its networkVPN 编辑窗口中的复选框。但由于我无法通过 GUI 创建连接 - 我没有在连接列表中,因此我无法通过 GUI 编辑它。但也许我可以在我的 client.ovpn 配置文件中添加一些内容来解决这个问题?

答案1

答案 1

在 OpenVPN 客户端文件中,client.ovpn找到并注释掉以下行(如果存在):

redirect-gateway
# This is a comment so change line above to this
# redirect-gateway

如果管理员或服务器尚未将其放入客户端文件中或正在“推送”重定向网关,您可以按照以下说明手动覆盖它:忽略重定向网关

为了帮助确定最佳操作方法,请执行以下操作。首先将所有内容重置为使用 VPN 之前的状态(例如重启)。然后检查您是否可以访问本地网络。然后运行:

sudo ip route

这将显示当前的默认网关 - 记下它,我们将其称为original。然后正常运行 vpn 客户端sudo openvpn config.opvn。建立连接后,运行sudo ip route。您应该看到默认网关已更改,因此所有内容都通过 VPN 路由。

接下来终止 openvpn 并sudo ip route再次运行以检查设置是否已恢复。然后使用--route-nopull以下选项运行客户端:

--route-nopull 用于路由和 dhcp 选项(如 DNS 服务器)。在客户端上使用时,此选项可有效禁止服务器向客户端的路由表添加路由,但请注意,此选项仍允许服务器设置客户端的 TUN/TAP 接口的 TCP/IP 属性。

最后检查sudo ip route默认网关是否与相同original(因为这是命令的作用)。理论上,您应该具有本地网络访问权限和 vpn 接口。

方法 2 基本上接受完整的 VPN 配置,但允许您手动指定网关地址。

答案 2

你已经尝试过这个了吗?Ubuntu 手册

相关内容