我有dns缓存服务器。我使用的是bin9.8.3-P1或dnscache(djbdns缓存)。我经常在日志“意外的RCODE SERVFAIL”中看到错误。bind9和dnscache都有这个问题。在tcpdump中,我看到他们甚至没有询问权威服务器。使用来自同一台机器的nslookup,我可以从权威服务器获得正确的答案。
我的缓存服务器似乎把它们的缓存服务失败答案放进去了,不用再问了。我认为通过RFC,他们根本不应该把SERVFAIL的答案。任何想法都将不胜感激。
发布于 2012-11-21 08:40:49
我认为您对正在发生的事情是正确的,但是RFC 2308在s7.1中非常清楚,允许缓存SERVFAIL:
In either case a resolver MAY cache a server failure response. If it
does so it MUST NOT cache it for longer than five (5) minutes如果您正在运行DNS服务器,您可能会对此行为进行调优,甚至完全停止它,因此,如果正在缓存这些内容并使您无法控制的名称服务器运行您自己的DNS服务器。
发布于 2021-11-19 12:20:18
您还可以试试max-ncache-ttl选项:
http://www.zytrax.com/books/dns/ch7/hkpng.html#max-ncache-ttl
这并不能防止servfail发生,但是应该使bind而不是缓存它。
https://serverfault.com/questions/450761
复制相似问题