TCP/IP とデータ通信

hosts データベース

hosts データベースには、ネットワーク上のマシンの IP アドレスとホスト名が入っています。NIS、NIS+、DNS のどれかのネームサービスを使用している場合は、hosts データベースは、ホスト情報用として指定されているデータベースに格納されます。たとえば、NIS+ を実行するネットワークでは、hosts データベースはホストテーブルに格納されます。

ネームサービスとしてローカルファイルを使用している場合は、hosts データベースは /etc/inet/hosts ファイルに格納されます。このファイルには、一次ネットワークインタフェースのホスト名と IP アドレス、マシンに備わっている他のネットワークインタフェース、このマシンが認識している必要がある他のネットワークアドレスが入っています。


注 -

BSD ベースのオペレーティングシステムとの互換性を確保するために、/etc/hosts ファイルは /etc/inet/hosts へのシンボリックリンクになっています。


/etc/inet/hosts ファイルの形式

/etc/inet/hosts ファイルには、次のような基本構文を使用します (構文についての詳細は、hosts(4) のマニュアルページを参照してください)。

IP-address hostname [nicknames] [#comment]

IP-address には、ローカルホストが認識する必要のある各インタフェースの IP アドレスが入ります。

hostname には、設定時にマシンに割り当てたホスト名と、ローカルホストが認識しなければならない増設ネットワークインタフェースに割り当てたホスト名が入ります。

[nickname] は、ホストのニックネームが入ります (省略可能)。

[# comment] は、コメントを入れることができます (省略可能)。

初期 /etc/inet/hosts ファイル

Solaris インストールプログラムを実行すると、プログラムは初期 /etc/inet/hosts ファイルを作成します。このファイルには、ローカルホストにとって必要最小限のエントリ (ループバックアドレス、IP アドレス、ホスト名) が入っています。

たとえば、図 4-1 に示したマシン ahaggar については、Solaris インストールプログラムは次のような /etc/inet/hosts ファイルを作成します。


例 4-1 マシン ahaggar 用の/etc/inet/hosts ファイル


127.0.0.1     localhost         loghost    #loopback address
192.9.200.3   ahaggar                      #host name

ループバックアドレス

例 4-1 では、IP アドレス 127.0.0.1 はループバックアドレスです。ループバックアドレスはローカルマシンが使用する予約済みネットワークインタフェースで、これによりプロセス間通信が可能になり、ローカルマシンは自分自身にパケットを送ることができます。ifconfig コマンド」で説明するように、ループバックアドレスは、構成とテストのために ifconfig コマンドにより使用されます。TCP/IP ネットワーク上のすべてのマシンは、IP アドレス 127.0.0.1 を、ローカルホスト用に使用する必要があります。

ホスト名

IP アドレス 192.9.200.3 と名前 ahaggar は、ローカルマシンのアドレスとホスト名です。これらは、マシンの一次ネットワークインタフェースに割り当てられます。

複数のネットワークインタフェース

マシンには複数のネットワークインタフェースを持つものがあり、これらはルーターまたはマルチホームホストとなります。マシンに接続される増設ネットワークインタフェースごとに、専用の IP アドレスとそれに割り当てる名前が必要です。ルーターまたはマルチホームホストを構成するときは、この情報を手作業でルーターの /etc/inet/hosts ファイルに追加する必要があります。(ルーターとマルチホームホストの設定についての詳細は、第 5 章「ルーターの構成」を参照してください)。

例 4-2 は、図 4-1 に示したマシン timbuktu 用の /etc/inet/hosts ファイルです。


例 4-2 マシン 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 を、ルーターとして接続します。

ネームサービスの hosts データベースに対する影響

NIS、NIS+、DNS の各ネームサービスは、ホスト名とアドレスを 1 つまたは複数のサーバーで維持します。これらのサーバーは、各サーバーのネットワーク上のすべてのホストとルーター (もしあれば) に関する情報を含む hosts データベースを保持しています。これらのサービスについては、『Solaris ネーミングの管理』を参照してください。

ローカルファイルがネームサービスを提供する場合

ローカルファイルをネームサービスとして使用するネットワークでは、ローカルファイルモードで実行されているマシンは、各自の /etc/inet/hosts ファイルを調べて、ネットワーク上の他のマシンの IP アドレスとホスト名を入手します。したがって、/etc/inet/hosts ファイルには以下の事項が含まれている必要があります。

例 4-3 に、ローカルファイルモードで実行されるマシンである tenere/etc/inet/hosts ファイルを示しています。このファイルには、192.9.200 ネットワーク上のすべてのマシンの IP アドレスとホスト名が含まれているという点に注意してください。また、192.9.200 ネットワークを 192.9.201 ネットワークに接続するためのネットワークインタフェースの IP アドレスと、インタフェース名 timbuktu-201 も含まれています。

ネットワーククライアントとして構成されているマシンは、ローカル /etc/inet/hosts ファイルから、自己のループバックアドレスと IP アドレスを入手します。


例 4-3 ローカルファイルモードで実行されるマシン用の /etc/inet/hosts ファイル

Graphic