DNS のネームサーバーには、 in.named デーモンに加えて、 named.boot と呼ばれるブートファイル、 resolv.conf という名前のリゾルバファイル、4 つのタイプのゾーンデータファイルがあります。
内部的に矛盾がなければ、ゾーンデータファイルはどんな名前にもできます。このため、異なるサイトで作業をしようとする場合や DNS 関連のマニュアルや本を参照する場合に、混乱するかもしれません。 たとえば、Sun Microsystems, Inc のマニュアルやほとんどの Solaris のサイトのファイル名は、 『DNS and BIND』(Paul Albitz & Cricket Liu 著 浅羽登志也/上水流由香 監訳、アスキー出版局、1995年) で使用されている名前とは異なりますし、その両方の命名法は、『Name Server Operations Guide for BIND』(カリフォルニア州立大学刊、パブリックドメイン) での命名法とも若干異なります。
さらに、このマニュアルや他の DNS の文書では、そのファイルの主要な目的を表すために汎用的な名前が用いられ、レコードの例ではそのファイルに対して例として特定の名前が用いられています。たとえば、Solaris のネームサービスに関するマニュアルでは、ファイルの機能と役割を記述するために hosts が総称名として用いられ、db.doc と db.sales.doc という名前が、例として用いられています。
参考として、表 27-2 では上で述べた 3 つのマニュアルにおける BIND のファイル名を比較します。
表 27-2 BIND ファイル名 例
Solaris |
O'Reilly その他 |
カリフォルニア州立大学バークレイ校 |
ファイルの内容と役割 |
---|---|---|---|
/etc/named.boot |
/etc/named.boot |
/etc/named.boot |
ブートファイル。稼動させるサーバーの種類と制御対象のゾーンを指定する。ドメイン名とデータファイル名が記述されている |
/etc/resolv.conf |
/etc/resolv.conf |
/etc/resolv.conf |
各クライアント (DNS サーバー を含む) 上に存在するファイル。DNS 情報を探すためにクライアントが照会するサーバーを示す |
named.ca |
db.cache db.root |
root.cache |
ルートサーバーの名前とそのアドレスがリストされている |
総称名: hosts 例: db.doc db.sales |
総称名: db.domain 例: db.movie db.fx |
総称名: hosts 例: ucbhosts |
サーバーがサービスを提供するローカルゾーン内のマシンに関する全データが格納されている |
総称名: hosts.rev 例: doc.rev |
総称名: db.ADDR 例: db.192.249.249 db.192.249.253 |
hosts.rev |
逆変換 (アドレスから名前への変換) が可能な特殊ドメイン in-addr.arpa. 内のゾーンを指定する |
named.local |
総称名: db.cache 例: db.127.0.0 |
named.local |
ローカルループバックインタフェース (local host) 用のアドレスを指定する |
$INCLUDE ファイル |
$INCLUDE ファイル |
$INCLUDE ファイル |
データファイル内の $INCLUDE() ステートメントによって識別されるファイル |
ブートファイル (/etc/named.boot) で、サーバーは主サーバー、副サーバー、キャッシュオンリーネームサーバーのいずれかに確定されます。また、サーバーが権限を持つゾーンと初期データを読み込むデータファイルが指定されます。
ブートファイルは、in.named デーモンがサーバーの起動スクリプト /etc/init.d/inetsvc によって起動されるときに、in.named デーモンによって読み込まれます。ブートファイルは、指定されたドメインに対して in.named を他のサーバーまたはローカルデータファイルのいずれかに指定します。
named.ca ファイルによって、ルートサーバー名が確立され、そのアドレスが列挙されます。ネットワークがインターネットに接続されているなら、named.ca には、インターネットのネームサーバーが表示されます。接続されていなければ、ローカルネットワークのルートドメインネームサーバーが表示されます。in.named デーモンは、サーバーの 1 つに接続できるまで、サーバーのリストを一巡します。そして、そのサーバーから現在のルートサーバーのリストを入手します。デーモンは、このリストを named.ca の更新のために用います。
hosts ファイルには、ローカルゾーン内のマシンに関するすべてのデータが含まれています。 このファイル名は、ブートファイル内で指定します。/etc/hosts との混同を避けるために、hosts 以外の名前を付けます。たとえば、これらのファイルに db.domain パターンを使用して名前を付けることができます。この命名方法により、 doc.com と sales.doc.com ドメインのホストファイルは db.doc と db.sales になります。
hosts.rev ファイルで、逆 (アドレスから名前) マッピングを行うための特別な in-addr.arpa. ドメインのゾーンを指定します。このファイル名は、ブートファイル内で指定します。
named.local で、ローカルループバックインタフェースのアドレスまたはローカルホストをネットワークアドレス 127.0.0.1 とともに指定します。このファイル名はブートファイルで指定します。他のファイルと同様、このマニュアルで使われていない名前を付けることもできます。
インクルードファイルは、DNS データファイルの中の $INCLUDE() 文で指定された任意のファイルです。$INCLUDE ファイルは、異なるタイプのデータを便宜的に複数のファイルに分けるのに使うことができます。
たとえば、データファイルに次のような行が含まれているとします。
$INCLUDE /etc/named/data/mailboxes
この行によって、/etc/named/data/mailboxes ファイルがその時点で読み込まれます。この例では、/etc/named/data/mailboxes が、$INCLUDE ファイルです。$INCLUDE ファイルは必要に応じて、必要な数だけ使用します。必要がなければ使う必要はありません。