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>

<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つのブロックがこのゾーンで正しく添付されます。