hbp*_*hbp 34 openvpn dns-server
我在我的 VPS 上定义了一个未绑定的DNS 服务器,它似乎可以工作。我需要使用 DNS 服务器而不是公共 DNS 服务器,因为某些 ISP 阻止了公共 DNS IP。我的 openvpn.conf 文件是:
dev tun
proto tcp
# Notice: here I set the listening port to be 80 to avoid possible port blockage
port 80
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
#status openvpn-status.log
#verb 3
client-to-client
push "redirect-gateway def1"
#pushing public DNS IPs
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.222.220"
comp-lzo
Run Code Online (Sandbox Code Playgroud)
正如此处建议的那样,我尝试使用服务器的 IP(例如 11.22.33.44)。所以代替
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.222.220"
Run Code Online (Sandbox Code Playgroud)
我只是把
push "dhcp-option DNS 11.22.33.44"
Run Code Online (Sandbox Code Playgroud)
在上面的 openvpn.conf 中。但是,在重新启动 openvpn 后,我看到我的客户端仍然可以连接到 OpenVPN 服务器,但无法再呈现任何页面。
这里有什么问题?我怎么解决这个问题?
vsk*_*iev 35
在Windows 10客户端上,您需要将以下指令添加到client.ovpn:
script-security 2
dhcp-option DNS 10.0.8.1
dhcp-option DOMAIN example.lan
Run Code Online (Sandbox Code Playgroud)
Windows 不需要更多指令。
在Ubuntu 16.04客户端上,您可能需要将以下指令添加到client.ovpn:
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Run Code Online (Sandbox Code Playgroud)
适用于 Windows 的最新 OpenVPN 客户端版本无法DOMAIN-SEARCH正确识别选项,并且可以使用DOMAIN.
你说“它似乎有效”。你是如何验证这一点的?您是基于服务器启动时没有任何错误的事实,还是您实际上对它执行了一些查询?
我要做的第一件事是使用 nslookup 或 dig 连接到未绑定的服务器并执行一些查询。我知道现在 dig 更流行,但我更了解 nslookup。
$ nslookup
> server 11.22.33.44
Default server: 11.22.33.44
Address: 11.22.33.44#53
> set type=A
> www.google.com
Server: 11.22.33.44
Address: 11.22.33.44#53
Non-authoritative answer:
www.google.com canonical name = www.l.google.com.
Name: www.l.google.com
Address: 74.125.225.52
Name: www.l.google.com
Address: 74.125.225.48
Name: www.l.google.com
Address: 74.125.225.49
Name: www.l.google.com
Address: 74.125.225.50
Name: www.l.google.com
Address: 74.125.225.51
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,那么您必须再次查看 DNS 配置。
这是主 DNS 服务器还是缓存 DNS 服务器?您是要查询本地资源还是互联网资源?如果您不将 DNS 服务器推送到客户端,它是否会按预期工作?
如果您通过 OpenVPN 服务器传输所有流量,您就不必再担心 ISP 阻止公共 DNS 服务器了,因为就您的 ISP 而言,您只会生成到 VPS 的流量;除非 VPS 在同一个 ISP 后面。
事实证明,如果您尝试从非 Windows 客户端进行连接,则需要执行一些额外的步骤:
在 Linux 上
将此行放在您的客户端配置(client.conf或xxxx.ovpn文件)上
dhcp-option DNS 11.22.33.44
Run Code Online (Sandbox Code Playgroud)
这样调用OpenVPN客户端:
$ openvpn --script-security 2 --config xxxx.ovpn
Run Code Online (Sandbox Code Playgroud)
那对我有用。
| 归档时间: |
|
| 查看次数: |
228424 次 |
| 最近记录: |