OpenVPN 连接无传出

OpenVPN 连接无传出

我正在尝试从 Ubuntu 16.04 服务器版本(无 GUI)连接到 VPN。

我使用下载的配置并连接sudo openvpn - - config path/to/.ovpn

这似乎运行良好,没有错误,我得到了一个tun界面。但我似乎无法访问外部网址。

例如ping google.com导致长时间停顿ping: unknown host google.com

一个简单的 sendmail 命令失败,提示无法连接到 SMTP 服务器(外部)

Dyndns 客户端更新失败,大概是因为无法连接服务提供商。

如果我断开 openvpn 连接,以上一切都正常。

我已经在路由器 (virgin media superhub) 上启用了直通流量,但无济于事。我需要做任何端口转发吗?但没有一个指南说要这样做...

谢谢您的任何建议。

答案1

由于我缺乏遵循简单说明的能力,查看提供商的安装说明后,我似乎错过了一个重要的步骤,即在我的 .ovpn 配置中添加一个脚本来运行update-resolv-conf它,然后修复了它。

抱歉浪费了时间,非常感谢托马斯的帮助和坚持。

答案2

这似乎是一个 DNS 问题。

正如 OP 在评论中测试的那样,数据可以通过 VPN 传到互联网,因此问题在于它没有获取用于查询的 DNS 服务器。我们还确认 DNS 查询可以在出站进行。因此我们只需确保系统始终可以访问 DNS 服务器即可。

当您/etc/resolv.conf连接到 VPN 时,文件中至少应该有如下内容(IP 地址可能不同!):

nameserver 127.0.1.1
nameserver 8.8.8.8

如果没有,那么我们需要确保您已设置 DNS 服务器,以便您可以解析域名。因此,将 的内容替换/etc/resolv.conf为以下内容 (Google DNS):

nameserver 8.8.8.8
nameserver 8.8.4.4

然后尝试通过 VPN 正常使用互联网。

如果您这样做了但是由于不断被覆盖而不起作用/etc/resolv.conf,那么您可能希望考虑强制它不可改变sudo chattr +i /etc/resolv.conf如果你绝对确定不需要更改 DNS 服务器,那么就不要进行此更改,因为您会遇到 DHCP 问题或尝试设置 DNS 名称服务器等问题,并且由于无法编辑而失败/etc/resolv.conf

相关内容