Bind9を実行するキャッシュ再帰DNSサーバーがあります。単一のローカルゾーンでは、type forward
フォワーダを使用して設定しましたが、forward only
うまく機能しました。転送領域のキャッシュを5秒(肯定的および否定的な応答)に制限したいと思います。私が渡すサーバーはローカルで操作できず、残念ながら動的に生成されるレコードのキャッシュされたTTLなどの有用な値が少なくなります(本質的にはすべてのキャッシュ検証者であると仮定します)。
私が知っている限り、私はそれを使用して保存し、グローバルmax-cache-ttl
にもビューにも適用します。max-ncache-ttl
max-cache-ttl
max-ncache-ttl
私の設定は次のとおりです。
zone "example.local." {
type forward;
forward only;
// max-cache-ttl 5; <--- does not work here
// max-ncache-ttl 5; <--- does not work here
forwarders {
192.200.1.10; // on same LAN
};
};
理想的にはキャッシュをオフにしたくありません。完全しかし、それが私ができる唯一のことであれば、それは選択肢になるでしょう。
どんなアイデアがありますか?
答え1
構成だけでは、これを行う簡単な方法はないと思います。この問題サーバーエラーに関する長所と短所を議論し、BINDソースパッチを含む推奨事項を提示します(ただし、パッチは単一のゾーンに対してのみこれを実行できません)。
もう1つの方法は、転送するサーバーからゾーンを転送し、TTLを変更してから、そのゾーンに対する権限を付与するようにローカルBINDを構成することです。はい、ハッキングですが、スクリプトを書くのは簡単で動作します。
BINDをバインドしない場合は、必要な操作を次のように実行できます。拘束されない- よりcache-max-ttl
オプション:
キャッシュ内のRRsetとメッセージの最大寿命。デフォルトは86400秒(1日)です。最大値に達すると、クライアントへの応答は元の(より大きい)値に基づいてTTLが減少し続けます。内部 TTL が期限切れになると、キャッシュエントリは期限切れになります。 (非常に大きい)TTL値を信頼せず、パーサーがデータを頻繁に照会するように強制したい場合は、低く設定できます。