LMHOSTSファイル(エルエムホスツファイル)とは | 意味や読み方など丁寧でわかりやすい用語解説

LMHOSTSファイル(エルエムホスツファイル)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

エルエムホストファイル (エルエムホストファイル)

英語表記

LMHOSTS (エルエムホスツ)

用語解説

LMHOSTSファイルは、Microsoft Windowsのネットワーク環境において、コンピュータのNetBIOS名とIPアドレスの対応関係を静的に定義するためのテキストファイルである。その主な目的は、ネットワーク上の特定のコンピュータを名前で指定した際に、そのコンピュータが持つIPアドレスを特定する「名前解決」と呼ばれる処理を支援することにある。コンピュータは通信相手をIPアドレスで識別するが、人間にとっては数字の羅列であるIPアドレスよりも「PC01」や「FILESERVER」といった名前の方が直感的で扱いやすい。この人間が使う名前とコンピュータが使うIPアドレスとを結びつける役割の一部を担うのがLMHOSTSファイルである。類似の機能を持つファイルにhostsファイルがあるが、両者は解決対象とする名前の種類が異なる。hostsファイルが主にインターネットで使われるドメイン名(例: www.example.com)とIPアドレスを対応させるのに対し、LMHOSTSファイルはWindowsの伝統的なLAN環境で用いられてきたNetBIOS名(例: MYPC)とIPアドレスを対応させる点で区別される。DNSが普及する以前の小規模なネットワークや、DNSサーバーを利用できない環境で、コンピュータ名による通信を実現するために重要な役割を果たしていた。

LMHOSTSファイルの詳細を理解するには、まずNetBIOSというプロトコルと、それにおける名前解決の仕組みを知る必要がある。NetBIOSは、ローカルエリアネットワーク(LAN)内でコンピュータ同士が通信するための基本的なインターフェースであり、各コンピュータには最大15文字(16バイト目はサービス識別子)の一意なNetBIOS名が割り当てられる。Windowsネットワークにおいて、あるコンピュータが別のコンピュータにNetBIOS名でアクセスしようとすると、OSは以下の順序で名前解決を試みる。まず、自身の内部にあるNetBIOS名キャッシュを確認する。ここに対応情報があれば即座に解決される。キャッシュに情報がない場合、次に参照されるのがLMHOSTSファイルである。このファイルは通常、%SystemRoot%\System32\drivers\etc ディレクトリに配置されており、管理者が手動で編集する。LMHOSTSファイルにも該当するエントリがなければ、ネットワーク上にWINS(Windows Internet Name Service)サーバーが構成されていれば、そのサーバーに問い合わせを行う。WINSサーバーはNetBIOS名とIPアドレスの対応を動的に管理するデータベースサーバーである。それでも解決できない場合、最終手段としてネットワーク全体にブロードキャストパケットを送信し、該当するNetBIOS名を持つコンピュータに応答を求める。LMHOSTSファイルは、この一連のプロセスの中で、WINSサーバーへの問い合わせやブロードキャストの前に参照されるため、特定のコンピュータへのアクセスを確実かつ迅速に行いたい場合に有効な手段となる。

LMHOSTSファイルの書式は非常にシンプルである。一行に一つの対応情報を記述し、IPアドレス、一つ以上のスペースまたはタブ、そしてNetBIOS名を記述するのが基本形となる。例えば、「192.168.1.10 PC01」と記述すれば、PC01というNetBIOS名がIPアドレス192.168.1.10に対応付けられる。行頭に「#」を記述すると、その行はコメントとして扱われ、システムからは無視される。また、LMHOSTSファイルには名前解決の動作を制御するための特殊なキーワード(拡張機能)が用意されている。代表的なものに「#PRE」がある。エントリの末尾に「#PRE」を付加すると、その対応情報はシステムの起動時やネットワークサービスの開始時にNetBIOS名キャッシュに事前ロードされる。これにより、ファイルへのアクセスが不要となり、名前解決の応答速度を向上させることができる。他にも、ドメインコントローラを明示するための「#DOM:<ドメイン名>」や、別のファイルに記述されたマッピング情報を読み込むための「#INCLUDE <ファイルパス>」といったキーワードがあり、これらを利用することで、より複雑なネットワーク構成にも対応できるようになっている。

現代のネットワーク環境において、LMHOSTSファイルの利用頻度は大幅に減少している。その理由は、TCP/IPプロトコルとDNS(Domain Name System)による名前解決が標準となったためである。今日のWindowsネットワークでは、Active Directoryと統合されたDNSが、コンピュータ名(ホスト名)とIPアドレスの動的な管理と解決を一元的に行うのが一般的である。NetBIOS自体もレガシーな技術と見なされており、セキュリティ上の観点から無効化が推奨されることも多い。しかし、LMHOSTSファイルの知識が全く不要になったわけではない。古いアプリケーションや機器がNetBIOS名に依存しているレガシーシステムが残存する環境や、一時的なネットワーク接続、DNSが利用できない特殊な状況下でのトラブルシューティングなど、限定的ながらもその役割が求められる場面は存在する。静的な設定ファイルであるため、IPアドレスの変更に追従できず管理が煩雑になるというデメリットはあるものの、DNSやWINSといった動的な名前解決システムに障害が発生した際の代替手段として、あるいは特定の通信経路を強制的に指定する目的で利用される可能性も残されている。システムエンジニアとしては、このような古い技術の仕組みと役割を理解しておくことが、多様なシステム環境に対応する上での基礎体力となるだろう。

LMHOSTSファイル(エルエムホスツファイル)とは | 意味や読み方など丁寧でわかりやすい用語解説 | いっしー@Webエンジニア