bind9 をキャッシュ サーバーとして機能するように設定し、正常に動作しています。ただし、キャッシュの保持期間を設定しようとしています。キャッシュ期間やその設定方法に関する情報が見つかりません。
DNS キャッシュの保持期間をどのように設定すればよいですか? 保持期間を延長することが目的です。
答え1
bind9は、各DNSレコードの一部として指定された有効期限(TTL)値を使用して、キャッシュする期間を決定します。これはDNS標準で要求されていることです。bindでこれを上書きする簡単な方法はないようで、アップストリームがそれを変更する可能性は低いです。それは一般的に悪い考えだから。
1 つのオプションは、Debian バージョンの bind9 を実行することです。Debian では、min-cache-ttl
オプションを追加するためのパッチが適用されています。
Debianを使用していない場合は、ServerfaultのOmniWiredがソースコードを入手してis_expired
関数を編集するキャッシュ動作を変更します。彼の例では、return 1
(期限切れ) をreturn 0
(期限切れではない) に変更するだけです。明らかに、より複雑なものを実装するには C プログラミングの知識が必要になります。
C言語の知識があれば、Debian の min-cache-ttl パッチ。
もう一つの選択肢はバインドされていない DNS サーバーcache-min-ttl
低すぎる TTL を上書きするディレクティブがあります。