Windows 2000ネットワーク解剖
>
サイトの分割とログオンの挙動
Windows NT 4.0クライアントのトレースとその考察
引き続き,サイトを構成したActive DirectoryドメインにWindows NT 4.0クライアントからログオンしたトレースを示す。Windows NT 4.0クライアントは,PC98-D.active.dsl.local.というホスト名である。このクライアントのIPアドレスは192.168.2.13で,Another-Siteに属している。なお,lily(192.168.1.1)はDNSサーバーとしてだけではなく,WINSサーバーとしても動作しており,クライアント側にはWINSサーバーとしてlilyを指定している。List 4は,active.dsl.local.ドメインに実際にログオンしたときのトレースである。トレースの一部は省略および編集されているので,ご了承いただきたい。
Windows NT 4.0クライアントは,最初にドメインACTIVEのドメインマスタブラウザを探索している。それに対する応答(2番目のパケット)で,ドメインマスタブラウザがlilyであることがわかる。そのあと,3番目と4番目のパケットで,PDCのコンピュータ名がlilyであるという応答を受け取っている。さらにSMBで通信したあと,20番目のパケットでは,「ACTIVE <1C>」というNetBIOS名を登録したコンピュータ名の一覧を取得している。クライアントは,そのなかからlilyを選択し,ログオンプロセスを続行している。
先述したとおり,Windows 2000のドメインコントローラは,Windows NTドメインにおけるPDCの機能をエミュレーションし,Windows NTドメインベースのクライアントに対して認証などのサービスを提供している。しかし,Windows 2000のドメインコントローラのすべてがPDCエミュレータの役割を担っているわけではない。ドメイン内で1台のドメインコントローラのみが,PDCエミュレータの役割を担う。このサンプル環境では,ドメインコントローラlilyがPDCエミュレータである。
[2002/01/17]の訂正以下の文中では、「Windows NT 4.0クライアントはPDCエミュレータとなっているWindows 2000のドメインコントローラでなければ認証されない」と記述しています。しかし、この点について読者から誤りであるとの指摘がありました。
実際にWindows 2000のドメインコントローラ2台とWindows NT 4.0(SP6a)を使用し、再度検証してみたところ,指摘のとおり、PDCエミュレータとなっているWindows 2000ドメインコントローラがダウンした状態でも、Windows NT 4.0クライアントからドメインにログオンできました。
したがって、下記の記述内容は誤りとなります。以下のとおり,訂正させていただくとともに,記述に関して誤りがあったことを読者の皆様にお詫びさせていただきます。
「Windows 2000のドメインコントローラは、PDCエミュレータであるかどうかにかかわらず、Windows 2000やWindows NT 4.0のクライアントに対して認証サービスを提供する。ただし、Windows NT 4.0クライアントを使用する場合には,次の2点に注意する必要がある。(1)パスワードの変更が発生した場合は,PDCエミュレータに対して要求すること、(2)サイトを認識できないために、ネットワーク的に近いドメインコントローラで認証するとは限らないこと−−である。このうち(2)については、Active Directoryクライアントを導入することにより、サイトを認識可能になり、注意点を改善できる。」
なお,Windows 2000のリソースキット「Chapter 2 - Active Directory Data Storage」のWindows 2000 SAM Storageには、Windows 2000のドメインコントローラがWindows NT 4.0クライアントに対し認証サービスを提供する旨の記述があります。
lily以外のWindows 2000のドメインコントローラは,Windows NTドメインにおけるBDCの役割を担わないので,Windows NTなどのダウンレベルクライアントに対して認証などのサービスを提供することはない。そのため,本来であれば,「ACTIVE <1C>」というNetBIOS名を登録するのは,PDCエミュレータであるlilyのみでよいはずである。しかし現実には,すべてのドメインコントローラが「ACTIVE <1C>」というNetBIOS名を登録している。そこで,LMHOSTSファイルを利用して,本当にPDCエミュレータ以外のドメインコントローラではログオンできないのかを検証してみることにした。
Windows NT 4.0では,LMHOSTSファイル中で#PREを伴って記述されたレコードは,起動時にキャッシュされる。キャッシュされたレコードは最初に利用されるため,LMHOSTSファイルでドメインコントローラの情報をキャッシュさせれば,そのドメインコントローラを強制的にログオン先として使用できることになる。ここでは,同一ドメイン,同一ネットワーク上に存在するドメインコントローラを強制的にログオン先とするべく,クライアントのLMHOSTSファイルに次のように記述した。
192.168.1.22 W2K-1 #PRE #DOM:ACTIVE
実際にクライアントからログオンを試みてみると,エラーが表示されてログオンに失敗した。このとき採取されたトレースは,List 5のとおりである。
つまり,Windows 2000のドメインコントローラのみが存在する環境では,サイトが構成されているかどうかにかかわらず,Windows NT 4.0などのダウンレベルクライアントは,必ずPDCエミュレータの役割を担ったドメインコントローラに接続しなければならない。複数のネットワークが存在しているときにサイトを構築する場合,Windows NTなどのダウンレベルクライアントが含まれているサイトにはWindows NTのBDCを用意しなければ,必ずPDCエミュレータへの接続が発生してしまう。この点には,十分注意してもらいたい。
織田 薫(熊野 大介,Bridge Metaware)
参考文献
| 12/12 |
