Windows TIPS
[Network]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

LMHOSTSファイルのキーワードはすべて大文字で記述する

デジタルアドバンテージ
2004/02/14
 
対象OS
Windows 95
Windows 98
Windows 98 SE
Windows Me
Windows NT
Windows 2000
Windows XP
Windows Server 2003
Windowsネットワークでは、LMHOSTSと呼ばれるファイルに名前解決用の情報を記述することができる。
LMHOSTSファイルでは、#で始まるキーワードを指定することで、これを読み込むWindowsネットワーク・サブシステムに対し指示を加えることができる。
これらのキーワードはすべて大文字で記述しないと、コメント行として無視されてしまう。
 
解説

 Windowsネットワークにおける名前解決の方法(コンピュータ名から対応するIPアドレスを割り出す方法)はいくつかあるが、そのうち最も原始的な方法は、コンピュータのローカル・ファイルとしてその対応関係を記述しておくLMHOSTSファイルを利用するものだ。

 LMHOSTSを利用するには、固定のIPアドレスを割り当てることが前提になるので、DHCPなどダイナミックなIPアドレスの割り当てを行うコンピュータの管理には使えない。しかし常時稼働するサーバなどでは、サービス環境の固定化や、万一のトラブル時の処理を単純化するため、固定のIPアドレスを割り当てることも多い。

 特に特定のコンピュータに対する名前解決が頻繁に発生する場合には、LMHOSTSのレコードとしてそのコンピュータ名のエントリを記述し、#PREキーワードを指定することで、コンピュータの起動時に構成される「NetBIOS名前キャッシュ」にそれらの名前解決の情報をロードさせ(デフォルトでは最大100レコードまで)、名前解決を素早く実行できるようにすることが可能だ。クライアント・コンピュータは、通常は次の順序で名前解決を行う(これは「ノード・タイプ」が「ハイブリッド・ノード」の場合)。

  1. NetBIOS名前キャッシュの検索
  2. WINSサーバに対するクエリ
  3. NetBIOSブロードキャストによるクエリ
  4. LMHOSTSファイルの検索
  5. hostsファイルの検索
  6. DNSサーバに対するクエリ

 従ってNetBIOS名前キャッシュに情報をあらかじめロードしておけば、ローカル・コンピュータから外部に問い合わせることなく、素早く名前解決を実行できることになる。LMHOSTSファイルの詳細については、以下のWindows TIPS記事、マイクロソフト技術情報を参照されたい。

 前述した#PREのように、LMHOSTSファイルでは、#で始まるキーワードを記述することにより、LMHOSTSファイルを使用するWindowsシステムに対していくつか指示を与えることができる。#PRE以外には、外部ファイルのインクルードを指定する#INCLUDEなどがある(キーワードの詳細についても前述の記事を参照)。

 LMHOSTSのキーワードは、必ず大文字でなければならないという制限がある。例えば次のようにした場合、\\localsrv\public\lmhostsファイルに記述されたレコードのすべてに対し#PREが指定され、TCP/IPネットワークの初期化時にすべてのエントリがNetBIOS名前キャッシュにロードされる。

#INCLUDE \\localsrv\public\lmhosts  #PRE

 しかしキーワード指定を小文字で表記すると、それらは単なるコメント行として処理されてしまう。LMHOSTSファイルでは、#で始まる行がコメント行として処理されるためだ。

#include \\localsrv\public\lmhosts  #pre

 LMHOSTSファイルの指定が正しく反映されていない場合には、キーワード指定がすべて正しく大文字になっているか確認しよう。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間