Server 2008 でwpadが参照できない

別エントリで,wpadに関するネタを書きました。

ドメインコントローラーをWindows Server 2003から2008 R2にリプレイスしました。そうしたら,「設定を自動的に検出する」と設定している多くのPCでインターネットに接続できないトラブルが発生しました。なぜこんなことが起きたのか調べてみると...

ドメインコントローラーは当然DNSを兼ねています。そのDNSでwpadを引いてみると,そのDNSから結果が返ってこないのです。フォワーダにしてあるDNSにもwpadのレコードがあったため,そちらのサーバーから返ってきたFQDNが返ってきています。試しにドメインのサフィックスをつけてnslookupでDNSを引いてみると,「レコードがない」とのお返事です。でもDNSサーバーのレコードを見てみるとwpadというレコードはあります。

なぜ,アドレスが返ってこないんだろう。

いろいろ試行錯誤しても理由がわかりませんでしたが,DNSのイベントログを見てみると

グローバル クエリ禁止リストは、特定のホスト名の DNS クエリをブロックすることにより、ネットワーク
への攻撃を防止する機能です。この機能によって、この DNS 名のデータが DNS データベースに存在するに
もかかわらず、DNS サーバーによる wpad.hoge.local. のクエリがエラー コード NAME ERROR で失敗しま
した。ローカルの権威あるすべてのゾーンで、この禁止リストのラベルで始まる他の名前のクエリも失敗し
ますが、このコンピューターの DNS サーバー サービスが再開されるまでは、他のクエリがブロックされて
もイベントは記録されません。この機能の詳細と構成方法については、製品のドキュメントを参照してくだ
さい。

というのがありました。これだと思い。「グローバル クエリ禁止リスト」をググってみてわかりました。

Windows Server 2008 では,wpadに対する問い合わせを拒否するのがデフォルトになっているのです。なんじゃそら。では,これを解除してwpadへのお返事をちゃんとさせるには,次のようにします。

1. Server上で,コマンドプロンプトを「管理者として実行」します。

2. 禁止リストの一覧を見てみます。リストの中にwpadが入っています。

C:\dnscmd localhost /info /globalqueryblocklist

クエリ結果:
文字列:  wpad
文字列:  isatap

3. 禁止リストからwpadをはずしたものを再設定します。ここではisatapを残すように指定しています。

C:\dnscmd localhost /config /globalqueryblocklist isatap

以上で,wpadが引けるようになりました。グローバル クエリ禁止リスト自体を無効にすることもできるようです。

参考サイト

 

トラックバック


URL から "-MoIyadayo" を削除してトラックバックを送信してください。
トラックバックは承認後に表示されます。