bind9; エントリの有効期限が切れた後にエントリを自動的に更新する方法

bind9; エントリの有効期限が切れた後にエントリを自動的に更新する方法

キャッシュの有効期限が切れた場合に、キャッシュ内のエントリを自動的に更新する方法を探しています。

たとえば、example.com の TTL は 60 ですが、期限が切れた場合は自動的に更新して、ユーザーが example.com をクエリしたときに新しいバージョンがすでにキャッシュ内にあるようにしたいと考えています。

これはバインド内で可能ですか?

ありがとう!

答え1

BINDと呼ばれる技術をサポートしていますprefetch。prefetch を使用すると、BIND は期限切れになりそうなエントリを自動的に更新します。以下は prefetch の構文です。

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

ご覧のとおり、これには 2 つの数字trigger(ここでは 2) と 9 eligibility(ここでは 9) があります。これは、残りの TTL が 2 秒を下回った場合に、初期 TTL が 9 秒を超えていたすべてのエントリの DNS エントリを更新するように BIND に指示します。したがって、すべてのエントリが盲目的に更新されるのではなく、初期 TTL が eligibility より大きいエントリのみを監視し、これらのエントリの残りの TTL がトリガー値を下回ったときに更新されます。eligibility と trigger の値は秒単位です。

たとえば、example.com の TTL が 60 秒 (つまり、レコードが取得されたときの TTL) であるとします。残りの TTL が 10 秒を下回った場合にエントリが更新されるようにします。以下は、構成ファイルのプリフェッチ オプションです。

prefetch 10 60

参考文献:https://kb.isc.org/article/AA-01122/0

答え2

いいえ、ありません。キャッシュは、後でより速くアクセスできるように、エントリが初めてアクセスされたときに自動的に「記録」するように設計されています。説明されているようにエントリを「事前にキャッシュ」しても、パフォーマンスは向上しません。

関連情報