| [Network] | |||||||||||||
hostsとlmhostsの違い
|
|||||||||||||
|
|||||||||||||
| 解説 |
Windowsネットワークで利用されるプロトコルには、大きく分けてNetBIOS系のプロトコルと、TCP/IP系のプロトコルがあり、その目的に応じて使い分けられている。もともとこれらのプロトコルはまったく別のものであり、Windows OSに附属するコマンドは主にNetBIOS系(SMBやMS-RPCなどを含む)で動作するように作られているものが多かったが(コマンドの操作対象として「\\サーバ名」という形式の指定をするものは、NetBIOS系のことが多い)、現在では両者は巧みに組み合わされ、ユーザーはその違いをほとんど意識することなく利用することができるようになっている。だが、細部ではいくらかの違いがあり、ネットワークの管理をする場合にはその違いを知っておく必要がある。本TIPSでは、静的な名前解決に使われる、hostsファイルとlmhostsファイルの違いについて解説しておく。
Windowsネットワーク環境では、コンピュータ名(ホスト名)と実際のコンピュータを対応付けるために、「名前解決」という機能が使われる。これは、例えばserver1.example.comというコンピュータ名を指定すると、これに対応するコンピュータのIPアドレスやNetBIOSのノード名を求め、通信相手のコンピュータを「特定」するための機能である。
実際の名前解決では、さまざなプロトコルや手法が組み合わされて実現されている。具体的には、NetBIOS名のブロードキャスト、DNSサービス、WINSサービス、NetBIOS名前キャッシュ、DNS名前キャッシュ、hostsファイル、lmhostsファイルなどがあり、あらかじめ決められた優先順位に基づいて、順番に各機能が利用されている(実際の優先順位はOSやネットワークの設定によって変わるので、ここでは触れない)。このうち、DNSやWINSは動的な名前解決機能であり、hostsファイルやlmhostsファイルは静的な名前解決機能に分類できる。初期のネットワークでは、静的な名前解決手段が使われていたが、現在の大規模化・高度化したネットワークでは、ネットワークの構成が絶えず変化するため、動的な名前解決手段が使われるのが普通である。だが、例外的なコンピュータやネットワークを定義したり(例:DNSに正式に登録されていないようなローカルなコンピュータを定義したり、リモートのLANへアクセスするなど)、一時的にしか使用しないものを実験的に登録してみるには、静的ファイルを使うのが簡単でよい。このために利用できるのが、hostsファイルやlmhostsファイルによる、コンピュータ名の定義である。
hostsファイルとは
hostsファイルは、もともとはTCP/IP系のネットワークで利用されていた、IPアドレスとコンピュータ名の対応付けのための定義ファイルである。具体的には以下のような形式のテキストファイルである。Windows NT/Windows 2000/Windows XP/Windows Server 2003系のOSでは、デフォルトでは「%windir%\system32\drivers\etc」フォルダ中に格納することになっている。
※hostsファイルの例 |
各行が1つのIPアドレスとその名前を定義している。左端にIPアドレスを書き、その右側は、ホスト名を記述するが、ホスト名を複数記述することもできる。また、#はコメントを表し、#より右側はすべて無視されることになっている。
lmhostsファイルとは
lmhosts(LMHOSTS)ファイルの「lm」とは「LAN Manager(Windowsネットワークの前身となる製品)」の略であり、hostsファイルと同様の形式で、NetBIOS系のコンピュータ(正確にはNetBIOS over TCP/IPプロトコルを利用するコンピュータ。必ずIPアドレスが割り当てられている)を記述できるようにしたものである。やはりデフォルトでは「%windir%\system32\drivers\etc」フォルダ中に格納することになっている(サンプルとして、同フォルダにはlmhosts.samというファイルが用意されているので、参考にするとよい)。
※lmhostsファイルの例 |
|
hostsファイルと比べると、#PREとか#DOM:<ドメイン名>といった特別なキーワードが追加されている点が異なる。これらは、NetBIOSキャッシュへのプリロードと、ドメイン・コントローラの指定である。詳細についてはWindows TIPS「LMHOSTSファイルのキーワードはすべて大文字で記述する」や「LMHOSTSファイルの更新を即座に反映させる方法」などを参照していただきたい。
hostsファイルでしかできないこと
hostsとlmhostsは似ているが、その目的や出自が異なるため、lmhostsと比べるといくらかの違いがある。ここでは、hostsファイルでのみ利用可能な機能について解説しておく。
■コンピュータ名に対して別名を定義する
TCP/IPでは、通信は最終的にはIPアドレスでのみ行われるため、極端にいうと、どのようなコンピュータ名が付けられていてもよい。そのためサンプルのhostsファイルを見ると分かるように、localhostとかloghostといった、本来のコンピュータ名とは異なる名前を定義付けてもよい(NetBIOSでは、自身のコンピュータ名と異なる名前でアクセスしようとするとエラーとなる場合がある)。ちなみにlocalhostとは、TCP/IPネットワークにおいて自分自身を指す場合に一般的に使われる名前である。
■1つのIPアドレスに対して複数の名前を定義する
上の例から分かるように、1つのIPアドレスに対して、複数のコンピュータ名を定義することができる。ただし手元のWindows XPマシンでは最大9つまで定義することが可能であったが(各名前の間は空白かタブ記号で区切る)、古いTCP/IPの実装では3つまでしか認識しないものもあるので、注意していただきたい。
■FQDN名を定義する
例にあるserver1.example.comのように、hostsファイル中では、FQDN名を定義することもできる。一般的には、ドメイン名を含まないシンプルなコンピュータ名と、FQDN名の両方を記述しておくとよいだろう(部分一致ではなく、完全一致でのみ検索されるため)。
■16文字以上の長いコンピュータ名を定義する
NetBIOS名は最大15文字しか定義できないが、このhostsで定義する場合は、(DNSでの定義と同様に)16文字以上の長いコンピュータ名(もしくはFQDN名)を定義することができる。
lmhostsファイルでしかできないこと
lmhostsは、もともとはNBT(NetBIOS over TCP/IP)名を定義するために(hostsファイルをベースに)作られたものであり、NetBIOS名のブロードキャストによる名前解決を補佐するための機能を持っている。lmhostsでしか利用できない機能としては、次のようなものがある。
■NBT名を定義する
このファイルに記述された名前は、NetBIOS名前解決において利用される。NetBIOSを使ったネットワーク・サービスでのみ利用されるので、例えばリモートのネットワーク上にある(Windows OS+NBTベースの)ファイル・サーバへアクセスするためには、このlmhostsファイルを使って定義しておくとよい(動的な名前解決サービスを利用したければ、lmhostsの代わりにWINSサーバを利用する)。
■NetBIOSの名前タイプを指定する
NetBIOS名には、ドメイン名やユーザー名、コンピュータ名などといった、いくつかの属性が含まれている。この属性は、NetBIOS名の16byte目を使っているが、lmhostsではこの特別な属性も記述することができる。また、#DOMや#INCLUDEなどのキーワードを使って、特別な処理を行わせることもできる。
■NetBIOSキャッシュへのプリロードを行う
定義行の最後に「#PRE」を付けておくと、NetBIOSキャッシュに最初にロードされるため、NetBIOSの名前解決ブロードキャストなどが抑えられ、ネットワーク全体のトラフィックを抑えることができる。
■WINSサーバに静的エントリとして取り込むことができる
WINSサービスは、NetBIOS名前解決を動的/集中的に行うための機能であるが、WINSサーバではlmhostsファイルを取り込んで、静的な定義を素早く行うことができる。![]()
| 関連記事 | ||
| Windows TIPS:LMHOSTSファイルのキーワードはすべて大文字で記述する(Windows Server Insider) | ||
| Windows TIPS:LMHOSTSファイルの更新を即座に反映させる方法(Windows Server Insider) | ||
| Windows TIPS:LMHOSTSのエントリ・キャッシュ・サイズを拡張する(Windows Server Insider) | ||
| Windows TIPS:ホスト名からIPアドレスを見つける方法(Windows Server Insider) | ||
| Windows TIPS:pingでネットワーク・トラブルの原因を調査する(Windows Server Insider) | ||
| Windows TIPS:ポート445(ダイレクト・ホスティングSMBサービス)に注意(Windows Server Insider) | ||
| 連載:基礎から学ぶWindowsネットワーク(Windows Server Insider) | ||
| 関連リンク | ||
| LMHOSTS ファイルの概要と定義済みキーワード(マイクロソフト サポート技術情報) | ||
| Windows 2000 Serverドキュメント「Lmhosts ファイル」(マイクロソフト) | ||
| W95: DNS サービスを使わない場合の名前解決を行なう方法(マイクロソフト サポート技術情報) | ||
|
||||||||||||||||||||||||||||||||
| 「Windows TIPS」 |
ホワイトペーパー(TechTargetジャパン)
- WindowsTIPS (2010/3/19)
− [シャットダウン]ボタンの設定を変更する
− WINSサーバをインストールする
− WINSサーバをnetshコマンドで管理する - Windows 7のファイアウォール機能 (2010/3/18)
Win 7のファイアウォールの概要解説。ルールセットを切り替えるプロファイル機能が強化され、ドメインでもVPNでも、適切なルールが自動選択される - 第212話 プリンタ用紙 (2010/3/16)
致命的なディスク・クラッシュが起きる確率は、クラッシュによってもたらされる被害の大きさに比例する… - WindowsTIPS (2010/3/12)
− 不要なアドオンを無効化してIE8の起動を高速化する
− IE8のソース表示エディタを変更する
− RRASのNATでポートマッピングを定義する
|
|
スキルアップ/キャリアアップ(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台以上! グループ内 サーバの「統合管理」によるメリットは? |







