2016年12月15日木曜日

Bind9、再起問合せのデフォルト値


Bind9.4.1-P1から再起問い合わせの回りの基本設定が変わっているようです。
allow-queryがらみの仕様変更が原因のようです。

問題なのは allow-query-cache:「キャシュした情報をどのアドレス範囲に提供するか」です。
ディフォルトだと「localnets localhost」です。他のDNSへ問い合わせた結果は普通キャシュされているので、それが使えず返答できなくなります。

しかもこのallow-query-cacheの値がallow-recursion:「再起問い合わせをどのアドレス範囲に提供するか」のディフォルト値になっているので、localnets以外からの再起問い合わせも失敗することになって、はまりました。
以前は、ディフォルト値がallow-queryの値で「any」でしたか?


allow-query:
デフォルト値→{ any; }

allow-query-cache:
デフォルト値→{ localnets; localhost; };
ただし、設定されていなければ、"allow-recursion"の設定が適用される。
"allow-recursion"が設定されていなければ、"allow-query"の設定が適用される。
"allow-query"も設定されていなければ、デフォルト値が適用される。

allow-recursion:
デフォルト値→{ localnets; localhost; };
ただし、設定されていなければ、"allow-query-cache"の設定が適用される。
"allow-query-cache"が設定されていなければ、"allow-query"の設定が適用される。
"allow-query"も設定されていなければ、デフォルト値が適用される。

ここでいう設定とは、named.conf上に明記されていなければ、との解釈かなと思います。

つまり、特に明記しなければ、下記の設定値となるということになります。

allow-query { any; }
allow-query-cache { localnets; localhost; };
allow-recursion { localnets; localhost; };

下記確認事項

■named.confにそれぞれの設定を明記しない場合
 ・自ゾーンに対するquery → OK
 ・再起問い合わせ → 同一セグメントから:OK
           それ以外から:NG

■named.confにallow-query { any; }を明記した場合
 ・自ゾーンに対するquery → OK
 ・再起問い合わせ → OK

■named.confにallow-query { none; }を明記した場合
 ・自ゾーンに対するquery → NG
 ・再起問い合わせ → NG

■named.confにallow-query { none; } 及びallow-recursion { any; };を明記した場合
 ・自ゾーンに対するquery → NG
 ・再起問い合わせ → OK

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。