転送領域でのみ Bind9 キャッシュを減らす

転送領域でのみ Bind9 キャッシュを減らす

Bind9を実行するキャッシュ再帰DNSサーバーがあります。単一のローカルゾーンでは、type forwardフォワーダを使用して設定しましたが、forward onlyうまく機能しました。転送領域のキャッシュを5秒(肯定的および否定的な応答)に制限したいと思います。私が渡すサーバーはローカルで操作できず、残念ながら動的に生成されるレコードのキャッシュされたTTLなどの有用な値が少なくなります(本質的にはすべてのキャッシュ検証者であると仮定します)。

私が知っている限り、私はそれを使用して保存し、グローバルmax-cache-ttlにもビューにも適用します。max-ncache-ttlmax-cache-ttlmax-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値を信頼せず、パーサーがデータを頻繁に照会するように強制したい場合は、低く設定できます。

おすすめ記事