我在Ubuntu12.04中使用了BIND9,它只是一个缓存服务器(转发到8.8.8.8)。
例如,当我使用dig +norecurse @l.root-servers.net www.uniroma1.it时,我获得以下输出
;<<>> DiG 9.8.1-P1 <<>> +norecurse @l.root-servers.net www.uniroma1.it;(找到1台服务器) ;;全局选项:+cmd;连接超时;无法到达服务器
使用Wireshark,我发现传出的查询是正确的,但是没有任何传入的答案。为什么?
使用简单的dig www.uniroma1.it,我得到正确的答案。
发布于 2012-11-15 15:44:47
你的命令在这里运作得很好。我的猜测是,防火墙,无论是在您的位置或您的ISP,是阻止DNS请求或响应。正常的dig www.uniroma1.it可能有效,因为所述防火墙允许对某些服务器进行请求,比如您的ISP提供的请求,或者是8.8.8.8提供的请求。
发布于 2012-11-15 14:16:50
根服务器将不回答对它们不具有权威性的域的查询。如果您在没有+no递归参数的情况下运行该命令,它应该返回.it域的引用列表。您将永远不会从根服务器获得记录响应。
发布于 2020-06-17 13:27:44
如果dig @nameserver domain.example.com不只是为特定的名称服务器工作,而为大多数名称服务器工作,那么它也可能是名称服务器阻塞来自某些源的通信的问题。他们可能只想向其他名称服务器(?)负责。显然,这是不好的行为,因为它使调试DNS问题更加困难。
这不适用于发布在问题中的根服务器示例。但是,例如,我看到这种行为与DNS hoster DomainDiscount24的名称服务器一致:
dig @ns1.domaindiscount.net example.com
; <<>> DiG 9.11.5-P4-5.1ubuntu2.2-Ubuntu <<>> @ns1.domaindiscount.net example.com
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached(使用example.com是一个例子,但即使这样也会给出一个答案,将我指向example.com域的正确名称服务器。但是,当使用实际托管在DomainDiscount24的域时,同样的行为也适用于上述行为。)
https://unix.stackexchange.com/questions/55800
复制相似问题