Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)

DNS サブドメインの作成

ネットワークは大きくなっていくので、ネットワークを複数の DNS サブドメインに分割すると便利です (DNS のドメインの階層と構造については、DNS 名前空間の階層を参照)。

ネットワークを親ドメインと 1 つ以上のサブドメインに分割すると、負担が複数のドメインに分散して、各 DNS サーバーの負荷は減ります。この方法で、ネットワークのパフォーマンスを改善できます。たとえば、ネットワークに 900 台のマシンがあり、すべてがひとつのドメインにあるとします。この場合、1 台のマスターサーバー、1 台以上のスレーブサーバーとキャッシュ専用サーバーからなる DNS のサーバーの集合では、900 台のマシンをサポートしなければなりません。このネットワークを各ドメインが 300 台ずつの 1 つの親ドメインと 2 つのサブドメインに分割すると、マスターサーバーとスレーブサーバーの組は 3 つとなり、それぞれ 300 台だけを担当することになります。

ネットワークを物理的または組織的な構成に合うように複数のドメインに分割することによって、DNS ドメイン名はどこに対象とするマシンがあるか、電子メールのアドレスが組織のどこにあたるのかを指し示すことになります。たとえば、rigel@alameda.doc.com は、マシン rigel が Alameda というサイトにあることを意味し、電子メールのアドレス barnum@sales.doc.com は、ユーザー barnum が営業 (sales) 部署の者であることを意味します。

ネットワークを複数のドメインに分けると、すべてをひとつのドメインに置く場合よりも設定作業が増えます。また、ドメインを互いにつなぐ委託データを保持しなければなりません。一方で、複数のドメインを持つと各ドメインの保守をそれぞれの管理者またはチームに分散させることができます。

サブドメインの設計

次に、ネットワークを 1 つの親ドメインと 1 つ以上のサブドメインに分割するにあたって考慮すべき点をいくつかあげます。

サブドメインの設定

ほとんどの場合、新しいサブドメインは、新しいネットワークやマシンを接続するか、既にあるドメインを分ける場合に作成されます。どちらの場合も、プロセスはよく似ています。

新しいサブドメインを設計した後、次の手順に従って設定します。

サブドメインを設定する方法
  1. 新しいサブドメイン内のすべてのマシンが DNS クライアントとして正しく設定されていることを確認してください。

    既存のドメインから新しいサブドメインを分ける場合、ほとんどのマシンは DNS クライアントの設定が既にされているはずです。新しいサブドメインを最初から構築する場合、あるいは既存のネットワークに新しいマシンを追加する場合は、正しく設定された resolv.conf ファイルと nsswitch.conf ファイルを各マシンにインストールする必要があります。

  2. 正しく設定された起動ファイルと DNS データファイルをサブドメインのマスターサーバーにインストールします。

    • /etc/named.conf

    • /var/named/named.ca

    • /var/named/hosts

    • /var/named/hosts.rev

    • /var/named/named.local

    サーバーのホストファイルには、サブドメイン内のマシンごとにアドレス (A) レコードと、場合によっては CNAME レコードが必要です。また、サーバーの hosts.rev ファイルには、サブドメイン内のマシンごとにポインタ (PTR) レコードが必要です。任意指定の HINFOWKS レコードも追加できます。

  3. 既存のドメインを分割する場合は、新しいサブドメインのマシン用のレコードを親ドメインのマスターサーバーの hosts ファイルと hosts.rev ファイルから削除してください。

    そのためには、現在新しいサブドメイン内にあるマシン用の A レコードを古いドメインサーバーのホストファイルから削除します。また、同じマシンの PTR レコードを古いドメインサーバーの hosts.rev ファイルから削除します。移動するマシン用の任意指定の HINFO レコードと WKS レコードも、削除する必要があります。

  4. 既存のドメインを分割する場合は、新しいサブドメイン名を、親ドメインのマスターサーバーのホストファイル内の CNAME レコードに追加します。

    たとえば、aldebaran というマシンをファックスサーバーとして使っているとします。また親ドメインのサーバーのホストファイル内の CNAME レコードが次のとおりであるとします。


    faxserver   IN   CNAME   aldebaran

    新しい faxserverCNAME レコードを、aldebaran のために、新しいサブドメインのマスターサーバーにあるホストファイル内に作成するとともに、下記のように aldebaran のサブドメインが含まれるように、親ドメインのホストファイル内の CNAME レコードも変更する必要があります。


    faxserver   IN   CNAME   aldebaran.manf.doc.com
  5. 新しいサブドメインのサーバーの NS レコードを、親ドメインのホストファイルに追加します。

    たとえば、親ドメインは 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 
  6. 新しいサブドメインのサーバー用の 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
  7. サブドメインのサーバー上の named を起動します。

    # /usr/sbin/in.named

    コマンド行から in.named を実行する代わりに、リブートします。in.named と DNS ネームサーバーを参照してください。