名前を IP 番号に割り当てることで、覚えやすくなります。実際、IP アドレスはネットワークカードなどのデバイスと関連付けられたネットワークインターフェイスを識別します。それぞれのマシンは複数のネットワークカードを持つことができますし、それぞれのカードに複数のインターフェイスを持つことができますので、1 台のコンピュータはドメインネームシステムに複数の名前を持つことが出来ます。
Linux における名前解決のメカニズムは、モジュール式で /etc/nsswitch.conf
ファイルに宣言された様々な情報源を取り扱うことが出来ます。ホスト名解決に関連するエントリは hosts
です。デフォルトで、このエントリには files dns
が含まれています。これは、名前解決の際にシステムは最初に /etc/hosts
ファイルを、次に DNS サーバを参照することを意味しています。NIS/NIS+ や LDAP サーバも情報源として使うことが出来ます。
DNS (ドメインネームサービス) は IP アドレスと名前およびその逆を対応付ける分散型の階層的サービスです。具体的に言うと、このサービスは人間に都合の良い名前、例えば www.eyrolles.com
を実際の IP アドレス 213.244.11.247
に変換します。
DNS 情報にアクセスするには、DNS サーバが要求を中継するよう設定されていなければいけません。Falcot Corp は自分の DNS サーバを持っていますが、各ユーザは自分の ISP から提供された DNS サーバを使う傾向にあります。
以下の例のように、使われるDNS サーバは /etc/resolv.conf
に書かれています。1 行につき 1 台の DNS サーバを書き、その IP アドレスの前に nameserver
キーワードを書きます。
nameserver 212.27.32.176
nameserver 212.27.32.177
nameserver 8.8.8.8
ローカルネットワーク内にネームサーバが無い場合、/etc/hosts
ファイルの中に、通常ローカルネットワークの機器向けに予約されている IP アドレスとマシンのホスト名の対応表を書くことが出来ます。このファイルの構文はとても単純です: 各行は特定の IP アドレスとそれに関連する名前のリスト (最初に書く名前は「完全修飾名」でドメイン名を含みます) を表します。
このファイルはネットワークが停止している場合や DNS サーバに到達できない場合にも利用可能ですが、ネットワーク上の全てのマシンにそのファイルのコピーを配置できる場合を除けば不便です。つまり、このファイルをほんの少しでも変更すれば、全てのマシンでファイルの内容を更新しなければいけません。このため、通常 /etc/hosts
には最重要のエントリだけが含まれています。
/etc/hosts
ファイルによる名前管理は、Internet に接続されていない 5 台かその程度の小さなネットワークでは効果的ですが、適切な DNS サーバをインストールすることをおすすめします。