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

named.conf ファイル

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

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

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

named.conf ファイルは、いくつかの文とコメントで構成されています。文はセミコロンで終わります。一部の文には、文のブロックを記述することができます。ブロック内の各文もセミコロンで終わります。

表 3–2 named.conf で使用する文
acl

アクセス制御に使用する、IP アドレスの一致リストを名前を付けて定義する。アドレスの一致リストは、1 つ以上の IP アドレス (ドット形式の 10 進表記) または IP 接頭辞 (ドット形式の 10 進表記の後にスラッシュとネットマスクのビット数が付く) を示す。名前を付けたIP アドレスの一致リストは、他の場所で使用する前に acl 文で定義されている必要がある。前方参照は不可

include

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

key

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

logging

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

options

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

server

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

zone

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


例 3–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;
         };
};

ローカルドメイン内の DNS 階層

大規模な会社であれば、多くのドメインをサポートしており、ローカルな名前空間が構成されていることでしょう。次の図に、ある会社に存在するドメインの階層構造の例を示します。この会社の最上位のドメイン、すなわちルートドメインは ajax.com で、その下に sales.ajax.comtest.ajax.commanf.ajax.com の 3 つのサブドメインがあります。

図 3–3 ある組織での DNS ドメインの階層

この図は、DNS ドメインの階層例として、Sales、Test、および Manf being というサブドメインを持つ Ajax.com ドメインを示しています。

DNS クライアントは、そのドメインをサポートしているサーバーだけにサービスを要求します。クライアントの必要としている情報がそのドメインサーバーにない場合、要求は親サーバーに転送されます。親サーバーは、1 つ上の階層のドメインサーバーです。要求が最上位のサーバーに達した場合、最上位のサーバーはクライアントのドメインが有効かどうか調べます。ドメインが有効でない場合、サーバーは「not found」というメッセージをクライアントに返します。ドメインが有効な場合、最上位のサーバーはそのドメインをサポートしているサーバーに要求を転送します。

DNS 階層とインターネット

次の図に示したドメインの階層は、グローバルなインターネット上でサポートされる巨大な DNS 名前空間の「枝葉」のようなものです。

それは、ピリオド (.) で表されるルートディレクトリと、最上位のドメインの階層 2 つ (組織的なものと地理的なもの) で構成されます。次の図の com ドメインは、インターネットに存在する最上位の組織ドメインの 1 つです。

図 3–4 インターネットのドメインの階層

この図は、インターネットのトップレベルのドメイン構造を組織的な階層と地域的な階層で示しています。

現在、組織的な階層の名前空間は、次の表に示した最上位のドメインに分けられます。将来、これ以外にも最上位の組織ドメインが追加される可能性があります。

表 3–3 インターネットの組織ドメイン

ドメイン 

目的 

com

営利団体 

edu

教育機関 

gov

行政機関 

mil

軍事組織 

net

ネットワークサポートセンター 

org

非営利団体 

int

国際組織 

地理的な階層においては、各国に対して 2、3 文字の識別子が割り当てられ、それが、各国に対する公式名として用いられます。たとえば、イギリス国内のドメインは、uk という最上位のドメインのサブドメインになります。日本国内のドメインは、jp のサブドメインで、他の国に関しても同様です。

インターネットへの参加

インターネットのルートドメイン、すなわち最上位のドメイン (組織的および地理的) は、様々なインターネット運営体によって管理されています。規模にかかわらずネットワークを有する人は、そのネットワークのドメイン名を組織的な階層か地理的な階層に登録することによってインターネットに参加できます。

DNS ドメインはドメイン名を持つ必要があります。インターネットに接続しないで、ネームサービスとして DNS を使用する場合は、ドメインやサブドメインに任意の名前を付けることができます。ただし、インターネットに参加する場合は、そのドメイン名をインターネット運営体に登録する必要があります。

インターネットに参加する場合は、次の手順に従います。

上記のことを行うには、次の 2 つの方法があります。

ドメイン名

ドメイン名は、DNS 名前空間全体でのドメインの位置を表します。それは UNIX のファイルシステムでパス名がファイルの位置を表しているのと同じです。ローカルドメインが登録されると、そのドメイン名は所属するインターネットの階層の名前に追加されます。たとえば、図 3–5 で示した Ajax ドメインはインターネットの階層である com の一部として登録されました。したがって、そのインターネットドメイン名は ajax.com となります。

次の図に、ajax.com ドメインがインターネット上の DNS 名前空間のどこに位置しているのかを示します。

図 3–5 DNS 名前空間における Ajax ドメインの位置

この図は、全世界的な DNS 名前空間における .com のサブドメインとして Ajax を示しています。

ajax.com のサブドメインには、次のような名前があります。


sales.ajax.com
test.ajax.com
manf.ajax.com

DNS ではドメイン名を大文字にすることは可能ですが、必須ではありません。次に、マシン名とドメイン名の例を挙げます。


boss.manf.ajax.com
quota.sales.ajax.com

インターネットでのドメインの管理は、ドメイン内のホスト名に対する権限を各ドメインに保証し、各ドメインがそれより下位のレベルに権限を委任することによって行われます。したがって、com ドメインはそのドメイン内のホスト名に対して権限があります。また com ドメインは、ajax.com ドメインに対して編成の権限を与え、そのドメイン内の名前に対する権限を委任します。それを受けて ajax.com はドメイン内のホストに名前を割り当て、sales.ajax.comtest.ajax.commanf.ajax.com の各ドメインの編成を承認します。

完全指定ドメイン名 (FQDN)

ドメイン名にローカルドメインから DNS のルートドメイン (.) までのすべての DNS のドメインが含まれているとき、そのドメイン名は「完全指定されている」といいます。概念的には、完全指定ドメイン名は、UNIX ファイルの絶対パス名と同様に、ルートへのパスを示しています。しかし、完全指定ドメイン名を読む場合、左から右に進むにしたがって最下位から最上位となります。したがって、完全指定ドメイン名は次のような構文になっています。

この図は、FQDN 内の右端 (左側から読んだ場合の最後) に位置付けられているルートドメインを示しています。

ajax ドメインとそのサブドメインの完全指定ドメイン名は、次のとおりです。


ajax.com. 
sales.ajax.com. 
test.ajax.com. 
manf.ajax.com.

ここで、各名前の一番右に付けられたドット (.) に注意してください。