BIND9.11について聞きたいこと(事前質問)
本日のMukund Sivaramanさんからの発表をよりよく理解できるように、事前にいくつか質問をしてみました。以下、質問事項と回答(およびその超訳)です。回答いただいたMukundさんおよびCathyさんに感謝します。
SERVFAIL caching This feature is useful to avoid overloading an authoritative server that is already SERVFAIL'ing. servfail-ttl is the config option used to set the duration that a SERVFAIL response is cached. The default was initially considered as 10 seconds but was finalized to 1 second. A 0 setting turns off the SERVFAIL cache. SERVFAIL cachingこれは既にSERVFAILを返した権威サーバに繰り返し負荷をかけないための有用な機能です。servfail-ttlはSERVFAIL応答をキャッシュする期間を設定するオプションで、デフォルトは1秒です(最初は10秒を考えていましたが)。A 0を設定するとSERVFAIL応答キャッシュを無効にします。
Questions to BIND 9.11 new features
Why fetches-per-server and fetches-per-zone are enabled by default? My colleague Cathy wrote a reply to this question: They're not enabled by default – the default value is zero, which disables both of these. If the question is "why aren't they enabled by default?" then it's because they are an optional feature and unless there is a compelling reason to change BIND's default behaviour, we generally don't - particularly when this might result in some client queries being dropped or SERVFAILed.
BIND9.11新機能への質問
どうしてfetches-per-serverとfetches-per-zoneはデフォルトで有効になったのですか？同僚のCathyさんが答えてくれました。それらはデフォルトでは有効になっていません。デフォルト値は、それらを無効にする値であるのになっています。質問の意図が「なぜデフォルトで有効になっていないのですか？」ということであれば、それはオプション機能だからです。BINDのデフォルトの挙動を変更するには相応の理由が必要で、通常ISCは変更しません。特に、クライアントからのクエリが落とされたりSERVFAILになるような場合は。 What is the expected use case of DynDB? There is an "object-oriented" interface (in C) called dns_db in libdns library. It is a database abstraction layer which is used to store and query the data corresponding to a zone and also the data corresponding to a cache. BIND uses something called an RBTDB (Red Black Tree DataBase – which actually is a Red Black Forest) to store zones and cache in memory which is a dns_db interface implementation. So far, the only dns_db implementations supported were statically linked ones such as RBTDB, but we got requests to make this interface reusable so that other backends could be written for this dns_db interface for storing zone data.
We do not currently ship any dns_db implementations (called DynDB drivers) with BIND, but we hope that others will contribute drivers for various databases, etc. We know of 3rd parties that use DynDB to serve zone data from an LDAP backend (which is why this feature was added). You can find some more information about this feature here: https://kb.isc.org/article/AA-01420/0/What-is-dyndb-and-how- is-it-better-than-DLZ.html Will nsec/nsec3 aggressive use be implemented in BIND9.11? For now, it is planned to be implemented as part of the 9.12 development cycle. As this is a very important feature that users are looking to deploy quickly, we may backport it to the 9.11 and 9.10 branches when it is ready.
これはdns_dbと呼ばれるオブジェクト指向のインターフェース(C言語)で、libdnsライブラリに含まれます。データベースの抽象化層で、ゾー |ンやキャッシュに関連するデータを格納したり参照したりするのに使BINDはゾーンやキャッシュをメモリへ格納するためにRBTDB(Red Black Tree DataBase;赤黒木データベース)と呼ばれるものを使っており、dns_dbはそのインターフェースの実装です。これまで、dns_db実装のみがRBTDBに静的にリンクされていましたが、このインターフェースを再利用可能にして欲しいという要望がISCに寄せられました。dns_dbインターフェースを通じて別のバックエンドにゾーンデータを格納できるようにして欲しいということです。
ISCは、DynDBでLDAPバックエンドを使う第三者を知っています（そしてそれがこの機能追加の理由です)。この機能については、さらに以下を参照してください。 https://kb.isc.org/article/AA-01420/0/What-is-dyndb-and-how- is-it-better-than-DLZ.html nsec/nsec3 aggressive useはBIND9.11に実装されますか？今のところそれは9.12の開発サイクルの中で実装することを計画しています。しかし、ユーザが早く利用したいと望んでいるとても重要な機能であるため、9.12で準備ができ次第、9.11および9.10にも取り込むつもりです。