hosts データベースには、ネットワーク上のマシンの IPv4 アドレスとホスト名が入っています。NIS、NIS+、DNS (またはネームサービスとしての LDAP) のどれかのネームサービスを使用している場合は、hosts データベースは、ホスト情報用として指定されているデータベースに格納されます。たとえば、NIS+ を実行するネットワークでは、hosts データベースはホストテーブルに格納されます。
ネームサービスとしてローカルファイルを使用している場合は、hosts データベースは /etc/inet/hosts ファイルに格納されます。このファイルには、一次ネットワークインタフェースのホスト名と IPv4 アドレス、マシンに備わっている他のネットワークインタフェース、このマシンが検査する必要がある他のネットワークアドレスが入っています。
BSD ベースのオペレーティングシステムとの互換性を確保するために、/etc/hosts ファイルは /etc/inet/hosts へのシンボリックリンクになっています。
/etc/inet/hosts ファイルには、次のような基本構文を使用します。構文についての詳細は、hosts(4) のマニュアルページを参照してください。
IPv4-address hostname [nicknames] [#comment]
IPv4-address には、ローカルホストが認識する必要のある各インタフェースの IPv4 アドレスが入ります。
hostname には、設定時にマシンに割り当てたホスト名と、ローカルホストが認識しなければならない増設ネットワークインタフェースに割り当てたホスト名が入ります。
[nickname] は、ホストのニックネームが入ります (省略可能)。
[# comment] は、コメントを入れます (省略可能)。
Solaris インストールプログラムを実行すると、プログラムは初期 /etc/inet/hosts ファイルを設定します。このファイルには、ローカルホストにとって必要最小限のエントリが入っています。エントリには、ループバックアドレス、ホストの IPv4 アドレス、ホスト名が入っています。
たとえば、図 4–1 に示したマシン tenere については、Solaris インストールプログラムは次のような /etc/inet/hosts ファイルを作成します。
127.0.0.1 localhost loghost #loopback address 192.9.200.3 tenere #host name |
例 5–1 では、IPv4 アドレス 127.0.0.1 はループバックアドレスです。ループバックアドレスは、ローカルマシンがプロセス間通信するために使用する予約済みネットワークインタフェースです。これを使用して、ホストは自分自身にパケットを送信できます。ifconfig コマンドで説明するように、ループバックアドレスは、構成とテストのために ifconfig コマンドにより使用されます。TCP/IP ネットワーク上のすべてのマシンは、IP アドレス 127.0.0.1 をローカルホスト用に使用する必要があります。
IPv4 アドレス 192.9.200.1 と名前 tenere は、ローカルマシンのアドレスとホスト名です。これらは、マシンの一次ネットワークインタフェースに割り当てられます。
マシンには複数のネットワークインタフェースを持つものがあり、これらはルーターまたはマルチホームホストとなります。マシンに接続される増設ネットワークインタフェースごとに、専用の IPv4 アドレスとそれに割り当てる名前が必要です。ルーターまたはマルチホームホストを構成するときは、この情報を手作業でルーターの /etc/inet/hosts ファイルに追加する必要があります。ルーターとマルチホームホストの設定についての詳細は、ルーターの構成を参照してください。
例 5–2 は、図 4–1 に示したマシン timbuktu 用の /etc/inet/hosts ファイルです。
127.0.0.1 localhost loghost 192.9.200.70 timbuktu #This is the local host name 192.9.201.10 timbuktu-201 #Interface to network 192.9.201 |
timbuktu は、この 2 つのインタフェースを使用してネットワーク 192.9.200 と 192.9.201 をルーターとして接続します。
NIS、NIS+、DNS (またはネームサービスとしての LDAP) の各ネームサービスは、ホスト名とアドレスを 1 つまたは複数のサーバーで維持します。これらのサーバーは、各サーバーのネットワーク上のすべてのホストとルーター (もしあれば) に関する情報を含む hosts データベースを保持しています。これらのサービスの詳細については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』と『Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)』を参照してください。
ローカルファイルをネームサービスとして使用するネットワークでは、ローカルファイルモードで実行されているマシンは、各自の /etc/inet/hosts ファイルを調べて、ネットワーク上の他のマシンの IPv4 アドレスとホスト名を入手します。したがって、このマシンの /etc/inet/hosts ファイルには以下の事項が含まれている必要があります。
ループバックアドレス
ローカルマシン (一次ネットワークインタフェース) の IPv4 アドレスとホスト名
このマシンに接続している増設ネットワークインタフェース (もしあれば) の IPv4 アドレスとホスト名
ローカルネットワーク上のすべてのホストの IPv4 アドレスとホスト名
このマシンが認識する必要のあるルーター (もしあれば) の IPv4 アドレスとホスト名
このマシンでホスト名を使用して参照したいマシンの IPv4 アドレス
次のコード例は、マシン tenere の /etc/inet/hosts ファイルを示しています。このマシンはローカルファイルモードで実行されます。このファイルには、192.9.200 ネットワーク上のすべてのマシンの IPv4 アドレスとホスト名が含まれているという点に注意してください。また、このファイルにはインタフェース名 timbuktu-201 とその IPv4 アドレスが含まれています。このインタフェースは 192.9.200 ネットワークを 192.9.201 ネットワークに接続しています。
ネットワーククライアントとして構成されているマシンは、ローカル /etc/inet/hosts ファイルから、自己のループバックアドレスと IPv4 アドレスを入手します。