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