VirtualHost 可从其他机器解析,但无法 ping 通

VirtualHost 可从其他机器解析,但无法 ping 通

我的虚拟机有 IP 192.168.1.3,DNS 服务器有192.168.1.2。DNS/etc/hosts服务器上的文件中有以下条目

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 服务器 ( 192.168.1.2) 上成功。Apache-Configtest 返回Syntax OK,并且 VirtualHost-File 具有正确的条目和ServerNameServerAlias命名域共有两个条目)我尝试向 添加子域test.com,然后它成功了,但是为什么呢?

答案1

不要将其nslookup用于 DNS 诊断,请使用dig。(并且 test.com 返回的地址与nslookup您之前所说的不匹配) ping使用 DNS,但您的 DNS 服务器不会使用其内容/etc/hosts来回复查询,它只会作为普通的缓存递归服务器工作,因此找不到您的主机。如果您想解析本地名称,您要么需要将它们放在/etc/hosts所有服务器的所有文件中(并确保/etc/nsswitch.conf确实files为该hosts组列出),要么在您的区域中拥有本地权威名称服务器并确保您的客户端会使用它。

相关内容