Q

Active Directory環境で,一部のクライアントに「ログオンが非常に遅い」「グループ・ポリシー・オブジェクト(GPO)がうまく適用できない」「ログオン・スクリプトが実行されない」といった,低速回線で接続した場合に類似したログオン時の障害が発生しています。

 調査したところ,サーバーと同一のIPサブネット上にあるマシンでは,この問題は発生していないことが分かりました。しかし,障害が発生するクライアントとサーバーの間は,ファイアウオール経由とはいえ100Mビット/秒のLANで接続されています。

 原因を探るため,すべてのTCPポートを開放しても事象は改善しません。DNS(Domain Name System)の設定は試験マシンも運用マシンも同一になっており,DNSのクエリーは正しく解決することも確認済みです。なぜ,問題が発生するのでしょう。

A

サーバーと同一のサブネット上にあるマシンでは事象が発生していないことなどを勘案すると,原因としてActive Directoryが対象クライアントとの接続を誤って認識していることが考えられます。

 Active Directoryでは,クライアントの起動時にGPO配布元のドメイン・コントローラ(DC)に対してICMPパケットを送出し,その平均応答時間を計測して,接続している回線を判断しています。ICMPのパケットはpingコマンドで送出されるパケットと基本的に同一で,マシン間の到達性を確認する際などに用いられます。

 この計測値を計算式に当てはめて算出した帯域が500kビット/秒以下のときに低速回線であると判断されます(デフォルト設定の場合)。詳細な算出ロジックについては,「Windows 2000 Serverリソースキット 4 分散システムガイド(下)」の「22.8.4 グループポリシーとネットワーク帯域幅」などを参照してください。

 現象が発生しているネットワークでは,恐らくセキュリティ強化のためICMPパケットをファイアウオールなどでフィルタリングしているものと思われます。この場合,ICMPパケットがタイムアウトしてしまうため,その分だけログオン処理が遅延するだけでなく,低速回線と判断されてGPOが一部しか適用されない,といった現象が発生します。具体的には,ソフトウエアのインストールやスクリプト,フォルダのリダイレクト,Internet Explorerのメンテナンスといった項目に関するGPOでの設定が,低速回線では無効になります。

 クライアントとサーバーの間にファイアウオールを配置している場合は,基本的にICMPパケットを通過させる設定にすれば問題は解決します。

低速回線の検出を無視する設定も
 「低速回線の検出」は帯域幅を基に算出しているため,状況によって低速回線が検出されたりされなかったりという事象が発生する可能性もあります。もちろん,セキュリティ・ポリシー上,ICMPのフィルタリングを解除できないケースもあると思います。

 こうした場合でも確実にGPOを適用したい際には,低速回線の検出を無効にするか,もしくは必要なGPOについて低速回線検出時も処理するように設定したほうがよいでしょう。


△ 図をクリックすると拡大されます
図1●低速回線の検出を無効にするには[グループポリシーの低速リンクの検出]ポリシーを[無効]に構成する

 検出を無効にするには,GPOにある[グループポリシーの低速リンクの検出]ポリシーを[無効]に構成してドメイン全体か適切なサイトまたはOUに適用します(図1)。ポリシーごとに制御するには,各ポリシーの[低速回線接続からの処理を許可する]をチェックしてください(図2)。

高橋基信

図2●ポリシーごとに制御するには各ポリシーの設定画面にある[低速回線接続からの処理を許可する]をチェックする