サブドメインの設定方法には、次の 2 通りがあります。
「単一ゾーン」
最も簡単な方法は、サブドメインを親ドメインのゾーンに含めることです。こうすると、1 セットの DNS サーバーとデータファイルでドメインに関係なくすべてのマシンを管理できます。詳細は、「単一ゾーンのサブドメインの設定」を参照してください。
単一ゾーン方式の長所は、管理が簡素化され簡単なことです。短所は 1 セットのサーバーですべてのゾーンのドメインにあるマシンを管理しなければならないということです。マシンの数が多すぎると、サーバーの負荷が大きくなり過ぎ、パフォーマンスが低下することがあります。
「複数ゾーン」
異なるゾーンに異なるドメインを含めることができます。あるゾーンのクライアントから他のゾーンのホストに関する情報をどうやって集めるかを考えなければならないので、この方法は上の方法より複雑です。詳細は、「複数ゾーンのサブドメインの設定」を参照してください。
複数ゾーン方式の長所は、ドメインごとにその中のマシンを管理するサーバーセットを変更できるということです。つまり、サーバーの負荷を分散させ、1 セットのサーバーに負荷が集中するのを防ぐことができます。短所は、設定時の作業が複雑になることです。
複数のドメインで構成されているゾーンのデータファイルには、そのゾーンによってカバーされる各ドメインのすべてのマシンとサーバーに関わるレコードが必要です。
複数のドメインで構成されているゾーンを設定するのも、単一ドメインで構成されているゾーンを設定するのも、やることは基本的に同じです。唯一の相違は、リモートドメインのマシンを識別できるようにするために、hosts ファイルには完全指定のドメイン名を使用しなければならないということです。サーバーのローカルドメインにあるマシンであれば、hosts ファイルにマシン名しか指定されていなくても識別できます。しかし、他のドメインにあるマシンを識別するには、完全指定のドメイン名、つまり machine.domain という書式で指定しなければなりません。
hosts.rev ファイルと named.local ファイルに指定するサーバー名やマシン名は、完全指定のドメイン名を使用する必要があります。しかし、これはゾーンがいくつのドメインで構成されているかを問いません。
異なるゾーンのサブドメインを設定するのは、1 つのゾーンに複数のドメインを含めるのよりも複雑です。というのも、さまざまなゾーンにあるクライアントが、他のゾーンの DNS 情報を得る方法を指定しなければならないからです。
ネットワークを複数のドメインに分ける場合、ドメインを階層化します。必ず最上位のドメインがあって、その下に 1 つまたは複数のサブドメインがあります。サブドメインの下にサブドメイン作ることもできます。しかし、どのサブドメインにも、階層構造の中で決まった場所があります。ドメイン名は左から右に読んでいくと、階層内におけるドメインの位置を示していることがわかります。たとえば、doc.com ドメインは sales.doc.com の上にあり、west.sales.doc.com ドメインは sales.doc.com ドメインの下にあることがわかります。
DNS ゾーンはそれが含むドメインから階層を取り込みます。ネットワークのトップドメインを含むゾーンはトップゾーンになります。トップドメインの下のサブドメインを 1 つまたは複数含むゾーンは、ゾーンの階層でいえばトップゾーンの下のゾーンになります。DNS 情報をあるゾーンから別のゾーンへ移動させるということは、このゾーン階層の中を上下に移動させるということです。つまり、各ゾーンは、すぐ上のゾーンに情報を渡すにはどうするか、すぐ下のゾーンに情報を渡すにはどうするかを、専用のデータファイルに指定しておく必要があります。
複数のゾーンで構成されているネットワークの中で、DNS 情報をあるゾーンから別のゾーンへ正確に転送させるために必要なことがらを以下に示します。
hosts.rev ファイル
すぐ上のゾーンにある 1 つまたは複数のマスターサーバー名を指し示す PTR レコードが各 hosts.rev ファイルに必要です。上位ゾーンのサーバーを指し示すということを除けば、この種の PTR レコードは、ファイル内のその他の PTR レコードとまったく同じのものです。
hosts ファイルの NS レコード
すぐ上のゾーンにあるネームサーバー名を指し示すゾーン NS レコードが各 hosts ファイルに必要です。この種の NS レコードは、その最初のフィールドに、下のゾーン名が指定されていなければなりません。(ゾーンの名前は、そのゾーンの host ファイルの SOA レコードに指定されています。)
hosts ファイルの A レコード
すぐ下のゾーンにあるネームサーバーの IP アドレスを指し示す A レコードが各 hosts ファイルに必要です。この種の A レコードは、その最初のフィールドに、下のゾーン名が指定されていなければなりません。(ゾーン名は、そのゾーンの host ファイルの SOA レコードに指定されています。)
「実例 」は、2 つのゾーンを有するネットワークを示します。