我在家里的本地机器上运行着 centos 5.8。今天我尝试通过 dig 分析 DNS-Lookup。
$ dig +trace -t A www.heise.de.
这给了我类似这样的回应
de. 172800 IN NS f.nic.de.
de. 172800 IN NS z.nic.de.
de. 172800 IN NS s.de.net.
de. 172800 IN NS n.de.net.
de. 172800 IN NS a.nic.de.
de. 172800 IN NS l.de.net.
;; Received 344 bytes from 192.58.128.30#53(192.58.128.30) in 49 ms
相比之下,我的专用 CentOS 机器返回以下内容
de. 172800 IN NS a.nic.de.
de. 172800 IN NS n.de.net.
de. 172800 IN NS f.nic.de.
de. 172800 IN NS z.nic.de.
de. 172800 IN NS l.de.net.
de. 172800 IN NS s.de.net.
;; Received 344 bytes from 192.58.128.30#53(j.root-servers.net) in 32 ms
如您所见,最后一行有所不同。知道为什么我的专用机器给我响应 DNS 服务器的主机名,而我的本地机器只返回 IP 地址吗?
提前致谢
更新
反向 DNS 查找工作正常,没有任何问题。另外,我刚刚在本地 Mac 上检查了这个问题……出现了完全相同的问题。这可能与本地路由器/调制解调器/ISP 有关吗?
答案1
如果反向查找在一台机器上失败,但在另一台机器上成功,那么问题可能只是机器的 resolv.conf 不同。也许您在第二台机器的 resolv.conf 中指定了“搜索”或“域”字段,或者您可能一起使用了不同的名称服务器。您的 DNS 设置是什么样的?您说您在家里;这是否意味着您只是使用外部 DNS,如谷歌或您的 ISP,或者您有自己的本地 DNS?
答案2
它们之间的区别只不过是对返回响应的 IP 地址进行反向查找。
您能自己从本地盒子进行反向查找吗?
dig -x 192.58.128.30
如果失败了,这就是原因。