|
BIND9.4.2 ではまった。
BIND8系の named.conf をコピーしたところリモートネットワークからのクエリを拒否してしまいました。
いろいろ調べてみると、9.4.1-P1以降のBINDからデフォルト設定での挙動が変わったようです。 |
|
デフォルト設定(未設定)
1.allow-query { any; };
2.allow-query-cache { localnets; localhost; };
3.allow-recursion { localnets; localhost; };
|
|
1.デフォルト値は "any" であるが、"any"を記述した場合と記述しな場合で挙動が変わる。
2.設定しない場合、allow-recursion の設定を適応。
allow-recursion が未設定の場合、allow-query の設定を適応。
allow-query が未設定の場合、デフォルト値を適応。
3.設定しない場合、allow-query-cache の設定を適応。
allow-query-cache が未設定の場合、allow-query の設定を適応。
allow-query が未設定の場合、デフォルト値を適応。
|
|
未設定時の挙動はネームサーバ自身とネームサーバと同一サブネット内にあるリゾルバからのクエリに対してのみ応答する。 古いBINDから named.conf を移植する場合は要注意!
ちなみに、デフォルト値と同じ値(any)を allow-query に設定し、allow-query-cache と allow-recursion
を設定しない場合は以下の設定となり、未設定の場合と挙動が異なる。
allow-query { any; }; ←この行のみを named.conf に明示的に設定
allow-query { any; }; ←明示的に記述
allow-query-cache { any; }; ←allow-recursion が未設定の為、allow-query の設定を適応
allow-recursion { anyt; }; ←allow-query-cache が未設定の為、allow-query の設定を適応
これでは、すべてのクエリーに応答してしまいますね。 |
|
|