Openvpn服务器可以通过IP ping通,但不能通过主机名

我有一个vserver(Ubuntu 14.04.2 LTS),我运行OpenVPN。 几乎所有的工作真的很好:客户端可以通过他们的IP和名称到达其他客户端(我必须用“脚本安全2”,“up / down / etc / openvpn / update-resolv-conf”来修改客户端conf,编写一个小脚本,input/更新dns-entries,实现客户端名称parsing)。

唯一的问题是,我的服务器不提供名称parsing:在我的服务器上,我可以ping通客户端通过“ping 10.8.0.2”,但“ping客户端”导致“未知的主机”(虽然“ping客户端”这从我的客户之一)。

我知道这一定是一个DNS相关的问题,但我不能摆脱它。 当我看看我的resolv.conf时,我看到:

nameserver 80.XXX nameserver 80.XXX 

哦,好的,当地的域名服务器似乎不见了。 我的想法是编辑resolv.conf。 我尝试了几个条目(“127.0.0.1,127.0.1.1,10.8.0.1”),它们都没有工作(在重新启动openvpn服务之后)。

我也尝试编辑/etc/dhcp/dhclienf.conf并添加“prepend域名服务器127.0.0.1”(并重新启动),但也没有什么区别。

我的server.conf看起来像这样:

 proto udp6 dev tun ca ./easy-rsa2/keys/ca.crt cert ./easy-rsa2/keys/xxx.xxx.crt key ./easy-rsa2/keys/xxx.xxx.key dh ./easy-rsa2/keys/dh2048.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt #this is a script that configures dns-entries for clients client-connect "/etc/openvpn/scripts/learn-address.sh" script-security 3 system push "dhcp-option DNS 10.8.0.1" push "dhcp-option DOMAIN name.domain" client-to-client keepalive 10 120 comp-lzo persist-key persist-tun status openvpn-status.log log-append openvpn.log verb 3 

有人能指出我做错了什么吗? 我不能成为第一个有这个问题的人。 我认为这是openvpn运行的服务器通常的行为,也希望通过名称来与客户端进行通信,而不仅仅是IP。

你有没有安装DNS服务器? OpenVPN不提供任何名称parsingfunction。 你需要在你的服务器上运行一个独立的DNS服务器(或者在你的服务器的configuration文件中添加push "dhcp-option DNS 8.8.8.8" ,OpenVPN只更新学习脚本的zone / hosts文件。

请看看这个链接 。

这是一个学习脚本,在客户端连接或断开连接时更新主机文件。 它使用dnsmasq作为DNS服务器。

我安装了resolvconf(通过apt-get install resolvconf)。 然后我configuration了“/ etc / resolvconf / head”文件,并添加了“nameserver 10.8.0.1”作为DNS服务器。 在头文件中这样做似乎很重要(所以10.8.0.1是列表中的第一个名称服务器),而不是在尾文件中! 我也尝试了与尾部文件,但得到错误的结果。

现在我可以通过<vpn-hostname>.<domainname>访问我的所有VPN主机。