Solaris ネーミングの設定と構成

第 13 章 DNS サーバーの設定

この章では、DNS (Domain Name System) ネームサーバーを設定する方法について説明します。

DNS サーバーの設定

DNS サーバーの設定

DNS サーバーを設定する手順は次のとおりです。

  1. サーバーを DNS クライアントとして設定します (サーバーの resolv.conf ファイルの設定も含む)。

    詳細は、第 12 章「DNS クライアントの設定」を参照してください。

  2. ブートファイルを設定します。

    詳細は、named.conf ファイル」を参照してください。

  3. データファイルを設定します。

    詳細は、「データファイルの設定」を参照してください。次の 4 つのデータファイルを設定する必要があります。

    1. named.ca ファイルを設定します。

      詳細は、「named.ca ファイルの設定」を参照してください。

    2. hosts ファイルを設定します。

      詳細は、「hosts ファイルの設定 」を参照してください。

    3. hosts.rev ファイルを設定します。

      詳細は、「hosts.rev ファイルの設定 」を参照してください。

    4. named.local ファイルを設定します。

      詳細は、「named.local ファイルの設定」を参照してください。

  4. サーバーの初期設定を行います。

    詳細は、「サーバーの初期設定」を参照してください。

  5. サーバーをテストします。

    詳細は、「設定の確認」を参照してください。


    注 -

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


サーバーの構成とデータファイルの名前

in.named デーモンを正しく機能させるには、1 つの構成ファイルと 4 つのデータファイルが必要です。


注意 - 注意 -

この例で使われている IP アドレスとネットワーク番号、および本書で使われているサンプルコードは、説明に具体性を持たせるために仮に決めたものです。実際のネットワークやホストに使われていることがありますので、そのまま使うのは避けてください。


構成ファイル

マスターサーバーの構成ファイルは、/etc/named.conf. です (named.conf ファイル」を参照)。構成ファイルには、ドメイン名と、ホスト情報が含まれているファイル名が記述されています (named.conf ファイルの詳細は、『Solaris ネーミングの管理』を参照)。

DNS データファイルの名前

内部で一貫性が取れていれば、ゾーンデータファイルには何でも好きな名前を付けることができます。この柔軟性のために他のサイトで作業をしたり、DNS 間連の他のマニュアルなどを参照する場合に、混乱するかもしれません。

たとえば、Sun のマニュアルや大多数の Solaris サイトで使われているファイル名は、『DNS and BIND』(Paul Albeltz & Criclcet Liu 著、浅羽登志也/上水流由香監訳 、アスキー出版局、1995年) で使われているファイル名とは異なります。そしてこれら 2 派の命名方法は、『Name Server Operations Guide for BIND』(カリフォルニア州立大学刊、ハブリックドメイン) の命名方法とも若干の相違があります。

さらに、本書とその他の DNS 関連のマニュアルでは、説明にはファイルの主な役割を表す総称名を使い、レコード例には具体的な固有の名前を使っています。たとえば、Solaris のネームサービスに関するマニュアルでは、ファイルの機能や役割を説明する場合は hosts という総称名を使い、例では db.docdb.sales といった名前を使っています。

参考のため、表 13-1 でこれら 3 派の BIND ファイル名を比較します。

表 13-1 ファイル名

Solaris 

O'Reilly その他 

カリフォルニア州立大学バークレイ校 

ファイルの内容と役割 

/etc/named.conf (全て同じファイル名)

BIND 8.1 では新たに named.conf ファイルを追加して、従来の named.boot ファイルと置きかえる。この構成ファイルにはセキュリティ、スタートアップオプション、ロギングが追加されている。このファイルによって、稼動中のサーバーの種類を指定して、すべてのゾーンまたはサーバーではなく、ゾーンごとにまたはサーバーごとにオプションを選択的に適用する。ドメイン名とデータファイル名が記述されている

/etc/resolv.conf (全て同じファイル名)

各クライアント (DNS サーバーを含む) 上に存在するファイル。DNS 情報を探すためにクライアントが照会するサーバーを示す 

named.ca

db.cache

db.root

root.cache

ルートサーバー名とそのアドレスがリストされている 

総称名: 

hosts

例:  

db.doc

db.sales

総称名:  

db.domain

例:  

db.movie

db.fx

総称名:  

hosts

例:  

ucbhosts

サーバーがサービスを提供するローカルゾーン内のマシンに関する全データが格納されている 

総称名:  

hosts.rev

例:  

doc.rev

総称名:  

db.ADDR

例:  

db.192.249.249

db.192.249.253

総称名: 

hosts.rev

逆変換 (アドレスから名前への変換) が可能な特殊ドメイン in-addr.arpa. 内のゾーンを指定する

named.local

総称名:  

db.cache

例:  

db.127.0.0

named.local

ローカルループバックインタフェース (ローカルホスト) 用のアドレスを指定する 

$INCLUDE 全てで同じ規則

データファイル内の $INCLUDE() 文によって指定されるファイル

データファイル

必要なデータファイルは次の 4 種類あります。

$INCLUDE ファイル

DNS データファイルの $INCLUDE() 宣言で名前が指定されているファイルのことをインクルードファイルといいます。$INCLUDE ファイルを使ってデータを型ごとに別々のファイルに分割しておくと便利です。(詳細は、『Solaris ネーミングの管理』を参照)。

ドメイン名

「ドメイン名」とは、ローカルネットワークの中で DNS 管理ファイルを共有する複数のシステムを 1 つのグループとして扱い、そのグループに付けた名前のことです。ドメイン名は、ネットワーク情報サービスデータベースが正常に動作するために必要です。

デフォルトのドメイン名

DNS がデフォルトで使用するドメイン名は resolv.conf ファイルに指定されています。

ドメイン名の末尾のドットについて

各種 DNS ファイルに関連して、ドメイン名の末尾のドットには次のような規則があります。

resolv.conf ファイル

次に resolv.conf ファイルの設定方法を説明します。

resolv.conf ファイルの設定

ここでは、doc.com ドメインのサーバーに使う簡単な resolv.conf ファイルの例を示します。


例 13-1 DNS サーバー用 resolv.conf ファイルの例


;
; /etc/resolv.conf file for dnsmaster (sirius)
;
domain             doc.com
nameserver         0.0.0.0
nameserver         111.22.3.5

/etc/resolv.conf ファイルの最初の行には、ドメイン名が次の書式で指定されています。


domain domainname

ここで、domainname の部分には、インターネット管理団体 (本書執筆の時点では InterNIC。日本では JPNIC) によって登録されている名前を指定します。


注 -

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


2 行目には、サーバー自体を次の書式で指定します。


nameserver 0.0.0.0

それ以降の行では、副 DNS ネームサーバー、またはキャッシュ専用ネームサーバー の IP アドレスを 1 つまたは 2 つ指定します。リゾルバはこれらの行を照会して該当するアドレスを識別します。各行の書式は次のとおりです。


nameserver IP_address

ここで、IP_address の部分には、副 DNS ネームサーバー、またはキャッシュ専用ネームサーバー の IP アドレスを指定します。リゾルバは、必要な情報が見つかるまで、ここに指定されている順番どおりにネームサーバーを探していきます。

named.conf ファイル

BIND 8.1 では新たに構成ファイル /etc/named.conf を追加して、/etc/named.boot ファイルと置きかえます。/etc/named.conf ファイルは、主、副、キャッシュ専用のネームサーバーを確立し、サーバーが権限を持つゾーンと、初期データを取得するために読み取るデータファイルを指定します。

/etc/named.conf ファイルには、以下の機能を実装するための文が含まれます。

サーバーのスタートアップスクリプト /etc/init.d/inetsvc によってデーモンが起動されたとき、構成ファイルは in.named によって読み取られます。

named.conf ファイルは、文とコメントによって記述されます。文はセミコロンで終わります。複数の文から成るブロックを含む文もあります。ブロック内の各文もセミコロンで終わります。

表 13-2 named.conf で使用する文
acl

アクセスコントロール用に使用する、IP アドレスの一致リストを名前を付けて定義する。アドレスの一致リストは 1 つまたは複数の IP アドレス (ドットで区切った 10 進表記) または IP プレフィックス (ドットで区切った 10 進表記の後にスラッシュとネットマスクのビット数が付く) を指定する。名前を付けた IP アドレスの一致リストは、他の場所で使用する前に acl 文で定義されている必要がある。順方向の参照は許可されない

include

include 文がある箇所にインクルードファイルを挿入する。include を使用することで、管理しやすいまとまりに構成情報を分割することができる

key

特定のネームサーバーでの認証と承認に使用されるキー ID を指定する。server 文を参照

logging

サーバーが記録するログの種類と、ログメッセージの送り先を指定する 

options

グローバルなサーバー構成のオプションを制御して、他の文に対するデフォルト値を設定する 

server

リモート用ネームサーバーに関して、指定された構成オプションを設定する。すべてのサーバーに対してではなく、サーバーごとに選択的にオプションを適用する 

zone

ゾーンを定義する。すべてのゾーンに対してではなく、ゾーンベースごとに選択的にオプションを適用する 


例 13-2 コード例 13-2 主サーバーに対するマスター構成例


options {
         directory "/var/named";
         datasize 2098;
         forward only;
         forwarders {
                  99.11.33.44;
         };
         recursion no;
         transfers-in 10;
         transfers-per-ns 2;
         allow-transfer {
                  127.0.1.1/24;
         };
};
 
logging {
         category queries { default_syslog; };
};
 
include "/var/named/abcZones.conf"
 
// here are the names of the primary files
zone "cities.zn" {
 
         type master;
         file "db.cities.zn";
};
 
zone "0.0.127.in-addr.arpa" {
	         type master;
         file "db.127.cities.zn";
};
 
zone "168.192.in-addr.arpa" {
         type master;
         file "db.cities.zn.rev";
};
 
zone "sales.doc.com" {
         type slave;
         file "slave/db.sales.doc";
         masters {
         192.168.1.151;
	};
};
 
zone "168.192.in-addr.arpa" {
	         type slave;
         file "slave/db.sales.doc.rev";
 
         masters {
                  192.168.1.151;
         };
};


BIND 4.9.x から BIND 8.1 への移行

スーパーユーザーになって、Korn シェルスクリプト /usr/sbin/named-bootconf を実行し、BIND 4.9.x の named.boot ファイルを BIND 8.1 の named.conf ファイルに変換します。named-bootconf(1M) を参照してください。


注 -

Solaris 8 では、named.boot ファイルは無視されます。


サーバー機能の指定

DNS サーバーには次の役割のいくつかを果たします。

これらのさまざまなサーバーの機能は同じマシンで実行できます。たとえば、あるゾーンで主マスターサーバーとして使っているマシンを、他のゾーンでは副マスターサーバーとして使うことができます。本書で「主」、「副」、「キャッシュ専用」とマシンを形容している場合、それは特定のマシンを指しているのではなく、あるゾーンでマシンに割り当てられた役割を指しています。

これらのサーバーの役割の詳細は、『Solaris ネーミングの管理』を参照してください。

主マスターサーバーの指定

あるゾーンであるマシンを主サーバーとして使うことを指定する場合は、そのマシン (サーバー) 上の named.boot ファイルに次の 3 つの「主」レコードを書き込みます。

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

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

    • 第 1 フィールド - サーバーを主 (primary) サーバーとして指定する

    • 第 2 フィールド - 対象のゾーンを指定する

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

    次に示すブートファイルの行は、あるサーバーを doc.com ゾーンで主サーバーとして使い、正規の hosts ファイルとして db.doc を使うことを示すものです。


    primary    doc.com    db.doc

  2. ゾーンの逆変換の「主」レコードを作成します。

    このレコードは、そのサーバーを逆アドレス変換 (つまり、doc.com の逆アドレスドメイン) の主サーバーとして使うことを指定し、正規の hosts ファイルの場所を示すものです。この「主」レコードには 3 つの構成要素があります。第 1 フィールドではサーバーを主サーバーとして指定します。第 2 フィールドでは対象のゾーンを指定します。第 3 フィールドでは hosts.rev ファイルを指定します。

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

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


    primary   6.45.123 .   in-addr.arpa    doc.rev

  3. ローカルループバック (ホスト) の逆アドレス関連の「主」レコードを作成します。

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


    注 -

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


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


    primary  0.0.127.in-addr.arpa   named.local

副マスターサーバーの指定

あるゾーンであるマシンを副サーバーとして使うことを指定する場合は、そのマシン (サーバー) 上の named.boot ファイルに「副」レコードを書き込みます。別々のレコードにより、サーバーをそのゾーン、逆アドレスドメイン、およびループバックホストの副サーバーとして指定できます。

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

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

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


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

この章で紹介するさまざまなサンプルファイルの中で、サーバー dnssecondary (IP アドレス 192.146.168.38sirius マシンの別名) のブートファイルがたびたび登場しますが、そのいずれもが上記のブートファイルを指しています。


注 -

1 台のサーバーは、1 つまたは複数のゾーンの主サーバーとして機能し、さらに 1 つまたは複数のゾーンの副サーバーとしても機能できます。これを決めるのは、ブートファイル内のエントリの組み合わせです。


キャッシュオンリーサーバーの指定

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

例 13-3 では、キャッシュオンリーサーバー用のブートファイルのサンプルを示します。


例 13-3 キャッシュオンリーサーバーのブートファイルの例


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


サーバーをキャッシュオンリーサーバーとして指定するための行は特に必要ありません。ブートファイル内に secondary または primary など、権限に関する行がないということが、キャッシュオンリーサーバーであると判断する根拠になります(以下に示すものを除く)。

データファイルの設定

DNS デーモン in.named が使用するすべてのデータファイルは、標準資源レコード書式で記述されます。標準資源レコード書式では、ファイルの各行は、資源レコード (RR) と呼ばれるレコードです。各 DNS データファイルには決められた資源レコードが必要です。

資源レコード、その書式、フィールド、特殊文字、制御行 (エントリ) の詳細は、『Solaris ネーミングの管理』を参照してください。

資源レコードの種類

最も一般的に使用される資源レコードの種類を表 13-3 に示します。資源レコードは通常、表 13-3 の順番で入力されますが、必ずしもそうしなければならないということではありません。

表 13-3 一般的に使用される資源レコードの種類

種類 

説明 

SOA  

権限の始まり 

NS 

ネームサーバー 

IPv4 インターネットアドレス (名前からアドレスへ) 

AAAA 

IPv6 インターネットアドレス (名前からアドレスへ) 

PTR  

ポインタ (アドレスから名前へ) 

CNAME  

標準名 (ニックネーム) 

TXT  

テキスト情報 

MX  

メール交換 

これらの資源レコードの詳細は、『Solaris ネーミングの管理』を参照してください。

これ以降に示すサンプルファイルでは、@ は現在のゾーンまたは現在の起点を示します。セミコロン (;) で始まる行はコメントです。

named.ca ファイルの設定

/var/named/named.ca ファイルには、ルートサーバーの名前とアドレスが格納されています。ルートサーバー名は NS レコードに、アドレスは A レコードに示されています。この named.ca ファイルを使用するサーバーごとに、NS レコードと A レコードを追加する必要があります。

named.ca ファイルの入手方法あるいは作成方法は、ネットワークがインターネットに接続されているかどうかによって異なります。

インターネット named.ca ファイル

ネットワークがインターネットに接続されているのであれば、InterNIC Registration Service (本書執筆の時点) から次の手段で named.ca ファイルを入手できます。

本書で説明した命名規則に従うならば、named.root/var/named/named.ca に移動します。


例 13-4 インターネット named.ca ファイルの例


;
; formerly NS1.ISI.EDU
.                        3600000    NS   B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000    A    128.9.0.107
;
; formerly C.PSI.NET
.                        3600000    NS   C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000    A    192.33.4.12
;
; formerly TERP.UMD.EDU
.                        3600000    NS   D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000    A    128.8.10.90
;
; formerly NS.NASA.GOV
;.                       3600000    NS   E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000    A    192.203.230.10
 ;
; formerly NS.ISC.ORG
.                        3600000    NS   F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000    A    192.5.5.241
;
; formerly NS.NIC.DDN.MIL
.                        3600000    NS   G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000    A    192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
.                        3600000    NS   H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000    A    128.63.2.53
;
; formerly NIC.NORDU.NET
.                        3600000    NS   I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000    A    192.36.148.17
;
; temporarily housed at NSI (InterNIC)
.                        3600000    NS   J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000    A    198.41.0.10
;
; temporarily housed at NSI (InterNIC)
.                        3600000    NS   K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000    A    198.41.0.11
;
; temporarily housed at ISI (IANA)
.                        3600000    NS   L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000    A    198.32.64.12
;
; temporarily housed at ISI (IANA)
.                        3600000    NS   M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000    A    198.32.65.12
; End of File


非インターネット named.ca ファイル

ネットワークがインターネットに接続されていない場合は、独自の named.ca ファイルを作成する必要があります。それには、サーバーのどれか 1 つをルートサーバーとし、DNS サーバーごとにそのルートサーバーを指す named.ca ファイルを作成します。

たとえば、ドメイン private においてマシン ourroot を非インターネットルートサーバーに指定する場合を想定します。ourroot の IP アドレスが 192.1.1.10 であるとすると、named.ca ファイルには次の行を書き込みます。


ourroot.private.  999999  IN  A  192.1.1.10

キャッシュファイルも SOA レコード、各ドメインおよびサブドメインの NS レコード、各サーバーの A レコードを必要とします。

たとえば、ourroot の他に、ourprimaryoursecondary という 2 つの DNS ネームサーバーがあるとします。その場合、DNS サーバー上の named.ca ファイルはいずれも次のようになります。


例 13-5 named.ca ファイル (非インターネット) の例


;
@    IN    SOA  ourroot.private.   hermit.ourroot.private  (    
                 1997071401       ;  serial number (YYYYMMDD##)
                 10800            ;  refresh after 3 hours
                 3600             ;  retry after 1 hour
                 604800           ;  expire after 1 week
                 86400 )          ;  minimum TTL of 1 day
;
ourroot.private.      999999     IN    A    192.1.1.10
;
private.                         IN    NS   ourprimary.private.
1.1.192.in-addr.arpa             IN    NS   ourprimary.private.
ourprivate.private.              IN    A    192.1.1.1
 
;
private.                         IN    NS   oursecondary.private.
1.1.192.in-addr.arpa             IN    NS   ourseconary.private.
oursecondary.private.            IN    A    192.1.1.2 


インターネットに接続されていないドメインの設定の詳細は、「非インターネットルートマスターの設定」を参照してください。

hosts ファイルの設定

hosts ファイルには、ゾーン内にある全マシンの全データが収められています。複数のドメインにまたがっているゾーンの場合は、そのゾーンを構成する全ドメインの全マシンがそのゾーンのホストファイルに列挙されます (「単一ゾーンのサブドメインの設定」を参照)。


注 -

hosts という名前はファイルの役割や中身を表す総称名です。この総称名をそのまま使うと /etc/hosts と紛らわしいので、この種のファイルは hosts 以外の名前にすることをお勧めします。ドメイン内に複数のゾーンがある場合は、各ゾーンに 1 つずつ hosts ファイルを置き、しかも、各ゾーンの hosts ファイルには一意の名前を付けなければなりません。たとえば、DNS ドメイン内に doc.comsales.doc.com という 2 つのゾーンがある場合は、1 つを db.doc、もう 1 つを sales.db.doc という名前にするとよいでしょう。


各ゾーンには個別の、一意の名前を持つ hosts ファイルが必要です。複数のゾーンが存在する場合は、各ゾーンの hosts ファイルには他のゾーンのマスター (主、副) サーバーに関する情報も含める必要があります。詳細は、「複数ゾーンのサブドメインの設定」を参照してください。


例 13-6 hosts ファイルの例


;
; SOA rec
doc.com  IN SOA sirius.doc.com sysop.centauri.doc.com (
                 1997071401       ;  serial number (YYYYMMDD##)
                      10800       ;  refresh every 3 hours
                      10800       ;  retry every 3 hours
                      604800      ;  expire after a week
                      86400 )     ;  TTL of 1 day
; Name Servers
doc.com                   IN  NS  sirius.doc.com
sales.doc.com             IN  NS  altair.sales.doc.com
; Addresses
localhost                 IN  A  127.0.0.1
sirius                    IN  A  123.45.6.1
rigel                     IN  A  123.45.6.112
 
antares                   IN  A  123.45.6.90
polaris                   IN  A  123.45.6.101
procyon                   IN  A  123.45.6.79
tauceti                   IN  A  123.45.6.69
altair.sales.doc.com      IN  A   111.22.3.4
; aliases
durvasa                   IN  CNAME sirius.doc.com
dnsmastr                  IN  CNAME sirius.doc.com
dnssales                  IN  CNAME altair.sales.doc.com


hosts ファイルは、通常、次の 5 つの要素で構成されています。

これらの資源レコードの詳細は、『Solaris ネーミングの管理』を参照してください。

hosts.rev ファイルの設定

hosts.rev は逆マッピングを設定するファイルです。


注 -

hosts.rev という名前はファイルの役割や中身を表す総称名です。ドメイン内に複数のゾーンがある場合は、各ゾーンに 1 つずつ hosts.rev ファイルを置き、しかも、各ゾーンの hosts.rev ファイルには一意の名前を付けなければなりません。たとえば、DNS ドメイン内に doc.comsales.doc.com という 2 つのゾーンがある場合は、1 つを doc.rev、もう 1 つを sales.rev という名前にするとよいでしょう。



例 13-7 hosts.rev ファイルの例


; SOA rec
6.45.123.in-addr.arpa.  IN SOA sirius.doc.com sysop.centauri.doc.com (
                 1997071401       ;  serial number (YYYYMMDD##)
                      10800       ;  refresh every 3 hours
                      10800       ;  retry every 3 hours
                      604800      ;  expire after a week
                      86400 )     ;  TTL of 1 day
; Name Servers
6.45.123.in-addr.arpa.   IN  NS  sirius.doc.com
1                        IN  PTR sirius.doc.com


hosts.rev ファイルは、通常、次の 3 つの要素で構成されています。

これらの資源レコードの詳細は、『Solaris ネーミングの管理』を参照してください。

named.local ファイルの設定

named.local ファイルは、ネームサーバーのローカルループバックインタフェースを設定します。


例 13-8 named.local ファイルの例


; SOA rec
0.0.127.in-addr.arpa. IN SOA sirius.doc.com sysop.centauri.doc.com (
                          1997071401       ;  serial number (YYYYMMDD##)            
                           10800           ;  refresh every 3 hours
                           10800           ;  retry every 3 hours
                           604800          ;  expire after a week
                           86400 )         ;  TTL of 1 day
; Name Servers
0.0.127.in-addr.arpa.      IN  NS     sirius.doc.com
1                          IN  PTR  localhost.


named.local ファイルは、通常、次の 3 つの要素で構成されています。

これらの資源レコードの詳細は、『Solaris ネーミングの管理』を参照してください。

サーバーの初期設定

サーバーの初期設定の手順は次のとおりです。

  1. named.conf 構成ファイルとその他必要なファイルを設定します。

  2. in.named を実行します。


    # /usr/sbin/in.named
    

    コマンドラインから in.named を実行する代わりに、リブートするという方法もあります。

設定の確認

ブートファイルとデータファイルを設定し、in.named を実行したら、設定が正しく行われたかどうかを次の手順で確認してください。

  1. syslog ファイルをオープンして、エラーメッセージが書き込まれていないかどうか確認します。

    エラーメッセージと障害追跡の仕方については、『Solaris ネーミングの管理Solaris Naming Administration Guide - ja』を参照してください。

  2. nslookup を実行して、ローカルドメインのホスト名を確認します。


    dnsmaster% nslookup altair
     Server:  dnsmaster.doc.com
     Address: 192.146.168.5
     Name:  altair.doc.com
     Address: 192.146.168.10

    • 異常が見つからなければ、ネームサーバーはおそらく正常に機能しています。

    • Can't find」または「can't initialize address」といったメッセージがサーバーに表示された場合、あるいは「Non-existent domain」といったメッセージが表示された場合は、サーバーがブートファイルまたはホストファイルに設定されていない可能性があります。

    • can't find name」または「Non-existent domain」といったメッセージがサーバーに表示された場合は、検索したサーバーがサーバーの hosts ファイルに書き込まれていないか、resolv.conf ファイルのドメイン情報に誤りがある、あるいは、それ以外のサーバーの問題がある可能性があります。

  3. nslookup を実行してリモートドメイン名を検索します。

    インターネットに接続されているネットワークの場合、リモートドメイン名を検索します。インターネットに接続されていないネットワークの場合は、他のゾーンにサブドメインがあれば、その名前を検索します。たとえば、インターネット上のリモートドメイン名 internic.net を検索するには、次のように入力します。


    dnsmaster% nslookup internic.net
    Server:  dnsmaster.doc.com  
    Address: 192.146.168.  
    Name:  internic.net 
     Addresses: 198.41.0.9,  198.41.0.6,  198.41.0.5,  198.41.0.8

    • 異常が見つからなければ、ネームサーバーはおそらく正常に機能しています。

    • 上記のコマンドを実行してもリモートドメイン名が表示されない場合は、インターネットとの接続に問題があることが原因の 1 つとして考えられます。

    • あるいは、named.ca ファイルが正しくインストールまたは設定されていないことも考えられます。

    (もう一度 nslookup を実行すると、「non-authoritative」というメッセージが出るはずですが、これは無視してかまいません。2 回目の実行では、リモートネームサーバーからではなく、キャッシュから応答が来ています。)

  4. リモートドメインから自分のドメインのホスト名を検索します。

    インターネットに接続されているネットワークの場合、リモートドメインに行き、そこから自分のドメインのホスト名を検索します。インターネットに接続されていないネットワークの場合は、他のゾーンがあれば、そこから自分のドメインのホスト名を検索します。

    たとえば、インターネット上のリモートドメインから自分のドメインにあるホスト名を検索するには、nslookup コマンドに続けて、引数を 2 つ指定します。1 つめは検索対象のホスト名、2 つめは nslookup コマンドを実行するネームサーバー名です。具体的には次のように指定します。


    remotemachine9% nslookup altair remotemaster.foo.org.
     Server:  remotemaster.foo.org
     Address: 123.231.12.22
     Name:  altair.doc.com
     Addresses: 111.22.3.4 

    • 異常が見つからなければ、ネームサーバーはおそらく正常に機能しています。

    • 上記のコマンドを実行しても探しているマシンが見つからない場合は、ドメインが親ドメイン (上記の例では .com) の管理者と正しく登録されていないことが原因の 1 つとして考えられます。

サブドメインの設定

サブドメインの設定方法には、次の 2 通りがあります。

単一ゾーンのサブドメインの設定

複数のドメインで構成されているゾーンのデータファイルには、そのゾーンによってカバーされる各ドメインのすべてのマシンとサーバーに関わるレコードが必要です。

複数のドメインで構成されているゾーンを設定するのも、単一ドメインで構成されているゾーンを設定するのも、やることは基本的に同じです。唯一の相違は、リモートドメインのマシンを識別できるようにするために、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 情報をあるゾーンから別のゾーンへ正確に転送させるために必要なことを以下に示します。

表 13-4 は、2 つのゾーンを有するネットワークを示します。

非インターネットルートマスターの設定

インターネットに接続されているネットワークの場合、ルートドメインサーバーがルートドメインのインターネットサイト上に置かれることになります。この場合は、キャッシュファイルにそのサイトの IP アドレスを書き込むだけで済みます。「インターネット named.ca ファイル 」を参照してください。

ネットワークに接続されていないネットワークの場合、ローカルネットワーク上のルートレベルドメインに主および副のネームサーバーを設定する必要があります。これにより、ネットワーク内のすべてのドメインで一貫性のある正規のサーバーを持つことができます。さもないと、いずれのマシンも照会を処理することができません。

たとえば、private という名前の非インターネットドメインで ourroot というマシンをルートサーバーとして指定する場合を想定します。ourroot マシンの IP アドレスが 192.1.1.10 だとすると、次のような手順を踏むことになります。

  1. ルートサーバーを指し示す named.ca ファイルを主マスターサーバー上に作成します。

    次のように入力します。


    ourroot.private.  999999  A  192.1.1.10

    named.ca ファイルには、内部のドメインとサブドメイン用の個別の NS レコードと、サーバー用の個別の A レコードが必要です。詳細は、「非インターネットルートマスターの設定」を参照してください。

  2. ネットワーク上のすべての DNS ネームサーバーのブートファイルに、ルートドメインのキャッシュリソースレコードを追加します。

    次のように入力します (詳細は、「構成ファイル」を参照)。


    cache     .    named.ca 

  3. ルートサーバーのブートファイルから、ルートドメインのキャッシュリソースレコードを削除します。

    つまり、ourroot のブートファイルから cache.named.ca 行を削除します。

  4. ルートサーバーのブートファイルに、ルートドメインの primary 行を追加します。

    たとえば、ourroot のブートファイルに次の行を追加します。


    primary    .  ourroot.private


    注意 - 注意 -

    設定後、インターネットに接続することにした場合は、すべてのサーバーの named.ca ファイルを最新のインターネットファイルに置き換え、それまでルートサーバーだったマシンのブートファイルで、primary . rootserver 行を cache . named.ca 行に書き換える必要があります。


実例

この節では、この章で説明した例に基づいて、サンプルのインターネット接続ネットワークを想定し、そこで使う DNS を設定するために必要なファイルを示します。


注意 - 注意 -

この例で使われている IP アドレスとネットワーク番号、および本書で使われているサンプルコードは、説明に具体性を持たせるために仮に決めたものです。それらは、実際のネットワークやホストに使われていることがありますので、そのまま使うのは避けてください。


この実例の前提条件

表 13-4 ネットワークドメインとゾーン構成の例

名前/ゾーン 

番号 

doc.com

123.45.6

sales.doc.com

111.22.3

表 13-5 ネットワーク DNS サーバーの例

ゾーン 

ホスト名 

役割 

アドレス 

 標準名

doc.com

sirius

doc.com主サーバー

123.45.6.1

dnsmaster

doc.com

deneb

doc.com副サーバー

111.22.3.5

dnssecond

sales.doc.com

altair

sales.doc.com主サーバー

111.22.3.4

dnssales

sales.doc.com

altair

sales.doc.com副サーバー

123.45.6.1

dnsmaster

サンプルブートファイル

次に示すのは、2 つのネットワークで使われている 3 つのサーバーのブートファイルです。


例 13-9 dnsmastr サーバー用ブートファイルの例


; named.boot file on the dnsmastr (sirius)
; 
; files required by in.named are located here 
directory /var/named
; here are the names of the primary files
cache         .                         named.ca
primary       doc.com                   db.doc
primary       0.0.127.in-addr.arpa      named.local
primary       6.45.123.in-addr.arpa     doc.rev
;This system is also the secondary for the sales.doc.com domain
secondary     sales.doc.com             111.22.3.4   db.sales
secondary     3.22.111.in-addr.arpa     111.22.3.4   sales.rev
 



例 13-10 dnssales サーバー用ブートファイルの例


; named.boot file on the dnssales (altair)
; 
; in.named is located here
directory /var/named
; here are the names of the primary files
cache      .                        named.ca
primary    sales.doc.com            db.sales
primary    0.0.127.in-addr.arpa     db.127.0.0
primary    3.22.111.in-addr.arpa    db.192.168.8



例 13-11 dnssecond サーバー用ブートファイルの例


; named.boot file on the dnsecond (deneb)
directory /var/named
cache           .               named.ca
secondary       doc.com         123.45.6.1 doc.com
secondary       6.45.123.in-addr.arpa    123.45.6.1 doc.123.45.6


サンプル resolv.conf ファイル

次に示すのは、2 つのネットワークで使われている 3 つのサーバーの resolv.conf ファイルです。そのホストが in.named を稼動していない場合、そのローカルホストのアドレスをネームサーバーとして使うことはできません。


例 13-12 dnsmaster サーバー用 resolve.conf ファイルの例


;
; /etc/resolv.conf file for dnsmaster (sirius)
;
domain           doc.com
nameserver       0.0.0.0
nameserver       111.22.3.5



例 13-13 dnssales サーバー用 resolve.conf ファイル


;
; /etc/resolv.conf file for dnssales (altair)
;
domain           sales.doc.com
nameserver       111.22.3.4
nameserver       123.45.6.1



例 13-14 dnssecond サーバー用 resolve.conf ファイル


;
; /etc/resolv.conf for dnssecond
;
domain           doc.com
nameserver       111.22.3.5
nameserver       123.45.6.1


サンプル named.local ファイル

次に示すのは、2 つのネットワーク上の 2 つの主サーバーで使われている named.local ファイルです。どちらのサーバーも同じファイルを持っています。


例 13-15 主サーバー用 named.local ファイルの例


; SOA rec
0.0.127.in-addr.arpa. IN SOA siriusdoc.com. sysop.centauri.doc.com. (
                           19970331    ; serial number
                           10800       ; refresh every 3 hours
                           10800       ; retry every 3 hours
                           604800      ; expire after a week
                           86400 )     ; TTL of 1 day
; Name Servers
0.0.127.in-addr.arpa.  IN  NS   sirius.doc.com.
0.0.127.in_addr.arpa   IN  NS   dnssecond.doc.com
1  IN  PTR localhost.


サンプル hosts ファイル

次に示すのは、2 つのネットワーク上の 2 つの主サーバーで使われている db.doc ファイルと db.sales ファイルです。


例 13-16 dnsmastr サーバー用 db.doc ファイルの例


; SOA rec
doc.com.  IN SOA sirius.doc.com. sysop.centauri.doc.com. (
                           19970332    ; serial number
                           10800       ; refresh every 3 hours
                           10800       ; retry every 3 hours
                           604800      ; expire after a week
                           86400 )     ; TTL of 1 day
; Name Servers
doc.com.                IN  NS  sirius.doc.com.
sales.doc.com.          IN  NS  altair.sales.doc.com.
; Addresses
localhost               IN  A  127.0.0.1
sirius                  IN  A  123.45.6.1
rigel                   IN  A  123.45.6.112
antares                 IN  A  123.45.6.90
polaris                 IN  A  123.45.6.101
procyon                 IN  A  123.45.6.79
tauceti                 IN  A  123.45.6.69
altair.sales.doc.com.   IN  A   111.22.3.4
; aliases
dnsmastr                IN  CNAME    sirius.doc.com.
dnssecond.doc.com       IN  CNAME   deneb.doc.com



例 13-17 dnssales サーバー用 db.sales ファイルの例


; SOA rec
sales.doc.com.  IN SOA altair.sales.doc.com. sysop.polaris.doc.com. (
                           19970332    ; serial number
                           10800          ; refresh every 3 hours
                           10800          ; retry every 3 hours
                           604800        ; expire after a week
                           86400 )        ; TTL of 1 day
; Name Servers
doc.com.                IN  NS  sirius.doc.com.
sales.doc.com.          IN  NS  altair.sales.doc.com.
; Addresses
altair                  IN  A  111.22.3.4
localhost               IN  A  127.0.0.1
sirius.doc.com.         IN  A  123.45.6.1
luna                    IN  A  192.168.8.22
phoebus                 IN  A  192.168.8.24
deimos                  IN  A  192.168.8.25
ganymede                IN  A  192.168.8.27
europa                  IN  A  192.168.8.28
callisto                IN  A  192.168.8.29
; 
; aliases
dnssales.sales.doc.com  IN  CNAME    altair.sales.doc.com


サンプル hosts.rev ファイル

次に示すのは、2 つのネットワーク上の 2 つの主サーバーで使われている hosts.rev ファイルです。


例 13-18 dnsmastr サーバー用 hosts.rev ファイルの例


; SOA rec
6.45.123.in-addr.arpa.  IN SOA sirius.doc.com. sysop.centauri.doc.com. (
                           19970331    ; serial number
                           10800       ; refresh every 3 hours
                           10800       ; retry every 3 hours
                           604800      ; expire after a week
                           86400 )     ; TTL of 1 day
; Name Servers
6.45.123.in-addr.arpa.  IN  NS  sirius.doc.com.
;Pointer records for 123.45.6
1                       IN  PTR sirius.doc.com.
112                     IN  PTR rigel.doc.com.
90                      IN  PTR antares.doc.com. 
101                     IN  PTR polaris.doc.com. 
79                      IN  PTR procyon.doc.com.
69                      IN  PTR tauceti.doc.com.



例 13-19 dnssales サーバー用 hosts.rev ファイルの例


; SOA rec
3.22.111.in-addr.arpa.  IN SOA altair.sales.doc.com. sysop.polaris.doc.com. (
                           19970331    ; serial number
                           10800       ; refresh every 3 hours
                           10800       ; retry every 3 hours
                           604800      ; expire after a week
                           86400 )     ; TTL of 1 day
; Name Servers
3.22.111.in-addr.arpa.   IN  NS  altair.sales.doc.com.
;Pointer records for 111.22.3
22                       IN  PTR  luna
23                       IN  PTR  deneb
24                       IN  PTR  phoebus
25                       IN  PTR  deimos
26                       IN  PTR  altair
27                       IN  PTR  ganymede
28                       IN  PTR  europa
29                       IN  PTR  callisto


サンプル named.ca ファイル

次に示すのは、2 つのネットワーク上の 2 つの副サーバーのどちらにも格納される named.ca ファイルです。


例 13-20 named.ca ファイルの例


;
; formerly NS1.ISI.EDU
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; formerly C.PSI.NET
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;.                       3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
;
; formerly NS.NIC.DDN.MIL
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
;
; formerly NIC.NORDU.NET
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; temporarily housed at NSI (InterNIC)
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
;
; temporarily housed at NSI (InterNIC)
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     198.41.0.11
;
; temporarily housed at ISI (IANA)
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; temporarily housed at ISI (IANA)
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     198.32.65.12
; End of File