bind9;如何在条目过期后自动刷新条目

bind9;如何在条目过期后自动刷新条目

我正在寻找一种方法,当缓存过期时,可以自动刷新缓存中的条目。

例如,example.com 的 TTL 为 60,如果它过期,我希望自动刷新它,以便当用户查询 example.com 时,新版本已经在缓存中。

这在 bind 中可行吗?

谢谢!

答案1

BIND支持一种称为的技术prefetch。使用预取 BIND 将自动刷新即将过期的条目。以下是预取的语法。

 sudo vim /etc/bind/named.conf.options
 ...
 options {
 ...
 prefetch 2 9;
};
...

如您所见,它有两个数字,trigger(此处为 2)和eligibility(此处为 9)。这告诉 BIND,如果剩余 TTL 低于 2 秒,则刷新所有初始 TTL 大于 9 秒的条目的 DNS 条目。因此,它不会盲目刷新所有条目,而是只监控初始 TTL 大于资格的条目,一旦这些条目的剩余 TTL 低于触发值,它就会刷新它们。资格和触发的值以秒为单位。

因此,假设 example.com 的 TTL 为 60 秒(即获取记录时的 TTL),我想确保如果剩余 TTL 低于 10 秒,则应刷新条目。以下是我在配置文件中的预取选项。

prefetch 10 60

进一步阅读:https://kb.isc.org/article/AA-01122/0

答案2

不,没有。缓存旨在自动“记录”首次访问的条目,以便以后更快地访问。“预缓存”条目不会像您描述的那样提高性能。

相关内容