|
Windowsネットワークのブラウジング問題の解明
●1. ブラウジングの仕組みと設定●「ネットワーク・コンピュータ一覧」とも呼ばれる「ブラウジング機能」は、マイクロソフト・ネットワークの中でも難解な技術の一つです。Samba 開発チームはWindows NTの動作を詳細に解析した上で、この機能を十分に理解し、柔軟性を持った運用ができるようにSamba を作っています。ただ、Windows NTとの相互運用性は全く問題ないのですが、Windows95/98との併用については、Windows95/98の機能不足や動作不良のためにユーザーが悩み苦しみ、一部のユーザーはSambaの不具合でないかと誤解する者もいます。 ここでは、このブラウジング機能について、具体例を挙げながら解説します。 <1.1 サーバー一覧を表示するブラウジングの仕組み>まず、最初に基本事項を確認しましょう。 「ブラウジング」とは、ネットワーク・コンピュータ(ここではサーバーと呼ぶ)一覧を表示させることです。注意してほしいのは共有名(共有フォルダ名や共有プリンタ名)の表示はブラウジングではないということです(図1)。 そして今回取り上げる「ブラウジング問題」とは、以下のような現象を指します。
これらの原因はWindows NTやSambaのバグであることはほとんどなく、設定ミスが大多数を占めます。しかし、Windowsは(ほぼ)自動設定なのに対して,Sambaは柔軟な設定ができるためにSambaの不具合であると誤解する方がいます。また、ネットワーク上にWindows9xがある場合は、その仕様の制限が原因で難解な現象になることがよくあります。 ブラウジングの仕組みは以下の通りです。
図1 ブラウジングの意味 <1.2 ブラウズ・リストを提供するマスター・ブラウザ>クライアントはLMBからブラウズ・リストを取得し,サーバーを一覧表示します。このときのブラウズ・リストの内容は以下の通りです。
ブラウズ・リストには(1)各サーバーのIP アドレス,(2)各サーバーの共有名は含まれていません。 このような情報を記録しているブラウズ・リストを保持しているサーバーをマスター・ブラウザと呼びます。マスター・ブラウザにはLMB(ローカル・マスター・ブラウザ)とDMB(ドメイン・マスター・ブラウザ)の2 種類があり,以下の特徴があります(表1)。
表1 WINSサービスとマスター・ブラウザ OSの種別によって、提供する機能やコンポーネントが異なる。
<1.3 ドメイン/ワークグループとブラウズ・リスト交換の仕組み>Windowsドメイン/ワークグループは、認証時とブラウジング時とで役割や動作が異なります。まず、Windowsドメインは、ネットワーク・セグメントを越えて構成できます。つまり、ドメイン構成を採ったときは、セグメントを越えていてもサーバー名のブラウジングが可能です。ただし、各セグメントにLMBが必/要で、ドメイン内に1つだけDMBが存在しなければなりません(各LMB がドメインに参加している必要はありません)。 これに対してワークグループ構成を採った場合は、セグメントを越えて構成することはでません。つまり,セグメントを越えたブラウジングはできなくなります。なぜなら、ワークグループの場合には、各セグメントにLMBを設置でき各セグメント内のブラウズ・リストを作成することはできますが,LMB同士はブラウズ・リストを交換しないためです。ブラウズ・リストを交換するのは、LMBとDMBとの間だけになります(後述)。従って、もし、ワークグループ内にDMBを設置できれば、ワークグループ構成でもセグメントを越えてブラウジング可能になります。SambaにはDMB機能があるので、各セグメントにSambaを設置すれば、セグメントを越えてブラウジングが可能なワークグループを構成できます。 Windowsだけの場合は、DMBになれるのはPDCになっているWindows NT/2000 Serverだけなので、必然的にドメイン構成になります。 セグメントをまたがったブラウジングが正しく機能するには、DMBと各セグメントのLMBがブラウズ・リストを交換しあう必要があります。このときの仕組みは以下の通りです。
このとき,ワークグループにはDMBが存在しないので、セグメントを越えてリスト交換できません(SambaのRemoteAnnounce機能を使えば可能)。また、Windowsドメイン間では、ドメイン間の信頼関係を結ぶとリストにドメイン名が載ります。 ブラウズ・リストの交換時には以下のような制限があります。 ブラウズ・リストを交換できないとブラウジングできません。
そのほかにも制限があるため、Windows NT/2000が同一セグメントに存在する場合は、Windows9x/Me をLMBにするべきではありません。 <1.4 名前解決とブラウジング>ブラウジングとWindowsの名前解決は密接な関係がありますが、名前解決とブラウジングの機能を混同してはいけません。ここで、名前解決とは、「コンピュータ名とIP アドレスを結びつける仕組み」で、WindowsにはWinSockとNBT(NetBIOS over TCP/IP)の2つの名前解決方法があります。 WinSock による名前解決は、telnet,ftp,ping,rsh,lprの各コマンドなどで使用される方法で、通常hostsファイル→DNS→WINS→ブロードキャストの順で試されます。 Linuxでpingコマンド実行時の名前解決手順と比べると、WINSとブロードキャストを試す点が大きな違いです。 一方、NBTによる名前解決は、ファイル/プリンタ共有,netコマンド,nbtstatコマンドなどで使われる。Linux には存在しない方法です。通常、WINS→ブロードキャスト→LMHOSTSファイルの順に調べられます。NBTによる名前解決に失敗した場合は、WinSockでの名前解決を使用することも,設定によっては可能です。また、Samba では、名前解決順序を自由に設定可能です(name resolve order オプションに指定する)。 Windowsにおける名前解決の手順を図2に示します。 以上のような名前解決とブラウジングとは異なる機能であり,以下のことに注意してください。
図2 Windowsにおける名前解決の手順 <1.5 マスター・ブラウザ選定の順序と確認>ここで、どのサーバーがマスター・ブラウザになるのか、その選定手順について説明します。同一セグメントの中で、以下に述べる優先順位が一番高いマシンがマスター・ブラウザになります。 まず、WindowsではOSの種別によって、優先順位が決まっています。
の順です。 Windows9x/Meには、「Microsoftネットワーク共有サービス」を組み込み、「詳細設定」の「ブラウズマスター」を「有効」か「自動」にする必要があります(標準で「自動」になっています)。 Sambaの場合は、smb.conf(Sambaの設定ファイル)のos levelパラメータで優先順位を指定します。Windows NT Server(32)より大きくしたり、Windows9x(1)より小さくするなど自由に設定可能です。 マスター・ブラウザは、Windowsのnbtstatコマンドを使って探すことができます(図3)。 nbtstatコマンドを実行した結果、..__MSBROWSE__.<01>と表示されれば、マスター・ブラウザであり、<1D>のエントリがあればLMB,<1B>のエントリがあればDMBであるということです。
Windowsからはnbtstatコマンドを使う。 |