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

DNS 用ネットワークの構成

DNS 用のネットワークを構成する場合は、クライアントとサーバーを設定する必要があります。

DNS クライアントの設定

DNS サーバーを設定する前に、クライアントを設定します。

DNS クライアントを設定する方法
  1. /etc/resolv.conf ファイルを作成します。

    次に、doc.com ドメインのクライアント (非サーバー) マシン用の簡単な resolv.conf ファイルの例を示します。


    例 4–2 resolv.conf ファイルの例


    ; Sample resolv.conf file for the machine polaris
    domain doc.com
    ; try local name server
    nameserver 10.0.0.1
    ; if local name server down, try these servers
    nameserver 192.168.16.6
    nameserver 192.168.16.7
    ; sort the addresses returned by gethostbyname(3c)
    sortlist
    130.155.160.0/255.255.240.0
    130.155.0.0

    /etc/resolv.conf ファイルの最初の行では、ドメイン名を次の書式で指定します。


    domain domainname
    

    ここで、domainname は インターネット管理組織(このドキュメントの執筆時点では InterNIC。日本では JPNIC) に登録されている名前です。


    注 –

    ドメイン名の末尾にスペースまたはタブを使うことはできません。ドメイン名の最後の文字を入力したら、必ずキャリッジリターンで強制改行してください。


    2 行目では、ループバックネームサーバーを次の書式で指定します。


    nameserver 10.0.0.1

    それ以降の行では、DNS マスターネームサーバー、DNS スレーブネームサーバー、またはキャッシュ専用ネームサーバー の IP アドレスを最大 3 つまで指定します。4 つ以上指定することはできません。各行の書式は次のとおりです。


    nameserver IP_address
    

    IP_address には、マスターDNS ネームサーバーまたはスレーブ DNS ネームサーバーの IP アドレスを指定します。リゾルバは、必要な情報が見つかるまで、ここに指定されている順番どおりにネームサーバーを探していきます。

    /etc/resolv.conf ファイルの 5 行目では、アドレス sortlist を次の書式で指定します。


    sortlist
    addresslist
    

    addresslist は、gethostbyname(3c) によって戻されるアドレスのソート順序を示します。上記の列では、gethostbyname は、IP アドレス 130.155.0.0 より先に 1 組のネットマスク 130.155.160.0/ 255.255.240.0 を戻します。

  2. /etc/nsswitch.conf ファイルを変更します。

    「NIS」。エンタープライズレベルで主として使っているネームサービスが NIS で、設定に問題がない場合、DNS はすでに使用可能になっています。

    「ファイルベース」。エンタープライズレベルで主として使っているネームサービスが /etc ファイルベース、または NIS+ の場合は、次の手順に従います。

    1. スーパーユーザーになります。

    2. /etc/nsswitch.conf ファイルをオープンします。

    3. DNS は、ホスト情報のソースとして、「唯一の」ソースとしても「追加の」ソースとしても使用できます。/etc/nsswitch.conf hosts 行を次のいずれかのように変更して、DNS をホスト情報のソースとすることを指定します。


      hosts: files dns

      または


      hosts: nis dns [NOTFOUND=return] files

      または


      hosts: dns nis [NOTFOUND=return] files

      NIS クライアントの場合は、上記の指定をしないでください。この指定をすると、名前を見つけることができない場合に 2 度 DNS から検索することになります。

    4. ホスト情報のソースとして DNS を指定します。

    5. ファイルを保存してリブートします。

DNS サーバーの設定

DNS サーバーを設定する方法
  1. スーパーユーザーになります。

  2. サーバーを DNS クライアントとして設定します (サーバーの resolv.conf ファイルの設定も含む)。詳細については、DNS クライアントの設定を参照してください。

  3. 起動ファイルを設定します。詳細については、起動ファイルの例を参照してください。

  4. データファイルを設定します。次の 4 つのデータファイルを設定する必要があります。

    • named.ca

    • hosts

    • hosts.rev

    • named.local

  5. サーバーの初期設定を行います。詳細については、サーバーの初期設定を参照してください。

  6. サーバーをテストします。詳細については、インストール結果の確認を参照してください。


    注 –

    DNS の最も一般的な役割は、ローカルなネットワークをインターネットに接続することです。インターネットに接続するためには、親ドメインの管理者にネットワークの IP アドレスを登録してもらう必要があります。管理者は、ネットワークの地理的な位置と親ドメインの種類によって異なります。ドメイン管理者にネットワークを登録してもらう方法については、本書では説明をしていません。


マスターサーバーを指定する方法

マスターサーバーには、次の 2 つの種類があります。

サーバーをある特定のゾーンのマスターサーバーに指定する場合は、そのサーバーの named.boot ファイルに 3 つのマスターレコードを作成します。

  1. ゾーンの「マスター」レコードを作成します。

    このレコードは、そのサーバーをマスターサーバーとして使用するゾーンを指定し、正規の hosts ファイルの場所を示すものです。この「マスター」レコードは、次の 3 つのフィールドで構成されます。

    • 第 1 フィールド - サーバーを「マスター」サーバーとして指定する

    • 第 2 フィールド - 「マスター」サーバーが機能するゾーンを指定する

    • 第 3 フィールド - hosts ファイルを指定する

    次に示す起動ファイルの行は、あるサーバーを doc.com ゾーンで「マスター」サーバーとして使い、正規の hosts ファイルとして db.doc を使うことを示すものです。


    master    doc.com    db.doc
  2. ゾーンの逆マッピング用の「マスター」レコードを作成します。

    このレコードは、そのサーバーを逆アドレスマッピング (つまり、doc.com の逆アドレスドメイン) の「マスター」サーバーとして使うことを指定し、正規の hosts ファイルの場所を示すものです。この「マスター」レコードは、次の 3 つのフィールドで構成されます。第 1 フィールドではサーバーを「マスター」サーバーとして指定します。第 2 フィールドでは対象のゾーンを指定します。第 3 フィールドでは hosts.rev ファイルを指定します。

    あるゾーンにおける逆アドレスドメインは、そのゾーンにおける IP アドレスを逆にならべ、最後に in-addr.arpa を配したものです。たとえば、doc.com ゾーンの IP アドレスが 10.0.0. だとすると、逆アドレスドメインは 0.0.10.in-addr.arpa になります。

    次に示す起動ファイルの行は、そのサーバーを doc.com ゾーンの逆アドレスドメインで「マスター」サーバーとして使い、正規の hosts ファイルとして doc.rev を使うことを示すものです。


    master   0.0.10.in-addr.arpa    doc.rev
  3. ローカルループバックインタフェースまたはホストの逆アドレス関連の「マスター」レコードを作成します。

    このレコードは、そのサーバーをループバックホストの「マスター」サーバーとして使うことを指定し、正規の hosts ファイルの場所を示すものです。この「マスター」レコードは、3 つのフィールドで構成されます。第 1 フィールドではサーバーを「マスター」サーバーとして指定します。第 2 フィールドではループバックホストの逆アドレスを指定します。第 3 フィールドでは hosts ファイルを指定します。


    注 –

    ループバックホストは常に、0.0.10.in-addr.arpa といった書式で識別されます。


    次に示す起動ファイルの行は、そのサーバーをループバックホストの逆アドレスドメインで「マスター」サーバーとして使い、正規の hosts ファイルとして named.local を使うことを示すものです。


    master  0.0.10.in-addr.arpa   named.local

スレーブサーバーを指定する方法

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

スレーブサーバーは、in.named の起動時に所定のゾーンに関するすべてのデータをマスターサーバーに要求します。以降、スレーブサーバーはデータベースを更新する必要があるかどうかを調べるためにマスターサーバーを定期的にチェックします。最新のゾーンデータベースをマスターサーバーからスレーブサーバーに送信するプロセスを「ゾーン転送」と呼びます。このため、スレーブサーバー上のデータファイルを変更するのではなく、ゾーンのマスターサーバー上のデータファイルを変更します。その後、スレーブサーバーのファイルがマスターサーバーから更新されます。

サーバーを所定のゾーンのスレーブサーバーに指定する場合は、そのサーバーの named.boot ファイルに「スレーブ」レコードを作成します。別々のレコードで、サーバーをそのゾーン、逆アドレスドメイン、およびループバックホストのスレーブサーバーとして指定できます。

この「スレーブ」レコードは、次の3 つのフィールドで構成されます。

「スレーブ」レコードでは、必須フィールドに続けて 1 つまたは複数の任意指定のフィールドを設けることができます。任意指定のフィールドには次の種類があります。

次に示す起動ファイルの行は、あるサーバーを doc.com ゾーンとその逆アドレスドメインのスレーブサーバーとして使うことを示します。さらに、そのスレーブサーバーが IP アドレス 172.16.0.1 のマスターサーバーから正規データを受け取り、サーバー 172.16.0.2 をゾーンデータのスレーブ情報源として使い、最初に doc.com.bakup ファイルからデータをロードすることを示します。


 
slave   doc.com   129.146.168.119  192.146.168.38  doc.com.bakup
slave   4.0.32.128.in-addr.arpa       129.146.168.119 

この章で紹介するさまざまなサンプルファイルの中で、上記のサンプル起動ファイル行はサーバー dnsslave (IP アドレス 192.146.168.38sirius マシンのエイリアス) の起動ファイルに対応しています。


注 –

1 台のサーバーは、1 つまたは複数のゾーンのマスターサーバーとして機能でき、さらに 1 つまたは複数のゾーンのスレーブサーバーとしても機能できます。起動ファイル内のエントリの組み合わせによって、サーバーがマスターサーバーになるかスレーブサーバーになるかが決まります。


キャッシュ専用 (スタブ) サーバーを指定する方法

DNS データのキャッシュを保持するという意味では、すべてのサーバーがキャッシュサーバーであるといえます。キャッシュ専用 (スタブ) サーバーは、in-addr.arpa. ドメイン以外のどのゾーンのマスターサーバーでもないサーバーです。

キャッシュ専用サーバーは正規データは一切保持しません。キャッシュ専用サーバーは照会を行い、in.named ファイルにリストされているホストを照会して必要な情報を探します。つまり、キャッシュ専用サーバーは、正規のネームサーバーと同様の照会を行いますが、正規データそのものは一切保持しません。

次に、キャッシュ専用サーバーの起動ファイルの例を示します。


例 4–3 キャッシュ専用サーバーの起動ファイルの例


;
; Sample named.boot file for caching-only name server
;
; type                  domain                 source file or host
;
directory /var/named
cache                   .                      named.ca
master                 0.0.127.in-addr.arpa   named.local

サーバーをキャッシュ専用サーバーとして指定するための行は特に必要ありません。起動ファイル内に slave または master など、権限に関する行がないということが、キャッシュ専用サーバーであると判断する根拠になります。

ただし、以下が必要です。