12.3. ゾーンファイル

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

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

すべてのディレクティブとリソースレコードは、定められた個々の行に記載されなくてはなりません。

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

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

ディレクティブは、ドルサイン文字($)で始まり、その後にディレクティブの 名前が続きます。通常はゾーンファイルの先頭に置かれます。

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

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

ゾーンファイルの主要コンポーネントはそのリソースレコードです。

ゾーンファイルリソースレコードには、多種のタイプがあります。 最もよく使用されるタイプを以下に示します:

12.3.3. ゾーンファイルの例

個別に見た場合、ディレクティブとリソースレコードは把握するのが困難です。しかし、 共通ファイルとして一緒に置くと理解しやすくなります。

以下に非常に基本的なゾーンファイルの例を示します。

$ORIGIN example.com
$TTL 86400
@     IN     SOA    dns1.example.com.     hostmaster.example.com. (
                    2001062501 ; serial
                    21600      ; refresh after 6 hours
                    3600       ; retry after 1 hour
                    604800     ; expire after 1 week
                    86400 )    ; minimum TTL of 1 day

      IN     NS     dns1.example.com.
      IN     NS     dns2.example.com.

      IN     MX     10     mail.example.com.
      IN     MX     20     mail2.example.com.

             IN     A       10.0.1.5

server1      IN     A       10.0.1.5
server2      IN     A       10.0.1.7
dns1         IN     A       10.0.1.2
dns2         IN     A       10.0.1.3

ftp          IN     CNAME   server1
mail         IN     CNAME   server1
mail2        IN     CNAME   server2
www          IN     CNAME   server2

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

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

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

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

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

PTRレコードは以下のようになります:

<last-IP-digit>      IN     PTR    <FQDN-of-system>

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

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

$ORIGIN 1.0.10.in-addr.arpa
$TTL 86400
@     IN     SOA    dns1.example.com.     hostmaster.example.com. (
                    2001062501 ; serial
                    21600      ; refresh after 6 hours
                    3600       ; retry after 1 hour
                    604800     ; expire after 1 week
                    86400 )    ; minimum TTL of 1 day

      IN     NS     dns1.example.com.
      IN     NS     dns2.example.com.

20    IN     PTR    alice.example.com.
21    IN     PTR    betty.example.com.
22    IN     PTR    charlie.example.com.
23    IN     PTR    doug.example.com.
24    IN     PTR    ernest.example.com.
25    IN     PTR    fanny.example.com.

このゾーンファイルは、named.confファイルのzoneステートメントで サービスにコールされます。以下のようになります:

zone "1.0.10.in-addr.arpa" IN {
  type master;
  file "example.com.rr.zone";
  allow-update { none; };
};

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