Solaris ネーミングの管理

DNS の構成ファイルとデータファイル

DNS のネームサーバーには、in.named デーモンに加えて、named.conf と呼ばれるブートファイル、resolv.conf という名前のリゾルバファイル、4 つのタイプのゾーンデータファイルがあります。

DNS データファイル名

内部的に矛盾がなければ、ゾーンデータファイルはどんな名前にもできます。このため、異なるサイトで作業をしようとする場合や DNS 関連のマニュアルや本を参照する場合に、混乱するかもしれません。たとえば、Sun のマニュアルやほとんどの Solaris のサイトのファイル名は、『DNS and BIND』(Paul Albitz & Cricket Liu 著 浅羽登志也/上水流由香 監訳、アスキー出版局、1995年) で使用されている名前とは異なりますし、その両方の命名法は、『Name Server Operations Guide for BIND』(カリフォルニア州立大学刊、パブリックドメイン) での命名法とも若干異なります。

さらに、このマニュアルや他の DNS の文書では、そのファイルの主要な目的を表すために汎用的な名前が用いられ、レコードの例ではそのファイルに対して例として特定の名前が用いられています。たとえば、Solaris のネームサービスに関するマニュアルでは、ファイルの機能と役割を記述するために hosts が総称名として用いられ、db.docdb.sales.doc という名前が、例として用いられています。

参考として、表 28-2 では上で述べた 3 つのマニュアルにおける BIND のファイル名を比較します。

表 28-2 BIND ファイル名 例

Solaris 

O'Reilly その他 

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

ファイルの内容と役割 

/etc/named.conf

/etc/named.conf

/etc/named.conf

構成ファイルは、それが実行されるサーバーのタイプ、および「マスター」、「スレーブ」、または「スタブ」として機能するゾーンを指定する。また、セキュリティ、ロギング、およびゾーンに適用されるオプションの細かい細分性を定義する 

/etc/resolv.conf

/etc/resolv.conf

/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

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

$INCLUDE ファイル

$INCLUDE ファイル

$INCLUDE ファイル

データファイル内の $INCLUDE() ステートメントによって識別されるファイル

named.conf ファイル

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

/etc/named.conf ファイルには、以下を実現するステートメントが含まれています。

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

named.conf ステートメント

named.conf ファイルには、ステートメントおよびコメントが含まれています。ステートメントはセミコロンで終わります。一部のステートメントは、ステートメントのブロックを含むことができます。ブロックの中の各ステートメントもセミコロンで終わります。

named.conf ファイルは、以下のステートメントをサポートします。

表 28-3
aclアクセス制御に使用する名前付き IP アドレス一致リストを定義。このアドレス一致リストは、1 つ以上の IP アドレス (小数点表記) または IP 接頭辞 (小数点表記の後にスラッシュとネットマスクのビット数をつけたもの) を指定する。acl ステートメントによって名前付き IP アドレス一致リストを定義しなければ、他の場所で名前付き IP 一致リストを使用することはできまない。前方参照は不可
include include ステートメントのある箇所にインクルードファイルを挿入する。include を使用すると管理の簡単なかたまりに構成を分割できる
key特定のネームサーバー上での認証および承認に使用する鍵の ID を指定する。server ステートメントを参照
logging サーバーが記録する情報およびログメッセージの宛先を指定
options グローバルサーバー構成オプションを制御し、他のステートメントのデフォルト値を設定
server リモートネームサーバーに関連付ける指定された構成オプションを設定する。すべてのサーバーに対してではなく、サーバーごとに選択的にオプションを適用
zone ゾーンを定義する。すべてのゾーンに対してではなく、ゾーンごとに選択的にオプションを適用


例 28-1 主サーバー用マスター構成ファイルの例


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"
 
// これは主ファイルの名前です
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.x への移行

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


注 -

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


named.ca ファイル

named.ca ファイルによって、ルートサーバー名が確立され、そのアドレスが列挙されます。ネットワークがインターネットに接続されているなら、named.ca には、インターネットのネームサーバーが表示されます。接続されていなければ、ローカルネットワークのルートドメインネームサーバーが表示されます。in.named デーモンは、サーバーの 1 つに接続できるまで、サーバーのリストを一巡します。そして、そのサーバーから現在のルートサーバーのリストを入手します。デーモンは、このリストを named.ca の更新のために用います。

hosts ファイル

hosts ファイルには、ローカルゾーン内のマシンに関するすべてのデータが含まれています。このファイル名は、ブートファイル内で指定します。/etc/hosts との混同を避けるために、hosts 以外の名前を付けます。たとえば、これらのファイルに db.domain パターンを使用して名前を付けることができます。この命名方法により、doc.comsales.doc.com ドメインのホストファイルは db.docdb.sales になります。

hosts.rev ファイル

hosts.rev ファイルで、逆 (アドレスから名前) マッピングを行うための特別な in-addr.arpa. ドメインのゾーンを指定します。このファイル名は、ブートファイル内で指定します。

named.local ファイル

named.local で、ローカルループバックインタフェースのアドレスまたはローカルホストをネットワークアドレス 127.0.0.1 とともに指定します。このファイル名はブートファイルで指定します。他のファイルと同様、このマニュアルで使われていない名前を付けることもできます。

$INCLUDE ファイル

インクルードファイルは、DNS データファイルの中の $INCLUDE() 文で指定された任意のファイルです。$INCLUDE ファイルは、異なるタイプのデータを便宜的に複数のファイルに分けるのに使うことができます。

たとえば、データファイルに次のような行が含まれているとします。


$INCLUDE /etc/named/data/mailboxes

この行によって、/etc/named/data/mailboxes ファイルがその時点で読み込まれます。この例では、/etc/named/data/mailboxes が、$INCLUDE ファイルです。$INCLUDE ファイルは必要に応じて、必要な数だけ使用します。必要がなければ使う必要はありません。