【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
Windows TIPS
[Network]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

LMHOSTSファイルの更新を即座に反映させる方法

解説をスキップして操作方法を読む

井上孝司
2002/12/21
対象OS
Windows 95
Windows 98
Windows 98 SE
Windows Me
Windows NT
Windows 2000 Professional
Windows XP Professional
Windows XP Home Edition
Windows 2000 Server
Windows 2000 Advanced Server
LMHOSTSファイルを作成すると、WINSサーバが存在しない環境でもNetBIOS向けの名前解決が可能になる。
このLMHOSTSファイルの内容を変更した場合、変更を反映させるため、通常ならコンピュータの再起動が必要になる。しかし、nbtstatコマンドを使用すると、再起動させずに、変更結果を即座に反映できる。


解説

 通常、TCP/IPを使用する通信で名前解決を行うには、DNS(Domain Name System)、あるいはWINS(Windows Internet Name Service)といったサーバを設置して、名前解決を担当させる。DNSはActive Directoryドメインやインターネットで用いられている名前解決のシステムであり、WINSはWindows 9x/Me/NTといった、NetBIOS対応のオペレーティング・システムで用いられる名前解決のシステムである。

 しかし、小規模なネットワークでは、PCの台数などの関係で、常時稼働するWINSサーバを設置するのが困難な場合がある。実際には、NetBIOSでは、WINSサーバを使用できない場合にはブロードキャストによる名前解決を試みるようになっているので、単一のサブネットで構成されたLANなら支障はないともいえるが、ブロードキャストが多発するとネットワークの性能に影響するので、あまり好ましい方法とはいえない。

 また通常、ブロードキャスト・パケットはルータを越えられないので、ルータで分割された別のサブネットに対する名前解決をブロードキャスト方式で行うことはできない。

 こうした場合の対処方法として、個々のコンピュータに固定IPアドレスを割り当てた上で、LMHOSTSファイルを作成する方法がある。LMHOSTSファイルはテキスト・ファイルで、IPアドレスとコンピュータ名の対応が記述されている。

 LMHOSTSファイルの保存場所は、Windows 2000/XPでは%SystemRoot%\SYSTEM32\Drivers\etcフォルダ、Windows 9x/MeではWindowsのインストール・フォルダ(デフォルトではC:\Windows)となっている。ファイル名は「LMHOSTS」で、拡張子が付かない点に注意したい(同じフォルダに、LMHOSTS.SAMというサンプル・ファイルがあるので、これを参考にLMHOSTSファイルを作成するとよい)。

 以下に、実際に使用されているLMHOSTSファイルの内容例を示す。

192.168.0.1 HEKATE   #PRE #DOM:OLYMPUS
192.168.0.2 HESTIA   #PRE #DOM:OLYMPUS
192.168.0.3 ARTEMIS  #PRE #DOM:OLYMPUS
192.168.0.4 ATHENA   #PRE #DOM:OLYMPUS
192.168.0.5 ASTERIA  #PRE #DOM:OLYMPUS
192.168.0.6 HELIOS   #PRE #DOM:OLYMPUS
192.168.0.7 HERCULES #PRE #DOM:OLYMPUS
192.168.0.8 SELENE   #PRE #DOM:OLYMPUS
実際に、筆者宅で使用されているLMHOSTSファイルの例
左端から順に、IPアドレス、コンピュータ名、そのほかのオプション指定、といった順で項目が並び、それぞれの項目はスペースかタブで区切られる。

 これらのうち、必ず記述しなければならないのは、IPアドレスとコンピュータ名の指定だけだ。「#PRE」は、LMHOSTSファイルの内容をメモリ上にキャッシュすることで名前解決を迅速に行うためのもの(PREは、事前にロードしておくという意味のpreloadの略)、「#DOM」は、NTドメイン、あるいはActive DirectoryドメインのNetBIOS名を指定するものであり、これらは必要に応じて記述すればよい(例にあるとおり、ドメイン名は「#DOM:」に続けて、空白を入れずに指定する)。

 筆者の自宅のようにコンピュータの台数が少ない環境では、IPアドレスを重複しないように手作業で管理するのは容易なので、LMHOSTSファイルを用いた名前解決にも、それなりの有用性はある。もしコンピュータ名やIPアドレスの割り当てに変更があった場合でも、すべてのコンピュータにLMHOSTSファイルを再配布すれば済む。

 LMHOSTSファイルを使った名前解決は、ブロードキャストによる名前解決と異なり、ルータをまたいだ別のサブネットに存在するコンピュータに対しても名前解決を行える。この点が、ネットワーク構成によっては便利と感じられるかもしれない。一般的には、ルータとWANを介した別の拠点にしかWINSサーバが存在しない場合のように、手元のLANにWINSサーバがなく、かつLANが小規模で専用のWINSサーバを設置するのが困難な場合などに、LMHOSTSファイルが使用されることが多い。

 なお、Windows NT/2000/XPでは、TCP/IPのプロパティ設定として、LMHOSTSファイルの参照を明示的に指定できる(必ず参照したり、参照しないようにしたり指定できる)。TCP/IPのプロパティ設定画面で[詳細設定]をクリックすると表示されるダイアログのうち、[WINS]タブに、NBT(NetBIOS over TCP/IP)関連の設定と併せて、LMHOSTSファイルに関する設定項目が存在する。

 一方、Windows 9x/Meでは、LMHOSTSファイルを自動的に参照するので、明示的に参照を無効にすることはできない。

TCP/IPプロパティの[詳細設定]ダイアログにある[WINS]タブ(Windows XPの例)
ここでは、NBT(NetBIOS over TCP/IP)関連の設定に加えて、LMHOSTSファイルに関連する設定もできる。既定値では、LMHOSTSファイルの内容を参照して名前解決を行うようになっている。
  このチェック・ボックスをオンにすると、LMHOSTSファイルを参照するようになる。
  ここをクリックすると、既定の場所以外にあるLMHOSTSファイルの内容がインポートされ、同じ内容のLMHOSTSファイルがローカル・ディスク内に作成される。フロッピーディスクでLMHOSTSファイルを配布する際に使用すると便利。
  NBTの有効/無効を指定するオプション・ボタン群。NBTを無効にしていても、LMHOSTSファイルやWINSサーバで名前解決が可能なら、NetBIOS名によるコンピュータの指定は可能である。

 なお、NBTクライアントが使用する名前解決手段の優先順位は、次のようになっている(上の方から順番に試行される)。

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

※注 これは、NetBIOSの名前解決順序を示す「ノード・タイプ」が「H(Hybrid)」の場合の優先順位。ノード・タイプには、このほかに、P(Peer)、M(Mixed)、B(Broadcast)がある。各タイプに応じて、2と3の順序が入れ替わったり、どちらかが省略されたりする。ノード・タイプについては、サポート技術情報の「Microsoft クライアントのデフォルトのノード タイプ」などを参照。Windows NT/2000/XPでは、デフォルトではHybridノード・タイプか(WINSサーバが指定されている場合)、Broadcastノード・タイプ(WNSサーバが指定されていない場合)が利用される。

 1度解決された名前はNetBIOS名前キャッシュに入れられ、一定時間キャッシュ中に保持される。そのため、次回からは高速に検索できることになる。またLMHOSTSファイルで「#PRE」指定を行ったエントリは、システムの起動時にあらかじめキャッシュにロードされるので、やはり高速に検索することができる(現在のNetBIOS名前キャッシュの状態は「nbtstat -c」コマンドで確認できる)。

 つまり、LMHOSTSファイルで「#PRE」指定を行う場合と行わない場合とで、名前解決手段の優先順位が異なる。「#PRE」指定がある場合はLMHOSTSファイルが最優先されるが、ない場合はWINSサーバ、それが利用できなければブロードキャストが使用される。

 このため、LMHOSTSファイルの内容によっては、せっかくLMHOSTSファイルで指定しても、その情報による名前解決が行われず、ブロードキャストによって処理されてしまうなどの可能性がある。また、LMHOSTSファイルの内容とWINSサーバの内容に矛盾が生じた場合、間違った名前解決が行われ、トラブルが発生する可能性もある。

 LMHOSTSファイルを使用する場合の問題は、LMHOSTSファイルの内容がWindowsの起動時に読み込まれた状態のままになるため、コンピュータの動作中にLMHOSTSファイルを更新しても、リアルタイムに変更が反映されない点にある。もちろん、コンピュータを再起動すれば設定は反映されるが、作業中のファイルがあった場合には、その場で再起動を要求するのは難しい、ということもあり得るだろう。

 そこで、nbtstatコマンドを使用する。

 本来、このコマンドはNBTの状態チェックに使われるツールだが、引数に「-R」と指定すると、その場でLMHOSTSファイルの再読み込みを実行してくれる。これにより、コンピュータの再起動なしに、最新状態のLMHOSTSファイルを反映させた名前解決が可能になる。


操作方法

 以下の手順により、コンピュータの再起動なしにLMHOSTSファイルの変更結果を反映させることができる。

  1. まず、IPアドレスとコンピュータ名の状態に合わせてLMHOSTSファイルを修正、あるいは作成し、それぞれのコンピュータの適切なフォルダにコピーする。コピー先のフォルダは、すでに説明したように、Windows NT/2000/XPとWindows 9x/Meで異なる点に注意されたい。
  2. 次に、コンピュータ名やIPアドレスの設定を、新しい状態に変更する。設定変更を後回しにしているのは、LMHOSTSファイルをLAN経由で配布する場合を考慮したためである。もし、先にコンピュータ名やIPアドレスを変更してしまうと、場合によっては通信不可能なコンピュータが出現し、LAN経由の配布ができなくなるからだ。
  3. 最後に、コマンドプロンプトを起動して「nbtstat -R」と入力すると、更新されたLMHOSTSファイルの内容が読み込まれ、名前解決に使われるようになる。このとき、「Successful purge and preload of the NBT Remote Cache Name Table.」というメッセージが表示される。End of Article
  関連リンク
  Windows 2000 Serverドキュメント「Lmhosts ファイル」(マイクロソフト)
     
この記事と関連性の高い別のWindows TIPS
LMHOSTSファイルのキーワードはすべて大文字で記述する
LMHOSTSのエントリ・キャッシュ・サイズを拡張する
hostsとlmhostsの違い
ホスト名からIPアドレスを見つける方法
WINSサーバ管理ツールの基本的な使い方
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」

ホワイトペーパーTechTargetジャパン

Windows Server Insider フォーラム 新着記事

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

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています