为什么host命令同时返回A和CNAMElogging?

我们有一个2小时的TTL区域。 在进行任何更改之前,在查找www的条目时返回Alogging。

我们更改了www的条目以指向CNAMElogging。 改变之后,我们注意到host命令返回了CNAMEAlogging,如下所示:

 user@osx:~$ host www.example.com www.example.com has address 192.168.1.2 www.example.com is an alias for vip.example.com. www.example.com is an alias for vip.example.com. user@osx:~$ 

这是一些DNS服务器caching的问题吗? 如果我们只是让TTL完全失效,那么我们是否会得到一个没有Alogging的CNAME

挖掘或其他命令我没有得到任何更详细的信息。

编辑: vip.example.com.的真实地址vip.example.com. 与最初返回的Alogging完全不同:

 user@osx:~$ host vip.example.com vip.example.com has address 172.16.4.5 user@osx:~$ 

dig +trace显示什么? 它应该显示如何得到你的反应。

据我所知,这是非常正常的。 查询CNAME将返回Alogging的值,因为这是查询Alogging时最终映射到的位置。

作为一个Windows的家伙,我使用nslookup 。 当查询types设置为A我得到:

 Server: bladedc1.live.local Address: 192.168.163.50 Name: example.com.au Address: xxxx Aliases: www.example.com.au 

但是当我将查询types设置为CNAME我得到:

 www.example.com.au Server: bladedc1.live.local Address: 192.168.163.50 Non-authoritative answer: www.example.com.au canonical name = example.com.au example.com.au internet address = xxxx 

尝试将查询types设置为CNAME而不是A然后查看获得的结果。

 kechara# host cnametest.flame.org cnametest.flame.org is an alias for www.isc.org. www.isc.org has address 149.20.64.42 www.isc.org has IPv6 address 2001:4f8:0:2::d 

主持人很聪明。 它试图显示所有可以给用户的数据。 但是, dig是一个更可靠的debugging工具。

您应该首先确定您所得到的回应是从名称服务器开始,还是在链条之后。

 $ host -t ns example.com example.com name server b.iana-servers.net. example.com name server a.iana-servers.net. $ host example.com b.iana-servers.net Using domain server: Name: b.iana-servers.net Address: 193.0.0.236#53 Aliases: example.com has address 192.0.32.10 $ host example.com a.iana-servers.net. Using domain server: Name: a.iana-servers.net. Address: 192.0.34.43#53 Aliases: example.com has address 192.0.32.10