当上游发生故障时,是否可以配置本地 DNS 缓存以使用过时的记录?

当上游发生故障时,是否可以配置本地 DNS 缓存以使用过时的记录?

我正在寻找一个代理/缓存 DNS Linux 服务器,如果无法从上游获取更新,该服务器能够提供过时(过期)的记录。
如果可以将其配置为在上游花费的时间过长时使用过时的记录,然后在响应到达时异步更新缓存,那就更好了。

所需的行为与proxy_cache_use_stalenginx 指令非常相似 - 尽可能提供新鲜的上游服务,当上游中断时提供任何您拥有的服务。

dnsmasq 可以强制延长缓存记录的 TTL,但这在两点上都失败——客户端获得具有活动上游的陈旧记录,并且一旦延长的 TTL 最终过期并且上游关闭——客户端将一无所获。

答案1

我知道unboundDNS 中有类似的功能。

未绑定文档

   serve-expired: <yes or no>
          If enabled, unbound attempts to serve old responses  from  cache
          with  a  TTL of 0 in the response without waiting for the actual
          resolution to finish.  The actual resolution answer ends  up  in
          the cache later on.  Default is "no".

相关内容