如果我针对主机名运行 dig,我会得到相应的 cname,但是我会收到 NXDOMAIN 错误(不存在的域)。
如果我对获得的 cname 运行 dig,则可以成功将其解析为 IP 地址。这是可重现的。
在我当前使用的系统上始终如此,在其他系统上它有时有效,有时无效,而在其他系统上它似乎一直有效。
如果我使用我指定的名称服务器运行(例如谷歌的公共名称服务器),我可以成功解析主机名。
我只想责怪当地的系统,但看来我遇到的问题并不是唯一的。
第二个域名 (example.net) 托管在 amazon route 53 名称服务器上。第一个域名托管在另一台 DNS 服务器上,该服务器多年来已被证明功能齐全且可靠。
我曾经也将其他域名切换到亚马逊 DNS,一切似乎都正常,而且各种 DNS 健康检查测试都报告正常,但是我收到了很多支持票,说 DNS 解析不起作用。
亚马逊只是“糟糕”还是我做错了什么?
我没有在本地系统上以任何方式篡改域名(在缓存或制作自定义 DNS 视图或其他情况下......)
joe@joe:~$ dig scorpion.example.com
; <<>> DiG 9.8.1-P1 <<>> scorpion.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 10222
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;scorpion.example.com. IN A
;; ANSWER SECTION:
scorpion.example.com. 180 IN CNAME alpha.nue.scorpion.example.net.
;; Query time: 28 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jun 18 10:28:39 2012
;; MSG SIZE rcvd: 84
joe@joe:~$ dig alpha.nue.scorpion.example.net
; <<>> DiG 9.8.1-P1 <<>> alpha.nue.scorpion.example.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25381
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;alpha.nue.scorpion.example.net. IN A
;; ANSWER SECTION:
alpha.nue.scorpion.example.net. 300 IN A 192.0.2.130
;; Query time: 48 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jun 18 10:28:47 2012
;; MSG SIZE rcvd: 66
joe@joe:~$
答案1
您在第一次请求时获得 NXDOMAIN,因为您请求的是 A(如您在问题部分中看到的那样),而服务器仅响应 CNAME。因此,您看到的问题是由 DNS 服务器引起的example.com
,而不是由 Amazon 引起的。
据我了解,服务器通常会返回 CNAME 记录指向的 A 记录作为答案的一部分,以节省带宽(因为,否则,这很可能是您的下一个问题)。然而,我不认为他们有我很确定一些特别迂腐的 DNS 服务器(我正在查看你,未打补丁-微型域名系统)不在答案中包含 A 记录。
(编辑:正如 kworr 所指出的,如果 A 名称超出了管辖范围,那么您还需要依赖服务器是否愿意为您执行递归查询)
答案2
如果您正确挖掘 CNAME,它就会出现。
直接从dig
手册页中获取:
dig 的典型调用如下:
dig @server name type
因此,您可以通过几种不同的方式查询它,但您始终需要指定类型如果你期望得到结果:
dig @ns-1765.awsdns-28.co.uk alpha.nue.scorpion.example.net cname
结果:
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.el4_5.3 <<>> @ns-1765.awsdns-28.co.uk alpha.nue.scorpion.example.net cname
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25056
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;alpha.nue.scorpion.example.net. IN CNAME
;; AUTHORITY SECTION:
example.net. 900 IN SOA ns-1765.awsdns-28.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
;; Query time: 8 msec
;; SERVER: 205.251.198.229#53(205.251.198.229)
;; WHEN: Sun Jul 29 16:05:02 2012
;; MSG SIZE rcvd: 137