我的VM有IP 192.168.1.3,DNS-服务器有192.168.1.2.在DNS-服务器上的/etc/hosts-file中,有以下条目
192.168.1.3 test.com
192.168.1.3 test.test.com从命令nslookup test.com/nslookup test.test.com (显然是在Name: test.test.com中),我得到
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: test.com
Address: 192.168.2.3但是当我执行ping test.test.com时,它会说:ping: cannot resolve test.com: Unknown host
奇怪的是,ping test.test.com在VM (192.168.1.3)和DNS-Server (192.168.1.2)上是成功的。Apache返回Syntax OK,VirtualHost有正确的ServerName和ServerAlias条目(命名域总共有两个条目),我尝试向test.com添加一个子域,然后它成功了,但是为什么呢?
发布于 2017-02-14 00:49:45
不要使用nslookup进行DNS诊断,请使用dig。( nslookup为test.com返回的地址与您之前所说的不匹配) ping使用DNS,但是您的DNS服务器不会使用/etc/hosts的内容来回答查询,它只是作为一个普通的缓存递归服务器工作,因此找不到您的主机。如果要解析本地名称,则需要将它们放入所有服务器的所有/etc/hosts文件中(并确保/etc/nsswitch.conf确实列出了hosts组的files ),或者在区域中有一个本地权威名称服务器,并确保客户端使用它。
https://serverfault.com/questions/832097
复制相似问题