彩音 - UNIX - 研究室:XION - UNIX -laboratory
/etc/hosts

/etc/hosts は、小規模なLANにおいて、ドメイン名とIPアドレスの対応を記載しておくファイルです。典型的には、LAN内のホストに名前を付ける場合は、/etc/hosts を使用します。FreeBSDでは、sysinstall(8)でNICの設定を行った場合に、自身のホスト名と割り当てられたIPアドレス、ローカルホストの設定が /etc/hosts に書き込まれます。

/etc/hosts の設定は、gethostbyname(3) といった名前解決の標準関数で使用されます。システム標準の設定では、gethostbyname(3) は /etc/hosts の設定を検索して、そこで名前が解決しなければ、/etc/resolv.conf に記載されているDNSサーバに名前解決の問い合わせを行います。

/etc/hosts をよんでから、/etc/resolv.contを読むのか、またはその逆か、どちらか片方しか見ないのかと言った設定は、従来は /etc/host.conf ファイルで行っていました。しかし、FreeBSD 5.0-RELEASEからは、より包括的な名前解決の設定ファイルである /etc/nsswitch.conf で行っています。

/etc/hostsの例


127.0.0.1 localhost localhost.example.co.jp

192.168.0.20 freebsd.example.co.jp freebsd
192.168.0.20 freebsd.example.co.jp.

192.168.0.21 remote.example.co.jp remote
192.168.0.21 remote.example.co.jp.

IPアドレス、ドメイン名、ホスト名(短縮名)の順で1行に記述します。上記の「/etc/hostsの例」の場合、localhostとして 127.0.0.1 が設定され、自分の設定として freebsd.example.co.jp が 192.168.0.20 に設定されています。remote.example.co.jp. は同じセグメントにある別のホストの設定です。たとえばこの場合、remote.example.co.jpは /etc/hosts に設定されているので、192.168.0.21 というIPアドレスだけではなく、remote.example.co.jp や rempte の名前でアクセスすることができます。
少なくとも、sysinstall(8) を使って NIC を設定を行うか、/etc/hosts を直接編集するかして、localhost と自分のホスト名の設定だけは行っておいて下さい。この場合、ドメイン名としては短い名前だけではなく、必ずFQDNを指定して下さい。FQDNを指定しておかないとmうまく動作しないことがあります。ドメイン名が無い場合は、ホスト名.localhost を使用します。