DNS サーバーには次の役割のいくつかを果たします。
「ゾーン主マスターサーバー」
各ゾーンには、主マスターサーバーを 1 ずつ指定します。主マスターサーバーとは、そのゾーンにおける正規の機能を有するサーバーのことをいいます (「主マスターサーバーの指定」を参照)。
「ゾーン副マスターサーバー」
各ゾーンには、「副」マスターサーバーを 1 つまたは複数指定します。副マスターサーバーは、そのゾーンにおける主マスターサーバーから DNS を取得するサーバーのことをいいます。副サーバー上のデータは直接変更しません。あるゾーンの主サーバー上のデータファイルが変更された場合、主サーバーを通じて副サーバーのファイルが更新されます (「副マスターサーバーの指定」を参照)。
「キャッシュ専用サーバー」
DNS データをキャッシュ維持するという意味では、すべてのサーバーがキャッシュサーバーであるといえます。キャッシュ専用サーバーは、in-addr.arpa. ドメイン以外のいかなるゾーンのマスターサーバーではないサーバーです。 (「キャッシュ専用サーバーの指定」を参照)。
「ルートドメインサーバー」
インターネットに接続されているネットワークでは、ルートドメインサーバーがインターネット上に置かれることになります。この場合は、named.ca ファイルに各ルートドメインサーバーの IP アドレスを指定するだけで済みます (「named.ca ファイルの設定」を参照)。ネットワークがインターネットに接続されていない場合は、独自にルートドメインサーバーを設定しなければなりません (「非インターネットルートマスターの設定」を参照)。
これらの様々なサーバーの機能は同じマシンで実行できます。たとえば、あるゾーンで主マスターサーバーとして使っているマシンを、他のゾーンでは副マスターサーバーとして使うことができます。本書で「主」、「副」、「キャッシュ専用」とマシンを形容している場合、それは特定のマシンを指しているのではなく、あるゾーンでマシンに割り当てられた役割を指しています。
これらのサーバーの役割の詳細は、『Solaris ネーミングの管理』を参照してください。
あるゾーンであるマシンを主サーバーとして使うことを指定する場合は、そのマシン (サーバー) 上の named.boot ファイルに次の 3 つの「主」レコードを書き込みます。
ゾーンの「主」レコードを作成します。
このレコードは、そのサーバーを主サーバーとして使用するゾーンを指定し、正規の hosts ファイルの場所を示すものです。この「主」レコードは次の 3 つのフィールドで構成されます。
第 1 フィールド - サーバーを主 (primary) サーバーとして指定する
第 2 フィールド - 対象のゾーンを指定する
次に示すブートファイルの行は、あるサーバーを doc.com ゾーンで主サーバーとして使い、正規の hosts ファイルとして db.doc を使うことを示すものです。
primary doc.com db.doc
このレコードは、そのサーバーを逆アドレス変換 (つまり、doc.com の逆アドレスドメイン) の主サーバーとして使うことを指定し、正規の hosts ファイルの場所を示すものです。この「主」レコードには 3 つの構成要素があります。第 1 フィールドではサーバーを主サーバーとして指定します。第 2 フィールドでは対象のゾーンを指定します。第 3 フィールドでは hosts.rev ファイルを指定します。
あるゾーンにおける逆アドレスドメインは、そのゾーンにおける IP アドレスを逆にならべ、最後に in-addr.arpa を配したものです。たとえば、doc.com ゾーンの IP アドレスが 123.45.6. だとすると、逆アドレスドメインは 6.45.123.in-addr.arpa になります。
次に示すブートファイルの行は、そのサーバーを doc.com ゾーンの逆アドレスドメインで主サーバーとして使い、正規の hosts ファイルとして doc.rev を使うことを示すものです。
primary 6.45.123 . in-addr.arpa doc.rev
ローカルループバック (ホスト) の逆アドレス関連の「主」レコードを作成します。
このレコードは、そのサーバーをループバックホストの主サーバーとして使うことを指定し、正規の hosts ファイルの場所を示すものです。この「主」レコードには 3 つの構成要素があります。第 1 フィールドではサーバーを主サーバーとして指定します。第 2 フィールドではループバックホストのリバースアドレスを指定します。第 3 フィールドでは hosts.rev ファイルを指定します。
ループバックホストは常に、0.0.127.in-addr.arpa といった書式で識別されます。
次に示すブートファイルの行は、そのサーバーをループバックホストの逆アドレスドメインで主サーバーとして使い、正規の hosts ファイルとして named.local を使うことを示すものです。
primary 0.0.127.in-addr.arpa named.local
あるゾーンであるマシンを副サーバーとして使うことを指定する場合は、そのマシン (サーバー) 上の named.boot ファイルに「副」レコードを書き込みます。別々のレコードにより、サーバーをそのゾーン、逆アドレスドメイン、およびループバックホストの副サーバーとして指定できます。
この「副」レコードは次の 3 つのフィールドで構成されます
第 1 フィールド - サーバーを副サーバーとして指定する
第 2 フィールド - 対象のゾーンを指定する
第 3 フィールド - そのゾーンの主サーバーの IP アドレスを指定する。副サーバーは主サーバーから正規データを取得する
「副」レコードでは、必須フィールドに続けて 1 つまたは複数の任意フィールドを設けることができます。任意フィールドには次の種類があります。
「副サーバー」
主サーバーの IP アドレスに続けて、他の副サーバーの IP アドレスを指定できます。これにより、副サーバーが情報を入手できる情報源が増えます。一方、状況によっては、副サーバーの IP アドレスを指定することで、パフォーマンスが下がることも考えられます (IP アドレスがマルチホーム主サーバーのもう一方のネットワークアドレスである場合を除く)。
「バックアップファイル」
主サーバー (および任意指定の副サーバー) の IP アドレスに続けて、バックアップ hosts ファイルの名前を指定できます。バックアップファイル名を指定すると、副サーバーはそのバックアップファイルからデータをロードし、続いて主サーバー (および任意指定の副サーバー) をチェックしてバックアプリケーションファイルのデータが最新のものであるかどうかを確認します。その結果、最新ではないことが分かった場合は、主サーバーから受け取った情報に基づいて更新されます。
次に示すブートファイルの行は、あるサーバーを doc.com ゾーンと逆アドレスドメインの副サーバーとして使うことを示します。さらに、その副サーバーが IP アドレス 129.146.168.119 の主サーバーから正規データを受け取り、サーバー 192.146.168.38 をゾーンデータの副情報源として使い、最初に doc.com.bakup ファイルから初期データをロードすることを示します。
secondary doc.com 129.146.168.119 192.146.168.38 doc.com.bakup secondary 4.0.32.128.in-addr.arpa 129.146.168.119
この章で紹介するさまざまなサンプルファイルの中で、サーバー dnssecondary (IP アドレス 192.146.168.38 の sirius マシンの別名) のブートファイルがたびたび登場しますが、そのいずれもが上記のブートファイルを指しています。
1 台のサーバーは、1 つまたは複数のゾーンの主サーバーとして機能し、さらに 1 つまたは複数のゾーンの副サーバーとしても機能できます。これを決めるのは、ブートファイル内のエントリの組み合せです。
キャッシュ専用サーバーは正規データは一切管理しません。キャッシュ専用サーバーは照会を行い、in.named ファイルにリストされているホストを照会して必要な情報を探します。つまり、キャッシュ専用サーバーは、正規のネームサーバーと同様の照会を行いますが、正規データそのものは一切管理しません。
例 13-3 では、キャッシュ専用サーバー用のブートファイルのサンプルを示します。
; ; Sample named.boot file for caching-only name server ; ; type domain source file or host ; directory /var/named cache . named.ca primary 0.0.127.in-addr.arpa named.local
サーバーをキャッシュ専用サーバーとして指定するための行は特に必要ありません。ブートファイル内に secondary または primary など、権限に関する行がないということが、キャッシュ専用サーバーであると判断する根拠になります(以下に示すものを除く)。
ブートファイルの directory 行
ブートファイルの primary 0.0.127.in-addr.arpa 行
ブートファイルの cache . named.ca 行