Solaris ネーミングの管理

DNS サーバー

DNS サーバーには複数の機能があります。

個々の異なるサーバーの機能は、同一のマシン上でも実行可能です。たとえば、あるマシンを、あるゾーンの主マスターサーバーにし、同時に別のゾーンの副マスターサーバーにできます。このマニュアルでは、主サーバー、副サーバー、キャッシュオンリーサーバーというのは特定のマシンの呼び名ではなく、マシンがあるゾーンに対して果たしている役割のことを指しています。

マスターサーバー

マスターネームサーバーは、ゾーンに対応するすべてのデータを保持しています。マスターサーバーは一般に、権限があるネームサーバーと呼ばれます。任意のゾーンに対応するデータは 2 つ以上の権威があるサーバーで使用可能になっている必要があります。ここで、1 つのネームサーバーはマスターサーバーとし、少なくとも 1 つ以上はマスターサーバーとする必要があります。副マスターサーバーは、主マスターサーバーが使用できないときや負荷過剰のときのバックアップとして機能します。

サーバーは複数のゾーンに対するサーバーとして機能できます。すなわち、あるゾーンに対しては主マスターで、別のゾーンに対しては副マスターとなります。

主マスターサーバー

主マスターサーバーは、自分用のデータのマスターコピーを in.named の起動時にディスクから読み込む DNS ネームサーバーです。ゾーンの主マスターサーバーは、そのゾーンに対する変更を行なった場所にあります。主マスターサーバーは、そのゾーンに関する DNS 情報の情報源です。また、主マスターサーバーはそのゾーン内の副サーバーやゾーン外のサーバーに権限を任せることもあります。

副マスターサーバー

副マスターサーバーにはそのゾーン用のデータのコピーがあります。主サーバーはそのデータを副サーバーに送り、権限を任せます。クライアントは、DNS 情報を副サーバーに照会できます。副サーバーを使用することによって、負荷が複数のマシンに分散され、応答時間を短縮してネットワークのオーバーヘッドを減らすことができます。また、副サーバーは、主サーバーが使用できないときに代わりの機能を果たします。

副サーバーは in.named を起動するとき、ゾーンに関するすべての情報を主サーバーにリクエストします。副サーバーはデータベースを更新する必要があるかどうかを調べるために主サーバーを定期的にチェックします。最新のゾーンデータベースを主サーバーから副サーバーに送信するプロセスを「ゾーン転送」と呼びます。したがって、副サーバー上のデータファイルは変更しません。ゾーンの主サーバーのデータサーバーを変更します。そして、副サーバーのファイルは主サーバーから変更されます。

キャッシュサーバーとキャッシュオンリーサーバー

すべてのネームサーバーは「キャッシュサーバー」です。ネームサーバーは受け取ったデータをそれが期限切れになるまでキャッシュに書き込みます。期限切れのプロセスは、データに結びついている生存期間 (time-to-live = TTL) フィールドで制御されます。

さらに、どんなゾーンに対しても権限がない「キャッシュオンリーサーバー」を設定することもできます。キャッシュオンリーサーバーは、in-addr.arpa. ドメイン以外のゾーンだけに対してのマスターサーバーです。キャッシュオンリーサーバーは、権限があるネームサーバーが処理するのと同様の照会を扱いますが、権威データ自体は保持しません。

キャッシュオンリーサーバーは、権限があるサーバーより少ないメモリーで動作しますが、もし主サーバーまたは副サーバーが使用できない場合、キャッシュオンリーサーバーだけでは機能しません。

ルートドメインネームサーバー

DNS 名前空間には、ルートドメインに対して権限がある「ルートドメインネームサーバー」が 1 つ以上必要です。

ルートドメインネームサーバーを識別する情報はキャッシュファイルに格納されています。このマニュアルでも、またほとんどの Solaris のサイトでも、このキャッシュファイルを named.ca (このファイルのどこでも共通の別名は root.cachenamed.rootdb.cache) と呼びます。各サーバーのブートファイルには、ルートドメインネームサーバーの情報を保持しているファイルを識別するレコードがあります。

インターネットルートドメインサーバー

ネットワークがインターネットに接続されている場合、DNS ネームサーバーのブートファイルでは、共通キャッシュファイル (一般に named.ca と呼ばれる) を指定して、ルートドメインネームサーバーを識別する必要があります。このファイルのテンプレートは、以下のいずれかを通して、InterNIC から入手できます。

このマニュアルに記載の方法で DNS のファイルに名前を付けるのであれば、上記の方法で入手したファイルは、/var/named/named.ca とする必要があります。

非インターネットルートドメインサーバー

ネットワークがインターネットに接続されていない場合、ルートドメインネームサーバーとして機能するように 1 つ以上のサーバーを設定する必要があります。ネットワーク上のすべての DNS ネームサーバーのブートファイルで共通のキャッシュファイル (一般的には named.ca) を指示する必要があります。これで、ルートドメインネームサーバーが識別されます。次に、ルートドメインネームサーバーを識別するキャッシュファイルを作成します。

1 台のマシンを複数のマシンの主ドメインネームサーバーとすることができますので、ルートドメインネームサーバーを作成する最も簡単な方法は、最上位のドメインにサーバーを持ち、それを論理的な (.) ドメインのサーバーにすることです。

たとえば、ネットワークに solo というドメイン名を与えたとします。DNS マスターネームサーバーは dnsmaster.solo. (最後にドットを付ける) となります。この場合、dnsmaster を (.) ドメインのルートマスターサーバーとしたことになります。

ネットワークに最上位のドメインが複数ある場合、ルートドメインサーバー名は最上位のすべてのドメインの主ネームサーバーである必要があります。たとえば、ネットワークが、soloprivate という名前の非階層の 2 つのドメインに分かれているとすると、同じサーバーが両方のルートマスターサーバーである必要があります。上の例では、dnsmaster.solo. が、soloprivate の両方のドメインのルートドメインマスターとなります。