BIND設定ファイル

BINDネームサーバーであるnamedサーバーは、/etc/named.confファイルで設定を行います。すべてのゾーンファイルは、/var/named/ディレクトリに置かれます。

警告警告
 

BIND設定ツールを使用している場合は、/etc/named.confファイルと/var/namedディレクトリ内のファイルを手動で編集しないでください。これらのファイルを手動で変更すると、次回BIND設定ツールを使用するときにこれらのファイルが上書きされてしまいます。

namedを起動するには/etc/named.confファイルにエラーがあってはなりません。いくつかのステートメントで使用される誤ったオプションはサーバーを停止するほど重大ではないと考えられていますが、ステートメントそのものの中にエラーがあった場合には、namedサービスが起動できなくなります。

/etc/named.conf

/etc/named.confファイルは、大かっこ{ }内に置かれたネストされたオプションを使用するステートメントの集まりです。サンプルの/etc/named.confファイルは、図17-2同様に設定されています。

"<statement-name>" は、aclincludeserverviewzoneステートメントだけで必要です。<statement-N-class> は、zoneステートメントだけで指定することができます。

コメントは、ネストしたC形式の文字/* */の中か、//文字か、#文字の後に記述することができます。

以下のステートメントは、/etc/named.confで使用することができます。

ゾーンステートメントのサンプル

マスターネームサーバーやスレーブネームサーバーの/etc/named.confファイルに対する変更は、zoneステートメントの追加、変更、削除などに関わるものです。これらのzone ステートメントには、数多くのオプションを含めることができまが、ほとんどのネームサーバーは、そのうちのほんのわずかしか利用しません。以下のzoneステートメントは、マスタースレーブネームサーバー関係で利用することのできる非常に基本的な例です。

domain.comドメインのホストとして動作するプライマリネームサーバー上のzoneステートメントの例を図17-5に示します。

このzoneステートメントは、ゾーンをdomain.comと名づけ、typemasterとして設定し、named/var/named/domain.com.zoneファイルを読んでそのゾーンを設定し、他のホストによる更新を認めないよう命令しています。

スレーブサーバーのdomain.comzoneステートメントの例を、図17-6に示します。

このzoneステートメントは、スレーブサーバーのnamed192.168.0.1マスターサーバーでdomain.comと呼ばれるゾーンの設定情報を見つけるよう命令します。スレーブサーバーがマスターサーバーから受け取った情報は、/var/named/domain.com.zoneファイルに保存されます。

ゾーンファイル

特定のネーム空間についての情報が記載されているゾーンファイルは、named作業ディレクトリに保存されます。デフォルトは、/var/namedです。各ゾーンファイル名は、zoneステートメントのfileオプションデータに従い、通常はexample.com.zoneなどのように、該当するドメインに関係し、ゾーンデータが記載されているアプリケーションファイルが識別できるような名前が付けられます。

各ゾーンファイルには、ディレクティブとリソースレコードが含まれている場合があります。ディレクティブは、ネームサーバーに対して、あることを実行したり、ゾーンに特別の設定を適用したりするよう命令するものです。リソースレコードは、ゾーンのパラメータを定義し、ゾーンのネーム空間内でのアイデンティティを特定のシステムに割り当てるものです。ディレクティブはオプションですが、リソースレコードはネームサービスをそのゾーンに提供するため必須です。すべてのディレクティブとリソースレコードは、定められた行に記載されなくてはなりません。

コメントは、ゾーンファイルのセミコロン(;)の後に置かれます。

ゾーンファイルディレクティブ

ディレクティブは、ディレクティブ名の先頭に置かれる$文字によって識別され、通常はゾーンファイルの先頭に置かれます。

以下のディレクティブが最も一般的に使用されます。

ゾーンファイルリソースレコード

ゾーンファイルリソースレコードには、そのレコードを定義するデータのカラムがあり、ホワイトスペースによって区切られています。すべてのゾーンファイルリソースレコードは、あるタイプに割り当てられ、これによりそのレコードの目的が指定されます。以下のタイプのリソースレコードがもっとも一般的に使用されます。

ゾーンファイルの例

個別に見た場合、ディレクティブとリソースレコードは把握するのが困難です。しかし、共通ファイルにいっしょに置くとすべてがずっと意味のあるものになります。

図17-17に、非常に基本的なゾーンファイルを示します。

この例では、標準ディレクティブとSOA値が使われています。権限のあるネームサーバーは、dns1.domain.comdns2.domain.comに設定され、これらをそれぞれ10.0.1.210.0.1.3に結び付けるAレコードがあります。

MXレコードで設定されるEメールサーバーは、CNAMEレコードを介してserver1server2をポイントします。server1server2の名前は最後がドット(.)で終わっていないため、その後ろに$ORIGINドメインが置かれ、server1.domain.comserver2.domain.comに拡張されます。関連Aリソースレコードを通して、そのIPアドレスを決定することができます。

標準名のftp.domain.comwww.domain.comで利用できる一般的なFTPとWebのサービスは、CNAMEレコードを使って、これらの名前に合ったサービスを提供するマシンにポイントされます。

逆引き名前解決ゾーンファイル

逆引き名前解決ゾーンファイルは、特定のネーム空間のIPアドレスをFQDNに変換します。これは標準ゾーンファイルにとてもよく似ていますが、PTRリソースレコードがIPアドレスをあるシステムの名前に連結するのに使われるという点で異なっています。

PTRレコードは、図17-18に似た方法で記載されます。

<last-IP-digit>は、特定のシステムのFQDNをポイントすべきIPアドレスの最後の数と一致します。

図17-19では、10.0.1.20から10.0.1.25までのIPアドレスが対応するFQDNにポイントされています。

このゾーンファイルは、図17-20に似た/etc/named.confファイルのzoneステートメントでサービスに呼びこまれます。

ゾーンの命名法を除き、この例と標準zoneステートメントの間にはほとんど違いがありません。逆引き名前解決ゾーンでは、IPアドレスの最初の3つのブロックを逆にし、その後に「.in-addr.arpa」を添付する必要があることに注意してください。これにより逆引き名前解決ゾーンファイルで使用されるIP番号の1つのブロックがこのゾーンで正しく添付されます。