パソコン実習室
DNSサーバ (bind-9.2) の設定
≪ previous next ≫

V.ゾーン ファイル

 ゾーンファイルには名前空間内の自ゾーンに関する情報を記載し、構成ファイル options ステートメントの directory で指定したディレクトリに保存する。
 またゾーンファイル名は、構成ファイル zone ステートメントの file で指定した名称と同じである必要がある。

 ゾーンファイルに登録するエントリーには、次の種類がある。
▼ エントリーのゾーンファイル内での配置は、「ディレクティブ」、「資源レコード」の順。


V.1.ゾーンファイルの種類

 ゾーンファイルには、目的 (問い合わせの内容) に応じて次の種類がある。

ファイルの種類役割一般的な拡張子
正引き (forward mapping)ドメイン(ホスト)名 → IPアドレス.zone
逆引き (reverse mapping)IPアドレス → ドメイン(ホスト)名.rev
ループバックホスト自身の特別な IP アドレス.local
ルート ゾーンルート ネーム サーバー情報.ca


V.2.ゾーンファイルの書式

 ゾーンファイルの書式は以下の通り。
  • ファイルは一連のエントリーで構成され、基本的には1行に1つのエントリーを定義する。
  • 丸括弧 ( ) は複数行にわたるデータが1つのエントリであることを示す。
    丸括弧内部では、行の終端は認識されない。
  • エントリー中に含まれる空白文字 (タブやスペース) は、各項目を区切るデリミタとして働く。
  • セミコロン ( ; ) はコメントの始まりと解釈され、行の終端までの文字列は無視される。
  • 任意の場所に空行を挿入でき、空行は無視される。
  • 大文字と小文字は区別しない。
    一般に、ディレクティブ名のみは大文字で、他の項目は小文字を使う傾向がある。

V.3.ディレクティブ

 ディレクティブは、ドル記号 ( $ ) で始まり、その後にディレクティブの名前が続く。
一般的に使用されるディレクティブは次の通り。

V.3.1.$INCLUDE ディレクティブ

 ディレクティブ記述位置に、別のファイル内容を挿入する。

$INCLUDE file-name
  • file-name フィールドに、挿入したいファイル名を指定する。
  • ※ 構成ファイル options ステートメントの directory で指定していないディレクトリの場合は、絶対パスで
       指定する。

V.3.2.$ORIGIN ディレクティブ

 修飾指定のないレコードに付加するドメイン名 (起点名) を設定する。

$ORIGIN sp-name
  • sp-name
    資源レコードのレコード名 (ドメイン名、ホスト名) が、ドット ( ) で終わっていない場合に、レコード名の末尾に追加する文字列を記述する。
  • $ORIGIN ディレクティブを省略した場合は、構成ファイルの zone ステートメントで指定した domain-name が、$ORIGIN ディレクティブ値として適用される。
  • ▼ 通常、$ORIGIN ディレクティブは省略されることが多い。

V.3.3.$TTL ディレクティブ

 自ゾーンの資源レコードの有効期間 (TTL : Time to Live) を設定する。
ここで設定した値が資源レコードの有効期間として応答メッセージ中に含まれ、 応答メッセージを受信したサーバーは TTL で定められた期間、得られた情報をキャッシュする。
▼ 資源レコードはそれぞれ独自の TTL 値を記述することが可能で、このディレクティブ値を上書きする。
   これにより変更を予定しているホストに関して、個別に TTL 値を短くすることが可能になる。

$TTL time-value
  • time-value
    有効期間を、秒、分、時、日、週単位で設定する。
  • time-value に数値のみ記述した場合は秒単位と解釈される。
    数値の後に次の記号を付加した場合はそれぞれの単位となる。
    • m (分)
    • h (時)
    • d (日)
    • w (週)
  • ゾーンデータの変更頻度により、次の値を time-value の目安とする。
    • 頻度が低い : 数日間 ((最大で1週間程度)
    • 頻度が高い : 最短で 1 時間
  • 発生する DNS のトラフィックを考慮すると、1時間より短い TTL は薦められない。
  • ※ BIND 8.2 より古いネーム サーバーでは SOA レコードの最後のフィールドが TTL 指定値である。
       これら古いバージョンの BIND では、$TTL ステートメントはサポートされない。



≪ previous [[ DNSサーバ - bind-9.2 の設定 ]] next ≫