LMHOSTS ファイルの概要と定義済みキーワード

この記事は、以前は次の ID で公開されていました: JP102725
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。


LMHOSTS ファイルは、TCP/IP プロトコル経由で通信するリモート サーバーの NetBIOS 名に IP アドレスをマッピングするローカルのテキスト ファイルです。Windows NT は、ネットワーク要求に対し、IP アドレスではなく名前を認識し、TCP/IP によるネットワーク要求を正しくルーティングするために名前の探索プロセスを実行します。一般に、名前の検索プロセスは IP ルーターでルーティングされませんが、LMHOSTS ファイルを使用すると、Windows NT コンピュータは TCP/IP 経由でサブネットをまたいで通信をすることができます。

この資料では、次の内容について説明します。

  • 概要
  • LMHOSTS エントリのキャッシュ
  • 定義済みキーワード
  • ブロック インクルードに関する詳細

概要

  • LMHOSTS には、IP アドレスから NetBIOS over TCP/IP (NBT) で使用する名前への対応付けが記述されています。
  • LMHOSTS は、NBT (NetBIOS over TCP/IP) インターフェイスによってのみ使用されます。
  • Windows NT の LMHOSTS ファイルには、LAN Manager や Windows for Workgroups のLMHOSTS ファイルにはない便利な機能が追加されています。たとえば、ルーティングされたドメイン ログオン認証をサポートするための機能です。
  • LMHOSTS には TCP/IP アドレスに関する静的な情報が含まれますが、ログオン スクリプトや複製サービスを使用することにより、マスタ ファイルをすべてのワークステーションに透過的に配布することができます。
  • デフォルトでは、LMHOSTS ファイルはディレクトリ %SYSTEMROOT%\SYSTEM32\DRIVERS\ETC (通常は C:\WINNT\SYSTEM32\DRIVERS\ETC) にあります。

LMHOSTS エントリのキャッシュ

デフォルトでは、#PRE キーワードで指定されたエントリは、初期化時に最大 100 エントリまでキャッシュされます。次のレジストリ値を修正することにより、初期化時にキャッシュされるエントリの数を増やすことができます。
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \NetBT\Parameters\MaxPreload


NetBIOS から IP アドレスを解決するための手順は次のようになります。まずキャッシュを調べ、サブネットへのブロードキャストを実行してから、LMHOSTS の追加エントリをチェックします。15 秒以内に接続を確立できない場合は、TDI のタイムアウトとなり、エラー メッセージが表示されます。

定義済みキーワード

Windows NT および Windows NT Advanced Server で有効な定義済みキーワードすべてが、Microsoft LAN Manager や Microsoft Windows for Workgroups の LMHOSTS ファイルで有効というわけではありません。ルーティングされたドメイン コントローラは、Windows NT コンピュータと同じ方法ではこれらのコンピュータを検証することができません。これらの検証を可能にするには、すべての OS/2 LAN Manager (Version 2.1a またはそれ以降) サーバーで利用できる LAN Manager TCP/IP Extensions Service を使用してください。

# <コメント行>
IP アドレスから NetBIOS 名への変換にコメントを付けるために使用します。
#PRE
最初に名前キャッシュにプリロードするエントリを定義します。
#DOM:<ドメイン名>
Windows NT Advanced Server のサーバーを Windows NT ワークステーション、LAN Manager サーバー、または Windows for Workgroups コンピュータから区別します。このキーワードは、ログオン要求を認証するすべてのサーバーに必要です。
#NOFNR
名前の直接問い合わせ (DNS) を無効にします。LAN Manager の初期のバージョンには、NetBIOS DNS 要求を処理できずエラー 53 を返すものがあります。このフラグを同じ行に指定すると、NetBIOS の名前の直接問い合わせが無効になります。
#BEGIN_ALTERNATE
      #INCLUDE &lt;\\サーバー名01\共有名\LMHOSTS&gt;      #INCLUDE &lt;\\サーバー名02\共有名\LMHOSTS&gt;      ...#END_ALTERNATE      LMHOSTS ファイルの代替となる冗長リストを定義します。      リモート ファイルを #INCLUDE でインクルードするための推奨される方法は、      確実にそのファイルにアクセスできるようにUNC パスを使用することです。      もちろん、NetBIOS 名に変換するための正しい IP アドレスと共に UNC 名が LMHOSTS ファイル内      に記述されている必要があります。   #MH      単一の一意な NetBIOS コンピュータ名を IP アドレスに対応付けます。      マルチホーム デバイスの各 NIC に対して、同じ NetBIOS コンピュータ名に複数のエントリを      作成することができます。同じ名前に対して最大 25 個まで異なる IP アドレスを       指定することができます。


#SG
容易に参照、ブラウズまたはブロードキャストできるようにイントラネット上のグループに属するプリンタやコンピュータなど、特殊グループを定義します。特殊グループは、合計 25 メンバに制限されます。


上の最初の 3 つのキーワードは、NBT 名からの単一の IP アドレス変換において同時に指定することができます。次に例を示します。

102.54.94.97   rhinodc   #DOM:rhino   #The rhino domain PDC   #PRE102.54.94.99   zoobdc    #DOM:rhino   #BDC for rhino domain   #PRE


注 : PDC はプライマリ ドメイン コントローラ、BDC はバックアップ ドメイン コントローラです。

最初に IP アドレスを記述し、後ろに NetBIOS 名を続けます。定義済みエントリを記述する順序に関する決まりはありません。LMHOSTS ファイルは先頭から順に読み込まれるため、重要なエントリを先に記述する方が良いでしょう。

ブロック インクルードに関する詳細

Windows NT では、LMHOSTS ファイルの集中管理を可能にする新しいブロック コマンドが用意されています。さらに、ブロック コマンドを使用すると、複数サーバー上に LMHOSTS ファイルのバックアップ コピーを複数置くこともできます。以下にWindows NT で使用できる、次の LMHOSTS ファイル ブロック コマンドについて詳しく取り上げます。

  • #INCLUDE
  • #BEGIN_INCLUDE
  • #END_INCLUDE
  • #BEGIN_ALTERNATE
  • #END_ALTERNATE
ブロック インクルード キーワード (#BEGIN_INCLUDE、#END_INCLUDE):

130.20.26.169  Trustedserver  #PRE   #DOM:Testing  # Test group domain


#BEGIN_INCLUDE   #INCLUDE \\localsrv\public\lmhosts       # Local domain   #INCLUDE \\Trustedserver\public\lmhosts  # Server in Testing domain#END_INCLUDE


上記のブロック インクルードでは、次の条件で、指定された LMHOSTS ファイルがスキャンされます。

  • TCP/IP の初期化中、ローカルの LMHOSTS ファイルに対して #PRE コマンドのスキャンが行われます。これらのエントリはすべて、その名前キャッシュに置かれます。さらに、#INCLUDE が指定されているすべての LMHOSTS ファイルがスキャンされます。
  • コンピュータ名 (NetBIOS 名) から IP アドレスに解決する際、キャッシュに事前に読み込まれたエントリの中に名前が見つからない場合は、#INCLUDE で指定されたファイルも検索されます。
  • LMHOSTS ファイルは、プリロードされたキャッシュの名前一覧に見つからないドメインのドメイン コントローラのアドレスを解決するためにスキャンされます。
このコマンドの利点は、各ノードからネットワーク越しにアクセスできるマスター LMHOSTS ファイルを、システム管理者が容易に集中管理できるということです。サブネットをまたがる場合でも、UNC (汎用命名規則) 名と LMHOSTS マッピングを使用すればこの方法が使用できます。

ドメインが複数のサブネットにまたがっている場合や、ドメインのドメイン コントローラがルーターの向こう側にある場合は、そのサーバーのドメイン コントローラの場所を特定するため、#DOM プレフィクスを追加した LMHOSTS ファイルのエントリが必要になります (上の例では、trustedserver がドメイン TESTING のドメイン コントローラです)。ブロック インクルード部分の上にある IP 行を見てください。この行は、#INCLUDE の前に存在しなければなりません。

上記の場合、TESTING ドメインはローカル ドメインと信頼関係を持っています。これは、ローカル ドメイン内にないサーバーをブロックに含める場合に重要です。

注 : 信頼されるドメインにあるサーバー上の LMHOSTS ファイルには、Everyone グループに対する読み取りアクセス権が必要です。Everyone グループには、ローカル ユーザーと信頼されるドメインのユーザーのすべてが含まれます。

代替ブロック インクルード (#BEGIN_ALTERNATE、#END_ALTERNATE):

#BEGIN_ALTERNATE   #INCLUDE \\localsrv\public\lmhosts      # Local domain   #INCLUDE \\Trustedserver\public\lmhosts # Server in Testing Domain#END_ALTERNATE


この場合、"代替インクルード" 条件は #INCLUDE のどれか 1 つが成功した場合に満たされます。これは、1 つの LMHOSTS ファイルしかスキャンされないことを意味します。#INCLUDE が指定されているLMHOSTS ファイルのうち、最初に見つかったものだけが読み込まれます。

これは、別々のサーバー上に同じ LMHOSTS ファイルコピーを複数保持する場合に便利です。サーバーのどれかがダウンした場合でも、ブロック インクルードで指定される代替サーバーから LMHOSTS ファイルが読み取られます。

これらの機能に関する詳しい説明などの詳細については、『Windows NT リソース キット』を参照してください。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 102725 (最終更新日 2000-10-05) をもとに作成したものです。

wfw wfwg prodnt
プロパティ

文書番号:102725 - 最終更新日: 12/04/2015 09:37:18 - リビジョン: 4.1

Microsoft Windows NT Advanced Server 3.1, Microsoft Windows NT Workstation 3.1, Microsoft Windows NT Advanced Server 3.1, 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 2000 Professional Edition, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server

  • kbnosurvey kbarchive kbhowto kbnetwork KB102725
フィードバック