ネットワークは大きくなっていくので、ネットワークを複数の DNS サブドメインに分割すると便利です。DNS のドメインの階層と構造については、DNS 名前空間の階層を参照してください。
ネットワークを親ドメインと複数のサブドメインに分割すると、負担が複数のドメインに分散して、各 DNS サーバーの負荷は減ります。このため、ネットワークのパフォーマンスは改善されます。
ネットワークを地理的または組織的な構成に合うように複数のサブドメインに分割することによって、DNS ドメイン名はどこに対象とするマシンがあるか、電子メールのアドレスが組織のどこにあたるのかを指し示すことになります。たとえば、rigel@alameda.doc.com は、マシン rigel が Alameda というサイトにあることを意味し、電子メールのアドレス barnum@sales.doc.com は、ユーザー barnum が営業 (sales) 部署の者であることを意味します。
ネットワークを複数のドメインに分けると、すべてをひとつのドメインに置く場合よりも設定作業が増えます。また、ドメインを互いにつなぐ委託データを保持しなければなりません。一方で、複数のドメインを持つと各ドメインの保守をそれぞれの管理者に分散させることができます。
次に、ネットワークを 1 つの親ドメインと複数のサブドメインに分割するにあたって考慮すべき点をいくつかあげます。
「サブドメインの数」。作成するサブドメインの数が多ければ、それだけ初期設定の作業が増え、運用時の親ドメインの管理者の調整作業も増えます。一方で、ドメインの数が少ないということは、各ドメインが大きいということを意味し、ドメインが大きければそれをサポートするためにサーバーのスピードやメモリーが余計必要になります。
「ネットワークの分割方法」。ネットワークはどのようにでも複数のドメインに分割できます。重要なのは、ドメインの構造が統一されていて論理的かつ自明であれば、管理はより簡単になるということです。
「将来に対する考慮」。もっとも問題が多いのは、新しいサイトや部が増えるに従って、サブドメインが無計画に追加されて大きくなったドメインです。可能な限り、将来のドメインの拡大を見越してドメインの階層を設計してください。安定性も考慮に入れてください。最も安定しているものを基礎として、サブドメインを分けるようお勧めします。たとえば、地理的なサイトは比較的安定しているけれども、部や課が頻繁に再編成されるなら、サブドメインは組織よりも地理的な位置に基づいて決定する方が良いでしょう。一方、組織は比較的安定しているがサイトが頻繁に追加される場合は、サブドメインを組織の階層に基づいて決定する方が良いでしょう。
「広域ネットワーク (WAN) とのリンク」。ドメインが広域ネットワーク (WAN) に広がっていないなら、パフォーマンスと信頼性は高くなります。多くの場合、WAN のリンクは連続的なネットワーク接続より遅く失敗に終わる傾向があります。サーバーが、WAN のリンク経由だけで接続できるマシンをサポートする場合は、より遅いリンクを経由するトラフィックファネリングが増加することになります。1 つのサイトで停電や何か他の問題が起こった場合には、他のサイトのマシンにも影響が及ぶ可能性があります。同様のパフォーマンスと信頼性の配慮は DNS ゾーンについても必要です。一般的な方法として、ゾーンをWAN のリンクに広げないようにすることをお勧めします。
「NIS+ 互換性」。エンタープライズレベルのネームサービスが NIS+ である場合は、DNS と NIS+ のドメイン構造とサブドメイン構造が一致すると管理がより簡単になります。
「サブドメイン名」。サブドメインに名前を付けるのに一貫したポリシーを確立してそれを守ってください。ドメイン名が一貫していれば、ユーザーは簡単に記憶し正しく指定できます。ドメイン名はすべてのDNS データファイルで重要な要素です。サブドメインを変更すると、古いドメイン名があるすべてのファイルを修正する必要があります。したがって、安定していて変更の必要がないと思われるサブドメイン名を選択するようにしてください。サブドメイン名として manufacturing のように完全指定することもできますし、manf のように短縮して指定することもできます。しかし、あるサブドメインが短縮形で指定され他が完全指定された場合、利用者は混乱します。短縮形を使用するのであれば、名前を識別するのに十分な文字数にしてください。短かすぎる名前は利用や記憶が困難だからです。最上位のインターネットのドメイン名として使用されている名前をサブドメイン名として使わないで下さい。すなわち、org、net、com、gov、edu と、2 文字の国のコード jp、uk、ca、it などは、サブドメイン名として使うことはできません。
ほとんどの場合、新しいサブドメインは、新しいネットワークやマシンを接続するか、既存のドメインを分ける場合に作成されます。どちらの場合も、プロセスはよく似ています。
新しいサブドメインを設計した後、次の手順に従って設定します。
新しいサブドメイン内のすべてのマシンが DNS クライアントとして正しく設定されていることを確認してください。
既存のドメインから新しいサブドメインを分ける場合、ほとんどのマシンは DNS クライアントの設定がすでにされているはずです。既存のネットワークに新しいマシンを追加する場合は、正しく設定された resolv.conf ファイルと nsswitch.conf ファイルを各マシンにインストールする必要があります。
正しく設定された起動ファイルと DNS データファイルをサブドメインのマスターサーバーにインストールします。
/etc/named.conf
/var/named/named.ca
/var/named/hosts
/var/named/hosts.rev
/var/named/named.local
サーバーのホストファイルには、サブドメイン内のマシンごとにアドレス (A) レコードと、場合によっては CNAME レコードが必要です。また、サーバーの hosts.rev ファイルには、サブドメイン内のマシンごとにポインタ (PTR) レコードが必要です。任意指定の HINFO と WKS レコードも追加できます。
ドメインを分割する場合は、新しいサブドメインのマシン用のレコードをマスターサーバーの hosts と hosts.rev ファイルから削除してください。
そのためには、現在新しいサブドメイン内にあるマシン用の A レコードを古いドメインサーバーの hosts ファイルから削除します。また、同じマシンの PTR レコードを古いドメインサーバーの hosts.rev ファイルから削除します。移動するマシン用の任意指定の HINFO レコードと WKS レコードも、削除する必要があります。
既存のドメインを分割する場合は、新しいサブドメイン名を、マスターサーバーの hosts ファイル内の CNAME レコードに追加します。
たとえば、aldebaran というマシンをファックスサーバーとして使うとします。このファックスサーバーの親ドメインのサーバーの hosts ファイル内の CNAME レコードが次のとおりであるとします。
faxserver IN CNAME aldebaran |
新しいマスターサーバーの hosts ファイル内に、aldebaran 用の faxserver CNAME レコードを作成します。また、以下のように親ドメインの hosts ファイル内の CNAME レコードを変更して、aldebaran のサブドメインを含める必要もあります。
faxserver IN CNAME aldebaran.manf.doc.com |
新しいサブドメインのサーバーの NS レコードを、親ドメインの hosts ファイルに追加します。
たとえば、親ドメインは doc.com で、manf.doc.com という新しいサブドメインを作成しているとします。また、このとき rigel というマシンを manf のマスターサーバーとして指定し、aldebaran をスレーブサーバーとして指定するとします。この場合、次のレコードを doc.com のマスターサーバーの hosts ファイルに追加することになります。
manf.doc.com 99999 IN NS rigel.manf.doc.com 99999 IN NS aldebaran.manf.doc.com |
新しいサブドメインのサーバー用の A レコードを、親ドメインの hosts ファイルに追加します。
この場合、次のレコードを doc.com のマスターサーバーの hosts ファイルに追加することになります。
rigel.manf.doc.com 99999 IN A 1.22.333.121 aldebaran.manf.doc.com 99999 IN A 1.22.333.136 |
サブドメインのサーバー上の named を起動します。
# /usr/sbin/in.named
コマンド行から in.named を実行する代わりに、リブートします。in.named と DNS ネームサーバーを参照してください。