我最近按照以下指南在 Digital Ocean 上安装了我自己的 OpenVPN 服务器: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-14-04
我尝试使用以下选项:
push "redirect-gateway def1 bypass-dhcp"
当它被注释掉时,我的原始IP是可见的,当这个选项打开时,我只能通过ip ssh或ping服务器,但无法以任何方式解析它们的名称服务器。
我尝试了这里提供的所有解决方案: openvpn 客户端连接到服务器但名称解析不起作用
但不幸的是,什么都没起作用。
服务器:Ubuntu 16.04 @ Digital Ocean 客户端:尝试了 Viscosity 和 TunnelBlick(OSX El Capitan)
答案1
这只是猜测,但如果您当前的 DNS 服务器是由您的 ISP 分配的,当您的 VPN 启动时,它们将停止为您解析域。由于您的公共 IP 地址已更改,您的 ISP 不再将您识别为他们的客户之一。原因:您的查询来自不属于他们的 IP 地址。
如果您使用像 Google (8.8.8.8) 这样的开放 DNS 解析器,这应该可以工作。
您应该检查客户端上当前定义了哪些名称服务器。根据您的操作系统,您可能需要调整网络设置,OpenVPN 配置并不总是能够将所需的设置“推送”到客户端。
以下链接描述了该问题以及如何使用上/下脚本修复该问题:OpenVPN DNS 解析不起作用
在 Linux 平台上,此命令应该告诉您哪些名称服务器当前处于活动状态:
cat /etc/resolv.conf
您可以使用 nslookup 或 dig 进行测试。例如输入:
nslookup
进而:
server x.x.x.x -> where x.x.x.x is the IP address of the name server your want to test
然后输入域名,即superuser.com,并查看结果。