Windows TIPS
[Network] |
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レコードまで)、名前解決を素早く実行できるようにすることが可能だ。クライアント・コンピュータは、通常は次の順序で名前解決を行う(これは「ノード・タイプ」が「ハイブリッド・ノード」の場合)。
- NetBIOS名前キャッシュの検索
- WINSサーバに対するクエリ
- NetBIOSブロードキャストによるクエリ
- LMHOSTSファイルの検索
- hostsファイルの検索
- 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ファイルの指定が正しく反映されていない場合には、キーワード指定がすべて正しく大文字になっているか確認しよう。
Windows Server Insider フォーラム 新着記事