プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Linux、「/etc/hosts」とはなんぞや?
ちょっくらLinuxの基礎を学び直そうと思いましてね。
気になったことを取りとめもなく調べていくことにしました。

次に調べたのが「/etc/hosts」。

いや、まぁ、調べなくても知ってるけどさ。
ホスト名とIPアドレスの対応付けを書いておくファイルだべ?

……一応調べておきましょうか(--ゞ

ふむふむ(--)

ホスト名とIPアドレスの対応付けを書いておくファイルでした。
って、さっきも書きましたけどね。
コンピュータさん用のカンペです。

コンピュータさんは通信するときにIPアドレスを使います。
でも人間様は数字の羅列のIPアドレスが覚えられないので、
人間様が分かりやすい名前を使います。
この名前が「ホスト名」です。
人間様がホスト名を入力すると、コンピュータさんは
何とかしてそのホスト名に対応するIPアドレスを探し出します。
対応するIPアドレスが分かったら、そのIPアドレスに対して通信を試みます。
これがインターネットとかの通信の仕組みです。

ちなみに、このホスト名←→IPアドレスの対応を確認することを「名前解決」と言います。
そしてこの名前解決をお仕事にしているのが「DNS」と呼ばれる奴です。

DNSも「/etc/hosts」も名前解決のお仕事をしています。
DNSと「/etc/hosts」のどちらに先に尋ねるかは設定に依存します。

前振りが長くなりました。

コンピュータさんはIPアドレスが大好きです。
人間様はホスト名が使いたいです。

そこで人間様は「このホスト名が入力されたらこのIPアドレスだと思え!」と
教え込むことにしたのです。
これで人間様はホスト名を使えますし、コンピュータさんもIPアドレスが分かりますよね。

これを教えこむためのファイルが「/etc/hosts」です。
ホスト名が入力されるとコンピュータさんは「/etc/hosts」を見て、
対応するIPアドレスが無いか探します。
あればそのIPアドレスに対して通信を行います。

「/etc/hosts」の中に例えば

192.168.1.2    hoge

と書いてあったとしましょう。
この場合は「hoge」と指定すれば「192.168.1.2」に対して通信してくれますよ。

あっ、そうそう。
大事な注意点として「書いてなければ分からない」というのがあります。
当たり前ですね。

「hoge」と指定して「192.168.1.2」に対して通信してくれるのは、
「『hoge』は『192.168.1.2』のことだから」と書いてあるからです。
そのため別のコンピュータで同じことをしても、同じ結果になるとは限りません。
あくまでそのコンピュータの「/etc/hosts」の設定に従いますので、ご注意ください。

たまに「http://localhost/」を指定したけどアクセスできません!と涙目になっている人がいますが、
「/etc/hosts」の中にlocalhostに関する記述があるか、確認してくださいな。

随分話が脱線しちゃいました。
まとめると「/etc/hosts」はホスト名とIPアドレスの対応を書いておくファイルです。

完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:ファイル/ディレクトリ  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事