キャッシュ専用バインディング9でTTLをオーバーライドする方法は?

キャッシュ専用バインディング9でTTLをオーバーライドする方法は?

これにはキャッシュ専用のDNSがあります。平均ネットワーク待ち時間を減らすために、キャッシュされたレコードのTTLフィールドをオーバーライドしたいと思います。

理想的には、SOAデータをオーバーライドする構成のどこかにTTLを設定できます。

これは可能ですか?

そうでない場合:バインド9より前に必要な機能を備えたプロキシDNSを配置する(または完全に切り替えること)も、実行可能なソリューションになる可能性があるため、答えが許可されます。

PS私は確かにこれが悪い解決策であることを認めています。しかし、すべてのルールには例外があり、これがその1つです。私のネットワークの詳細ではなく、実際の質問に集中してください。

答え1

BINDが答えの最小TTL変更をグローバルに許可するかどうかは不明であり、この答えはソースコードをパッチする以外は信頼できません。

この記事では、いくつかのヒントを提供します。https://serverfault.com/questions/113954/how-can-i-override-ttl-of-an-internet-address

ただし、BINDの代わりにこれらのいずれかを使用することも、BINDのDNSフォワーダとして使用することもできますdnsmasqUnbound

dnsmasq

--min-cache-ttl=短いTTL値をキャッシュするときに指定された時間まで拡張します。 TTL値を人為的に拡張することは一般的に悪い考えであり、妥当な理由があり、何が行われているのかを知らない限り、実行しないでください。 Dnsmasqは、再コンパイルしない限り、このオプションの値を1時間に制限します。

拘束されない

  cache-min-ttl: <seconds>
          Time  to  live  minimum  for  RRsets  and messages in the cache.
          Default is 0.  If the minimum kicks in, the data is  cached  for
          longer than the domain owner intended, and thus less queries are
          made to look up the data.  Zero makes sure the data in the cache
          is  as the domain owner intended, higher values, especially more
          than an hour or so, can lead to trouble as the data in the cache
          does not match up with the actual data any more.

関連情報