首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将我自己的DNS服务器推送到OpenVPN?

如何将我自己的DNS服务器推送到OpenVPN?
EN

Server Fault用户
提问于 2011-10-05 03:18:31
回答 4查看 255.5K关注 0票数 36

我已经在我的VPS上定义了一个解束缚 DNS服务器,它似乎可以工作。我需要使用DNS服务器而不是公共DNS服务器,因为一些ISP已经阻止了公共DNS IP。我的openvpn.conf文件是:

代码语言:javascript
复制
    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

正如建议的这里一样,我尝试使用服务器的IP(比如11.22.33.44)。所以而不是

代码语言:javascript
复制
    push "dhcp-option DNS 208.67.222.222"
    push "dhcp-option DNS 208.67.222.220"

我刚把

代码语言:javascript
复制
push "dhcp-option DNS 11.22.33.44"

在上面的openvpn.conf中。但是,在重新启动openvpn之后,我发现我的客户机仍然可以连接到OpenVPN服务器,但是不能再呈现页面了。

这里有什么问题吗?我该如何解决这个问题?

EN

回答 4

Server Fault用户

发布于 2016-12-21 13:21:45

Windows 10客户机上,需要向client.ovpn添加以下指令:

代码语言:javascript
复制
script-security 2                                                                                                       
dhcp-option DNS 10.0.8.1                                                                                           
dhcp-option DOMAIN example.lan                                                                                   

windows不需要更多指令。

Ubuntu 16.04客户机上,可能需要向client.ovpn添加以下指令:

代码语言:javascript
复制
up /etc/openvpn/update-resolv-conf                                                                                      
down /etc/openvpn/update-resolv-conf  

Windows的最新OpenVPN客户端版本无法正确识别选项DOMAIN-SEARCH,并与DOMAIN一起工作。

票数 38
EN

Server Fault用户

发布于 2011-10-05 04:38:22

你说“它似乎起作用了”你是怎么证实这个的?您是基于服务器启动时没有任何错误这一事实,还是实际上对它执行了一些查询?

我要做的第一件事是使用nslookup或dig连接到未绑定的服务器并执行一些查询。我知道迪奇现在更流行了,但我更了解查找。

代码语言:javascript
复制
$ 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

如果这不起作用,那么您必须再次回顾DNS配置。

这是主DNS服务器还是缓存DNS服务器?您是在查询本地资源还是网络资源?如果不将DNS服务器推送到客户端,它是否按预期工作?

如果您通过您的OpenVPN服务器传递所有流量,您就不必再担心您的ISP阻塞公共DNS服务器了,因为就您的ISP而言,您只是在为您的VPS生成流量;除非VPS在同一个ISP后面。

票数 10
EN

Server Fault用户

发布于 2016-05-29 23:28:37

事实证明,如果您试图从非Windows客户端连接,则需要执行以下几个额外步骤:

On Linux

将这一行放在客户端配置(client.confxxxx.ovpn文件)上

代码语言:javascript
复制
dhcp-option DNS 11.22.33.44

以这种方式调用OpenVPN客户端:

代码语言:javascript
复制
$ openvpn --script-security 2 --config xxxx.ovpn

对我起作用了。

票数 6
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/318563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档