| [Network] | ||||||||||||||||||
LMHOSTSファイルの更新を即座に反映させる方法
|
||||||||||||||||||
|
||||||||||||||||||
| 解説 |
通常、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ファイルの内容例を示す。
|
|||||||
| 実際に、筆者宅で使用されている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ファイルの内容を参照して名前解決を行うようになっている。 | |||||||||
|
なお、NBTクライアントが使用する名前解決手段の優先順位は、次のようになっている(上の方から順番に試行される)。
- NetBIOS名前キャッシュの検索
- WINSサーバに対してクエリ
- NetBIOSブロードキャストでクエリ
- LMHOSTSファイルを参照
- hostsファイルを参照
- 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ファイルの変更結果を反映させることができる。
- まず、IPアドレスとコンピュータ名の状態に合わせてLMHOSTSファイルを修正、あるいは作成し、それぞれのコンピュータの適切なフォルダにコピーする。コピー先のフォルダは、すでに説明したように、Windows NT/2000/XPとWindows 9x/Meで異なる点に注意されたい。
- 次に、コンピュータ名やIPアドレスの設定を、新しい状態に変更する。設定変更を後回しにしているのは、LMHOSTSファイルをLAN経由で配布する場合を考慮したためである。もし、先にコンピュータ名やIPアドレスを変更してしまうと、場合によっては通信不可能なコンピュータが出現し、LAN経由の配布ができなくなるからだ。
- 最後に、コマンドプロンプトを起動して「nbtstat -R」と入力すると、更新されたLMHOSTSファイルの内容が読み込まれ、名前解決に使われるようになる。このとき、「Successful purge and preload of the NBT Remote Cache Name Table.」というメッセージが表示される。

| 関連リンク | ||
| Windows 2000 Serverドキュメント「Lmhosts ファイル」(マイクロソフト) | ||
|
||||||||||||||||||||||||||||
| 「Windows TIPS」 |
ホワイトペーパー(TechTargetジャパン)
- Windows 7のファイアウォール機能 (2010/3/18)
Win 7のファイアウォールの概要解説。ルールセットを切り替えるプロファイル機能が強化され、ドメインでもVPNでも、適切なルールが自動選択される - 第212話 プリンタ用紙 (2010/3/16)
致命的なディスク・クラッシュが起きる確率は、クラッシュによってもたらされる被害の大きさに比例する… - WindowsTIPS (2010/3/12)
− 不要なアドオンを無効化してIE8の起動を高速化する
− IE8のソース表示エディタを変更する
− RRASのNATでポートマッピングを定義する - PowerShell 2.0で始めるWindowsシステム管理 (2010/3/11)
コマンド・プロンプトやWSHスクリプトはもう古い!? これからのWindowsシステム管理はPowerShellでスマートに片付けよう
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |








