BIND 8.1 では、新たに構成ファイル /etc/named.conf が追加され、/etc/named.boot ファイルと置き換えられました。/etc/named.conf ファイルは、マスター、スレーブ、キャッシュ専用のネームサーバーを確立します。また、named.conf はサーバーが権限を持つゾーンを指定し、どのデータファイルから初期データを取得するかを指定します。
/etc/named.conf ファイルには、次の機能を実装するための文が含まれます。
アクセス制御リスト(ACL) によるセキュリティ。このリストには、NIS+ ホストが読み取り権と書き込み権を持っている IP アドレスの集まりが定義されている
ロギング動作の指定
この構成ファイルは、サーバーの起動スクリプト /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 |
ゾーンを定義する。すべてのゾーンに対してではなく、ゾーンごとにオプションを適用する |
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 master 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; }; }; |
大規模な会社であれば、複数のドメインをサポートしており、ローカルな名前空間が構成されていることでしょう。次の図に、ある会社に存在するドメインの階層構造の例を示します。最上位のドメイン、すなわちルートドメインは、ajax.com で、その下に sales.ajax.com、test.ajax.com、manf.ajax.com の 3 つのサブドメインがあります。
DNS クライアントは、そのドメインをサポートしているサーバーに対してのみサービスを要求します。クライアントの必要としている情報がそのドメインサーバーにない場合、要求は親サーバーに転送されます。親サーバーは、1 つ上の階層のドメインに存在します。要求が最上位のサーバーに達した場合、最上位のサーバーはクライアントのドメインが有効かどうか調べます。ドメインが有効でない場合、サーバーは「not found」というメッセージをクライアントに返します。ドメインが有効な場合、最上位のサーバーはそのドメインをサポートしているサーバーに要求を転送します。
次の図に示したドメインの階層は、グローバルなインターネット上でサポートされる巨大な DNS 名前空間の「枝葉」のようなものです。
それは、ピリオド (.) で表されるルートディレクトリと、最上位のドメインの階層 2 つ (組織的なものと地理的なもの) で構成されます。次の図の com ドメインは、インターネットに存在する最上位の組織ドメインの 1 つです。
現在、組織的な階層の名前空間は、次の表に示した最上位のドメインに分けられます。将来、これ以外にも最上位の組織ドメインが追加される可能性があります。
表 3–3 インターネットの組織ドメイン
ドメイン |
目的 |
---|---|
com |
営利団体 |
edu |
教育機関 |
gov |
行政機関 |
mil |
軍事組織 |
net |
ネットワークサポートセンター |
org |
非営利団体 |
int |
国際組織 |
地理的な階層においては、各国に対して2、3 文字の識別子が割り当てられ、それが、各国に対する公式名として用いられます。たとえば、イギリス国内のドメインは、uk という最上位のドメインのサブドメインになります。日本国内のドメインは、jp のサブドメインで、他の国に関しても同様です。
インターネットのルートドメイン、すなわち地理的および組織的に最上位のドメインは、様々なインターネット運営体によって管理されています。規模にかかわらずネットワークを有する人は、そのネットワークのドメイン名を組織的な階層か地理的な階層に登録することによってインターネットに参加できます。
DNS ドメインはドメイン名を持つ必要があります。インターネットに接続しないで、ネームサービスとしてDNS を使用する場合は、ドメインやサブドメインに任意の名前を付けることができます。ただし、インターネットに参加する場合は、そのドメイン名をインターネット運営体に登録する必要があります。
インターネットに参加する場合は、次の手順に従います。
上記のことを行うには、次の 2 つの方法があります。
適切なインターネット運営体またはその代理団体と直接連絡をとる方法
インターネットサービスプロバイダ (ISP) と契約する方法。ISP は、コンサルティングから実際の接続まで広範なサービスを提供している
ドメイン名は、DNS 名前空間全体でのドメインの位置を表します。それは UNIX のファイルシステムでパス名がファイルの位置を表しているのと同じです。ローカルドメインが登録されると、そのドメイン名は所属するインターネットの階層の名前に追加されます。たとえば、図 3–5 で示した Ajax ドメインはインターネットの階層である com の一部として登録されました。したがって、そのインターネットドメイン名は ajax.com となります。
次の図に、ajax.com ドメインがインターネット上の DNS 名前空間のどこに位置しているのかを示します。
ajax.com のサブドメインには、次のような名前があります。
sales.ajax.com test.ajax.com manf.ajax.com |
DNS ではドメイン名を大文字にすることは可能ですが、必須ではありません。次に、マシン名とドメイン名の例を挙げます。
boss.manf.ajax.com quota.sales.ajax.com |
インターネット運営体は、各ドメインにホスト名に関する権限を与えます。各ドメインには、それ以下のレベルの権限が委任されます。したがって、com ドメインはそのドメイン内のホスト名に対して権限があります。また、運営体は、ajax.com ドメインの編成について権限を与え、そのドメイン内の名前に対する権限を委任します。それを受けて ajax.com はドメイン内のホストに名前を割り当て、sales.ajax.com、 test.ajax.com、manf.ajax.com の各ドメインの編成を承認します。
ドメイン名にローカルドメインから DNS のルートドメイン (.) までのすべての DNS のドメインが含まれているとき、そのドメイン名は「完全指定されている」といいます。概念的には、完全指定ドメイン名は、UNIX ファイルの絶対パス名と同様に、ルートへのパスを示しています。しかし、完全指定ドメイン名を読む場合、左から右に進むにしたがって最下位から最上位となります。したがって、完全指定ドメイン名は次のような構文になっています。
ajax ドメインとそのサブドメインの完全指定ドメイン名は、次のとおりです。
ajax.com. sales.ajax.com. test.ajax.com. manf.ajax.com. |
ここで、各名前の一番右に付けられたドット (.) に注意してください。