当不存在其他记录时,DIG 域 NS 为空?

当不存在其他记录时,DIG 域 NS 为空?

我要求我们的域名注册商为新域名配置名称服务器。他们说已经配置好了,所以我检查了一下:

dig example.com NS

使用 Google 的服务器,我得到的结果如下:

dig example.com NS

; <<>> DiG 9.7.1-P2 <<>> example.com NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 27910
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;example.com.           IN  NS

;; Query time: 244 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)

换句话说,没有答案。所以我认为他们还没有名称服务器。再次询问后,他们现在拿出了证据:

dig @local-isp-ns example.com NS


; <<>> DiG 9.4.1-P1 <<>> @local-isp-ns example.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53790
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;example.com. IN NS

;; AUTHORITY SECTION:
example.com. 86400 IN NS our-name-servers.
example.com. 86400 IN NS our-name-servers.

;; Query time: 1 msec
;; SERVER: 200.85.160.2#

换句话说,他们查询本地 ISP 的 NS,突然它确实得到了答案。我重复了这个练习,NS 确实出现在某些服务器上,但没有出现在其他服务器上(包括 Google DNS)。这个变化应该在几周前完成,所以同步不是问题。我只是想了解发生了什么。事实上,domain.com 尚未在我们的名称服务器上配置。那么,可能是因为某些名称服务器上的 NS 答案返回空白,因为它发现指定的名称服务器实际上没有运行?还是发生了其他事情?

谢谢!

答案1

尝试开启跟踪功能。它将跟踪您的请求,从根服务器一直到您的 NS。dig
+trace google.com NS

其次,您可以查询您的域名并检查它指向哪些名称服务器吗?然后您可以尝试
dig @$NS_FROM_WHOIS example.com NS
进行验证。

答案2

请记住,缓存将极大地影响结果。例如,如果您在实际区域上线之前查询了 ​​Google 的名称服务器,则会导致 Google 缓存“否定答案”。然后,当它上线并且您再次查询 Google 时,它​​将使用缓存的答案,而不是再次查询上游服务器。

随着时间的推移,一切都会清除。但您需要等到父区域的负缓存超时时间过去。

相关内容