收到 NXDOMAIN 后不要重试

收到 NXDOMAIN 后不要重试

我刚刚在 qmail 服务器上安装了 bind,目的是避免对服务器在几秒/几分钟前已经询问过的域进行 DNS 查询,作为缓存服务器。因此现在,resolv.conf 将 127.0.0.1 作为名称服务器,一段时间后,新的 local-bind 几乎可以回答所有查询。

但是,我可以看到(使用 tcpdump)服务器仍然向我的主 DNS 服务器和辅助 DNS 服务器(使用 forward)请求大量域,并且刚刚意识到这一点:

DNS 查询:MX? hotmeil.com

DNS 答案:ServFail

嗯,正如你所见,我收到了NXDOMAIN(ServFail)

问题是,是否可以告诉我的本地 DNS 不要重试收到的 NXDOMAIN?至少记住失败一段时间,从而避免所有这些无用的查询?

多谢你们!。

答案1

NOERROR(又名)响应NODATA意味着域存在,但是请求的特定资源记录类型(MX?)不存在。

您的 DNS 服务器应该等待该响应中指定的“minttl”时间,然后再询问。这也适用于响应SERVFAIL(如果看到)。请参阅RFC 2308

但请注意,任何此类 TTL 都是咨询。如果您的名称服务器缓存耗尽,则完全可以忘记记录不存在,并在被询问时再次查询它。

相关内容