如果两个转发器都有答案,那么为什么DNS服务器仍然按照请求超时?

当转发器已经有了答案时,DNS服务器请求会在什么情况下超时? 例如,似乎有一个领域,我认为是在目前有us.army.mil DNS问题。 如果我用nslookup直接打转发给type = mx,那么我马上得到回应。 如果我打我们的DNS服务器,虽然有相同的请求,它需要超过2秒,超时,或者当我延长超时到10秒失败。 如果我多次尝试,最终会返回一个响应。

这是我的理解,我们的DNS服务器应该发送外部域的请求到转发器,并获得响应(如果可用)。 日志显示第一个转发器被击中,然后在3秒后尝试第二个转发器。 当我们的服务器没有问题时,我的直接请求给转发器是不是有问题?

当级联DNSrecursion服务器并引入转发器时,这就是您遇到的那种问题 。

你的一个DNS服务器没有正确应答。 除权威服务器外,其他所有服务器都可以拥有caching

两种可能性:

  • 权威的服务器之一是不回答,但你的caching之一有很好的答案。
  • 您的转发/recursion服务器之一在caching中有一个错误的条目(可以是NSlogging,CNAME,委派,…)。

dig命令可以帮助您确切地知道哪个服务器的行为不正确(但是应该仔细阅读它的输出):

dig myhost @myfirstforwarder dig myhost @myrealrecursor dig -t NS myhost dig -t any @authserver1 dig -t any @authserver2 

等等。

诀窍是:不要放置代理:只有recursion服务器和权威的。 保持简单愚蠢。