- - PR -
BIND(Windows版)の"allow-query"の挙動について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-02-14 13:48
Windows版の質問になってしまいますが、件名についてご教授ください。
BIND9.4.2(Windows版)を用いてキャッシュサーバのテストを しているのですが、"allow-query"の設定が解らなくなって しまいました。(私が知らないだけでしたら、すみません。) named.confファイルは下記の通りです。 -----<named.conf>ここから---------- options { directory "C:\\\\windows\\\\system32\\\\dns\\\\etc"; }; zone "." in { type hint; file "named.root"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "0.0.127.in-addr.arpa.zone"; }; logging { channel "default-log" { file "C:\\\\windows\\\\system32\\\\dns\\\\log\\\\default.log" versions 5 size 10m; severity debug; print-time yes; print-severity yes; print-category yes; }; category default { "default-log"; }; }; -----<named.conf>ここまで---------- この状態でクライアントからnslookupでクエリーを投げると 「Query refused」となってしまいます。 ちなみに、BINDが動作しているサーバ上からは名前解決ができます。 BINDには以下のログが記録されており、アクセスが拒否されてしまいます。 14-2-2008 13:06:10.886 security: info: client 172.xx.xx.29#56615: query (cache) 'www.yahoo.co.jp/A/IN' denied そこで試しにOptionsステートメントに"allow-query { any; };"を 記載して再度クエリーを投げてみると、応答が帰ってきます。 ちなみにBINDのログには下記が記録されていました。 14-2-2008 13:32:00.668 resolver: debug 1: createfetch: ns1.google.com A 14-2-2008 13:32:00.668 resolver: debug 1: createfetch: ns2.google.com A 14-2-2008 13:32:00.668 resolver: debug 1: createfetch: ns3.google.com A 14-2-2008 13:32:00.668 resolver: debug 1: createfetch: ns4.google.com A 14-2-2008 13:32:01.511 resolver: debug 1: createfetch: www.google.com A 14-2-2008 13:32:01.793 resolver: debug 1: createfetch: www.l.google.com A BINDでは、"allow-query { any; };"がデフォルト値だと思っていたのですが、 Windows版においては、拒否がデフォルト値であったりするのでしょうか。 以上、よろしくお願いします。 | ||||
|
投稿日時: 2008-02-14 16:39
デフォルト値は変わっていないみたいですが allow-query-cacheって設定項目が出来てから挙動がややこしいようです。 文字化けしますが↓が参考になります。 http://ml.gentoo.gr.jp/users/200708.month/2040.html 9.4.1-P1あたりを調べれば情報がありそうです。 _________________ 桃李不言 下自成蹊 | ||||
|
投稿日時: 2008-02-15 12:04
anightsさん 情報ありがとうございます。 allow-query-cacheをヒントにというか、BIND9のマニュアルを調べてみました。 (はじめからそうすればよかったのですが、、、すみません。) 調べた限りでは、BIND9における"allow-query"周辺の設定値は以下のようです。 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; }; ここまできて、queryとrecursionがごっちゃになっていたのでは、と思い もう一度試してみました。 ■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 ご参考までに、こんな感じになりした。 大変勉強になりました。どうもありがとうございました。 |
1