Product SiteDocumentation Site

8.3. ホスト名と名前解決サービスの設定

IP 番号に名前を割り当てることで、マシンを識別する情報は覚えやすくなります。実際には、IP アドレスはネットワークカードなどのデバイスと関連付けられたネットワークインターフェースを識別するものです。それぞれのマシンは複数のネットワークカードを持つことが可能ですし、それぞれのカードに複数のインターフェースを持つことが可能ですので、1 台のコンピュータはドメインネームシステムに複数の名前を持つことが可能です。
しかしながら、それぞれのマシンは本名 (または「canonical」名) で識別されます。この名前は /etc/hostname ファイルに保存され、hostname コマンドを通じた初期化スクリプトを使って Linux カーネルに伝えられます。マシン名の現在の値は仮想ファイルシステムの中に保存されており、cat /proc/sys/kernel/hostname コマンドで値を確認できます。
意外にもドメイン名は別の方法で管理されています。ドメイン名は名前解決を通じて得られるマシンの完全な名前で管理されています。マシンの完全な名前を変更するには /etc/hosts ファイルを使います。さらに以下の例に示す通り、マシンの完全な名前を /etc/hosts ファイルに書き込みます。マシン名のリストの最初に、そのマシンのアドレスに関連付けられた完全な名前を書きます。
127.0.0.1     localhost
192.168.0.1   arrakis.falcot.com arrakis

8.3.1. 名前解決

Linux における名前解決のメカニズムはモジュール式であり /etc/nsswitch.conf ファイルに宣言されたさまざまな情報源を取り扱うことが可能です。ホスト名解決に関連するエントリは hosts です。デフォルトでこのエントリには files dns が含まれています。これは名前解決の際にシステムは最初に /etc/hosts ファイルを、次に DNS サーバを参照することを意味しています。NIS/NIS+ や LDAP サーバも情報源として使うことが可能です。

8.3.1.1. DNS サーバの設定

DNS (ドメインネームサービス) は IP アドレスと名前を双方向に対応付ける分散型の階層的サービスです。具体的に言うと、このサービスは人間に都合の良い名前、たとえば www.eyrolles.com を実際の IP アドレス 213.244.11.247 に変換します。
DNS 情報にアクセスするには、DNS サーバが要求を中継するよう設定されていなければいけません。Falcot Corp は自分の DNS サーバを持っていますが、各ユーザは自分の ISP から提供された DNS サーバを使う傾向にあります。
以下の例のように、使われる DNS サーバは /etc/resolv.conf に書かれています。1 行につき 1 台の DNS サーバを書き、DNS サーバの IP アドレスの前に nameserver キーワードを書きます。
nameserver 212.27.32.176
nameserver 212.27.32.177
nameserver 8.8.8.8
NetworkManager がネットワークを管理していたり DHCP でネットワークを設定する場合、/etc/resolv.conf ファイルは自動的に取り扱われる (そして上書きされる) ことがある点に注意してください。

8.3.1.2. /etc/hosts ファイル

ローカルネットワーク内にネームサーバがない場合、/etc/hosts ファイルの中にローカルネットワークの機器向けに通常予約されている IP アドレスとマシンのホスト名の対応表を書くことで名前解決させることが可能です。/etc/hosts ファイルの構文はとても単純です。すなわち、各行は特定の IP アドレスとそれに関連する名前のリスト (リストの先頭に書く名前は「完全修飾名」でドメイン名を含みます) を表します。
/etc/hosts ファイルはネットワークが停止している場合や DNS サーバに到達できない場合にも利用できますが、ネットワーク上のすべてのマシンに /etc/hosts ファイルのコピーを配置できる場合を除けば役に立ちません。つまり、このファイルをほんの少しでも変更すれば、すべてのマシンでファイルの内容を更新しなければいけません。このため、通常 /etc/hosts には最重要のエントリだけが含まれています。
/etc/hosts ファイルによる名前管理は、インターネットに接続されていない小さなネットワークでは十分ですが、5 台以上のマシンで構成されるネットワークでは、適切な DNS サーバをインストールすることを推奨します。