好的,我有子域名 news.247dist.com,如果我挖掘任何这个域名我得到:
; <<>> DiG 9.4.3-P3 <<>> news.247dist.com any
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36179
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 2
;; QUESTION SECTION:
;news.247dist.com. IN ANY
;; ANSWER SECTION:
news.247dist.com. 259018 IN NS b.ns.broadmail.de.
news.247dist.com. 259018 IN NS a.ns.broadmail.de.
news.247dist.com. 2382 IN SOA a.ns.broadmail.de. hostmaster.news.247dist.com. 1274182332 16384 2048 1048576 2560
;; ADDITIONAL SECTION:
a.ns.broadmail.de. 718 IN A 193.169.180.254
b.ns.broadmail.de. 718 IN A 193.169.181.254
;; Query time: 0 msec
;; SERVER: 80.67.16.6#53(80.67.16.6)
;; WHEN: Wed May 19 17:21:16 2010
;; MSG SIZE rcvd: 160
问题是,如果我挖掘任何此子域并询问上述挖掘中的其中一个 NS 服务器,我会得到:
; <<>> DiG 9.4.3-P3 <<>> any @a.ns.broadmail.de news.247dist.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3887
;; flags: qr aa rd; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 3
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;news.247dist.com. IN ANY
;; ANSWER SECTION:
news.247dist.com. 2560 IN SOA a.ns.broadmail.de. hostmaster.news.247dist.com. 1274182332 16384 2048 1048576 2560
news.247dist.com. 900 IN NS a.ns.broadmail.de.
news.247dist.com. 900 IN NS b.ns.broadmail.de.
news.247dist.com. 900 IN MX 0 mail.srv2.de.
news.247dist.com. 900 IN TXT "v=spf1 ip4:213.61.69.122/32 ip4:193.169.180.0/23 -all"
news.247dist.com. 900 IN A 193.169.180.252
;; ADDITIONAL SECTION:
a.ns.broadmail.de. 900 IN A 193.169.180.254
b.ns.broadmail.de. 900 IN A 193.169.181.254
mail.srv2.de. 900 IN A 193.169.180.201
;; Query time: 23 msec
;; SERVER: 193.169.180.254#53(193.169.180.254)
;; WHEN: Wed May 19 17:26:33 2010
;; MSG SIZE rcvd: 284
那么为什么我没有得到第二个结果,如果我简单挖掘任何新闻.247dist.com?
答案1
造成这种差异的原因是,当你问缓存递归DNS 服务器ANY
可以自由地用其缓存中的任何内容来回答当时。
如果缓存中根本没有任何内容,它将查找NS
域的记录,SOA
记录将随之出现,因此这就是响应您的查询所返回的全部内容。
缓存不会将ANY
查询一直发送到权威性服务器通常会在响应这样的查询时提供尽可能多的数据,如您的第二个示例所示。
为了正确看到此效果,请执行以下操作:
% dig news.247dist.com ANY
.... [as before]
% dig news.247disk.com MX
.... [get the MX records]
% dig news.247dist.com ANY
.... [list now inclues the MX records]
% dig news.247disk.com TXT
.... [get the SPF TXT records]
% dig news.247dist.com ANY
.... [list now inclues those too]
答案2
您的名称服务器似乎提供了数据,any
请求不会显示mx
记录,但如果您执行“dig mx news.247dist.com”,它将返回您的域的 mx 记录。
我认为您使用的名称服务器的配置存在差异,从而阻止另一个 DNS 服务器查询您域的 DNS 并要求其返回所有记录。
我找不到支持文档,但我推测当您查询不是域的 SOA(授权起始点)的名称服务器时,响应只是一些常见条目,因为对于 NS 来说,从 SOA 查询所有条目会产生相当大的开销,而管道上的一个服务器可能知道基本记录,并能够更快地返回它们。
答案3
我看到消息“警告:请求递归但不可用”。奇怪...