在转发器已经有答案的情况下,DNS服务器请求在什么情况下超时?例如,似乎有一个域我认为在us.army.mil时就存在DNS问题.如果我使用nslookup直接命中转发器为type = mx,那么我立即得到响应.如果我使用相同的请求命中我们的DNS服务器需要超过2秒并且超时或者当我将超时延长到10秒时它会失败.如果我多次尝试,它最终会返回一个响应.
我的理解是,我们的DNS服务器应该向转发器发送外部域请求并获得响应(如果可用).日志显示第一个转发器被命中,然后在3秒后尝试第二个转发器.在我们的服务器上,我对转发器的直接请求如何没有问题?
解决方法
当您级联DNS递归服务器并引入转发器时,就是您遇到的那种
problem.
您的一个DNS服务器无法正确回答.
除权威服务器之外的所有服务器都可以有缓存
两种可能性:
>其中一个权威服务器没有回答,但你的一个缓存有很好的答案.
>您的一个转发器/递归服务器在缓存中有一个错误的条目(可以是NS记录,CNAME,委托……).
dig命令可以帮助您确切地知道哪个服务器行为不正确(但应仔细阅读其输出):
dig myhost @myfirstforwarder dig myhost @myrealrecursor dig -t NS myhost dig -t any @authserver1 dig -t any @authserver2
等等.
诀窍是:不要将转发器放在适当的位置:只有递归服务器和权威服务器.保持简单愚蠢.