TCP/IP および LMHOSTS ファイルを使用したドメイン ブラウジング

文書番号: 150800 - 対象製品
この記事は、以前は次の ID で公開されていました: JP150800
すべて展開する | すべて折りたたむ

目次

概要

ルーターと複数のセグメントを含む TCP/IP ベースのネットワークでは、名前解決とブラウジング サポートのために WINS を実装することが一般に推奨されています。ただし、後でこの資料で説明するような制限はありますが、すべてのコンピュータで WINS を使用せずに LMHOSTS ファイルのみを使用しても、完全なドメイン ブラウジングを行うことができます。

いずれの方法でも、クライアントでドメイン名と同じワークグループ名 (ワークグループ名 = ドメイン名) が使用されている場合に限り、クライアントがドメイン ブラウジングに参加できることに注意する必要があります。Windows NT コンピュータは、ワークグループに参加しなくても、ドメインに "参加" することでドメイン ブラウジング機能を使用できます。

マイクロソフトでは、LMHOSTS ベースのドメイン ブラウジング (ルーター経由) 機能について正式な文書化およびテストを実施していません。また、クライアントおよびサーバーのオペレーティング システムの今後のバージョンでは使用できない可能性もあります。この資料に記載されている情報は慎重に使用する必要があります。

詳細

Microsoft ネットワークにおける "ブラウジング" は、1 台または複数台のコンピュータで行われる分散サービスと考えます。各コンピュータはブラウザの役割を担うことができますが、この資料では、次に示す 2 つの重要な機能に説明を絞ります。

  • セグメント マスタ ブラウザ (SegMB) : この機能は、Windows NT Server、Workstation、またはドメイン コントローラのいずれにも割り当てることができます。また、Windows 95 または Windows for Workgroups 3.11 コンピュータにも割り当てることができます。SegMB によって、ローカル セグメント上のコンピュータの参照リストが保持され、そのリストがドメイン マスタ ブラウザに転送されて、ドメイン マスタ ブラウザにドメイン参照リストが要求されます。SegMB によって、ドメインのリストがローカルのリストと結合され、そのリストを要求するすべてのローカル クライアントがリストを利用できるようになります。
  • ドメイン マスタ ブラウザ (DomMB) : DomMB は、Windows NT プライマリ ドメイン コントローラ (PDC) のことです。SegMB と同様、DomMB によって、ローカル セグメント上で参照リストが保持され、同じドメイン名 (またはワークグループ名 = ドメイン名) を持つ別の (リモート) セグメント マスタ ブラウザから参照リストが収集されます。DomMB によって、収集されたリストがローカルのリストと結合され、結合されたリストがすべてのリモートの SegMB に再配布されます。つまり、DomMB は、ドメイン全体の参照リストを保持する集中ハブといえます。
: Windows for Workgroups ブラウザには最新のファイルが必要です。

詳細については、以下の「サポート技術情報」 (Microsoft Knowledge Base) を参照してください。
102878 ブラウザ オペレーションに関する情報
この分散ブラウズ サービスを機能させるには、SegMB で DomMB を正確に特定するための手段が必要です。SegMB では、NetBIOS 名 "Domain<1b>" を登録したコンピュータを探すことで DomMB を特定します。それは、(上記のように DomMB でもある) PDC のみがこの名前で登録されるためです。

詳細については、以下の「サポート技術情報」 (Microsoft Knowledge Base) を参照してください。
119495 WINS サービスに登録される名前の一覧

WINS を使用したドメイン ブラウジング

WINS 環境では、SegMB によって WINS が照会され、Domain<1b> を登録したコンピュータが特定されます。この場合、WINS は、名前解決のための情報を集中管理する便利なリソースとして機能します。WINS には、マルチドメイン ブラウジングというさらに役立つ機能があります。

WINS を使用したマルチドメイン ブラウジング

WINS を照会するように設定された PDC によって、データベースに登録されたすべてのドメインのリストが定期的に要求されます (ドメインは、データベースに登録された "Domain<1b>;" と、その名前を登録した PDC の関連付けられた IP アドレスで識別されます)。PDC によって、そのリストが自身のドメイン参照リストと結合されるため、PDC では、自身のドメイン内のコンピュータの完全なリストと、WAN 全体における他のドメインのリストが保持されることになります。PDC による SegMB との通信時に、この完全なリストが SegMB に渡されます。この効果については、ファイル マネージャまたはネットワーク コンピュータを使用してネットワークをブラウジングするとわかります。

: WINS がブラウジングに関連するのはここまでです。ブラウザ選択のプロセスや、クライアントによるローカルのセグメント マスタ ブラウザの特定、DomMB による SegMB の特定には関係しません。DomMB による SegMB の特定は、SegMB と DomMB との初回通信時に行われます。

ネットワークによっては、WINS を使用しても効果がない場合もあります。効果の有無は、ケースバイケースでのみ判断されます。このような場合、コンピュータ名の解決には LMHOSTS または DNS のいずれかを使用します。ただし、LMHOSTS はドメイン ブラウジングのみではなく、データベースのレプリケーションやドメインのセキュリティで保護されたチャネルなど、ドメイン管理上の問題解決にも必要です。

LMHOSTS を使用したドメイン ブラウジング

WINS を使用しない場合、すべてのドメイン コントローラを指定した特殊な LMHOSTS エントリが必要です。このエントリは、次の規則に従って指定します。
199.199.199.1  ComputerName   #PRE  #DOM:DomainName
					
コンピュータによって、コンピュータの起動時にこれらのエントリが読み取られ、電源が切れるまでエントリが NetBIOS 名キャッシュに出力され続けます (そのため、これらのエントリを LMHOSTS ファイルに最後に記述しておくと、LMHOSTS を解析するときに効率的です)。ドメイン内のすべてのコンピュータによって、ローカル ドメイン内のドメイン コントローラごとに、および PDC ごとにエントリが必要とされます。また、#PRE #DOM の記述順序と、大文字で記述することにも注意します。それ以外の名前では、大文字と小文字は区別されません。

Windows NT セグメント マスタ ブラウザ

Windows NT コンピュータの場合、上記のエントリを記述するのみで十分です。Windows NT コンピュータはセグメント マスタ ブラウザになると、#DOM:<localdomain> が指定されたすべての LMHOSTS エントリに対して (NetGetDcName API を使用して) 照会を送信し、PDC を特定します。この照会には PDC のみが応答します。次に、応答を受けた Windows NT コンピュータによって、自身がマスタ ブラウザであることが PDC に通知され、ドメイン参照リストの取得プロセスが継続されます。その後、PDC によって、その Windows NT コンピュータからローカル セグメントの参照リストが取得されます。このプロセスは、12 〜 15 分おきに繰り返されます。

Windows 95 および Windows for Workgroups セグメント マスタ ブラウザ

これらのプラットフォームでは、NetGetDcName API が実行されないため、PDC を指定するエントリが LMHOSTS ファイルには必要です。上記の例がドメインの PDC である場合、Windows 95 または Windows for Workgroups クライアント用に 2 つのエントリが必要です。
   199.199.199.1  controller1   #PRE  #DOM:domainname
   199.199.199.1  "domainname,,,,,\0x1b"  #PRE
1 行目の記述により、PDC はクライアント用のログオン ドメイン コントローラとして動作します。2 行目の記述により、クライアントのブラウザ サービスで PDC を明示的に検出できるようになります。(複数のドメイン コントローラ用に) 1 行目の記述に類似した行が複数含まれる場合もありますが、(PDC を指定する) \0x1b ディレクティブが指定された行は 1 行のみです。ドメイン名は引用符で囲み、\0x1b の前の部分が合計 15 文字になるようにスペースを埋め込みます (上記の例では、わかりやすくするためにコンマを使用していますが、実際の LMHOSTS ファイルではコンマではなくスペースを使用します)。また、(昇格によって) PDC の役割を別の Windows NT Server に移した場合、\0x1b エントリは無効になります。これを修正するには、次の操作を行います。

  • コントローラの IP アドレスを切り替えて、PDC のアドレスが常に同じであるようにします。この場合、LMHOSTS ファイルに変更を加える必要はありません。
  • クライアントに配布しているすべての LMHOSTS ファイルで \0x1b IP アドレスを変更します。中央から LMHOSTS ファイルを配布している場合は、その LMHOSTS ファイルで変更します。

NetBIOS 名に関する注意

NetBIOS 名の長さは 16 文字です。最初の 15 文字はユーザー定義可能 (またはスペースが埋め込まれます) で、16 文字目は、名前を登録するネットワーク サービスの識別用に予約されています。NetBIOS 名のわかりやすい例としては、Microsoft ネットワーク クライアントの ComputerName (コンピュータ名) があります。クライアントが起動すると、ComputerName<00> (ワークステーション サービス)、ComputerName<20> (サーバー サービス) など、ComputerName と一意な拡張子がさまざまなクライアント ネットワーク サービスによって登録されます。この例では、この 2 つの名前の違いは 16 文字目のみですが、この文字によってこれらの名前が別のものとして識別されます。クライアントは、クライアントのノードの種類に応じて、ブロードキャストおよび WINS に直接データグラムを送信して、すべての名前を登録できます。マイクロソフトが予約していない NetBIOS 拡張子については、他社で登録することもできます。

詳細については、以下の「サポート技術情報」 (Microsoft Knowledge Base) を参照してください。
119493 NetBIOS over TCP/IP 名前解決と WINS
119495 WINS サービスに登録される名前の一覧

LMHOSTS の例

ドメイン名が "Globe"、PDC の NetBIOS 名が "Mongo" で、さまざまなバックアップ ドメイン コントローラがあるとします。この場合、LMHOSTS ファイルは次のようになります。
   199.199.199.1   "globe       \0x1b"  #PRE
   199.199.199.1   mongo      #PRE  #DOM:globe
   199.199.199.2   otherdc1   #PRE  #DOM:globe
   199.199.199.3   otherdc2   #PRE  #DOM:globe
エントリが正しく入力されていることを確認するには、コマンド ウィンドウ (DOS プロンプト) を開き、NetBIOS キャッシュを確認します。
   c:\> nbtstat -c
   NetBIOS Remote Cache Name Table
   Name                  Type        Host Address    Life [sec]
   ------------------------------------------------------------
   globe          <1B>  UNIQUE        199.199.199.1       -1
   MONGO          <03>  UNIQUE        199.199.199.1       -1
   MONGO          <00>  UNIQUE        199.199.199.1       -1
   MONGO          <20>  UNIQUE        199.199.199.1       -1
   OTHERDC1       <03>  UNIQUE        199.199.199.2       -1
   OTHERDC1       <00>  UNIQUE        199.199.199.2       -1
   OTHERDC1       <20>  UNIQUE        199.199.199.2       -1
   OTHERDC2       <03>  UNIQUE        199.199.199.3       -1
   OTHERDC2       <00>  UNIQUE        199.199.199.3       -1
   OTHERDC2       <20>  UNIQUE        199.199.199.3       -1
ヒント : 名前が 15 文字でない場合、引用符を使用していない場合、または「\0x1b」ではなくスラッシュを使用して「/0x1b」と入力している場合は、<1B> エントリが表示されません。

LMHOSTS を使用したマルチドメイン ブラウジング

LMHOSTS を使用したブラウジングには、マルチドメイン ブラウジングを自動的に行う機能がないという欠点があります。前に説明したように、PDC によって、リモート ドメインのリストが WINS に照会され、その情報が自身の参照リストに記録されます。ただし、PDC によって、LMHOSTS ファイルに同じ情報があるかどうかは解析されず、#PRE (キャッシュ) ディレクティブを持つ他の \0x1b エントリが記録されることもありません。そのため、PDC によって WINS に照会されない場合は、ファイル マネージャやネットワーク コンピュータを使用しても他のドメインは表示されません。ただし、(ドメイン名がわかっていて、LMHOSTS ファイルに特殊なエントリがある場合には) 手動で他のドメインをブラウジングできます。また、ブロードキャストに基づいてリモート ドメインをブラウジングすることもできます。

手動で行う場合 : ブラウジングするリモート ドメインの PDC の \0x1b エントリを作成します。この方法は、Windows NT、Windows 95、および Windows for Workgroups で使用できます。これは、次のような流れで処理が行われるため効率的であり、リモート ドメインをブラウジングするのに必要です。
  1. クライアントにより、domain<1b> 名からリモート ドメインの PDC が特定されます (この判断は、LMHOSTS では \0x1b エントリが存在することによって、WINS では照会によって行われます)。
  2. クライアントにより、GetBackupList API 要求がリモート PDC に送信されます。
  3. リモート PDC により、最大 3 台までのマスタ ブラウザのリストが返されます。これにはリモート PDC 自身が含まれる場合もあります。
  4. クライアントにより、いずれかのマスタ ブラウザに NetServerEnum API 要求が送信されます。
  5. 要求を受けたマスタ ブラウザにより、そのドメイン全体の参照リストが返されます。
この参照リストを "手動" で取得するには、次のようにコマンド ウィンドウを使用します。
WinNT コンピュータの場合 : c:\net view /domain:<domainname>
Win95 および WFW の場合 : c:\net view /workgroup:<domainname>
ブロードキャストを使用する場合 : この方法は、複数のドメインをメンバに持つネットワーク セグメントで有効です。"同一" セグメントには各ドメインの SegMB があり、各 SegMB によって、そのドメインが特殊な NetBIOS 名 <01><02>_MSBROWSE_<02><01> にブロードキャストでアナウンスされます。このブロードキャスト パケットには、ドメイン名とそのドメインをアナウンスした SegMB のコンピュータ名が含まれます。

(この同一セグメントにある) 他のドメインの SegMB により、この情報がリッスンされ、自身のローカル参照リストに追加されます。これで、このセグメントの SegMB によって、他のドメインが "検出" され、その検出された情報が自身のドメインの DomMB と、参照リストを要求する (自身のドメイン内の) ローカル クライアントに送信されます。

クライアントでは、ローカルのドメイン参照リストが (ローカル SegMB に) 要求され、検出されたドメインがファイル マネージャとネットワーク コンピュータに表示されます。クライアントで、検出されたドメインが選択されると、実際には <01><02>_MSBROWSE_<02><01> パケットでアナウンスした SegMB に対して直接参照リストが要求されます。また、この情報はクライアントの DomMB にも送信されているため、このドメイン内の他のセグメントにある SegMB にも情報が渡されます。

これで、リモート セグメントのクライアントはこの情報を利用できるようになり、そのセグメントにリモート ドメイン メンバが存在しなくてもリモート ドメインをブラウジングできます。ただし、LMHOSTS ファイルを使用するこのプロセスは非常に不安定です。それは、"検出されたリモート SegMB" がアクティブであるかどうかに依存するためです。WINS 環境では、リモート ドメインに関する情報が WINS から PDC に提供されるため、リモート ブラウジング機能は高い安定性を持ちます。

注意事項 :
  1. LMHOSTS を使用してドメイン ログオンとドメイン ブラウジングを機能させるには、すべてのドメイン コントローラと適切な \0x1b エントリを記述した LMHOSTS ファイルをすべてのコンピュータに配布する必要があります。また、リストに含まれていない PDC がある場合は、各リモート セグメント マスタ ブラウザのエントリを作成する必要があります。
  2. ほとんどの場合、すべての WAN コンピュータがリストに記録されます。これを効率的に行うには、共通の 1 つの LMHOSTS ファイルを共有するようにすべてのクライアントとサーバーに配布します。ただし、IP アドレスに変更があった場合は、適切なアドレスでファイルを更新する必要があるため、管理上の負荷となる可能性があります。
  3. コンピュータが参照リストに表示されていても接続できるわけではありません。そのコンピュータがローカル セグメントにある場合は、ブロードキャストで接続できます。リモート セグメントにある場合は、そのコンピュータの LMHOSTS エントリが必要です。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 150800 (最終更新日 2003-09-16) を基に作成したものです。

プロパティ

文書番号: 150800 - 最終更新日: 2004年9月7日 - リビジョン: 3.1
この資料は以下の製品について記述したものです。
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows 95
  • Microsoft Windows for Workgroups 3.11
  • Microsoft TCP/IP-32 for Windows for Workgroups 1.0
キーワード:?
kbtshoot kbapi kbnetbios kbnetwork KB150800
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック