s01.wakhok.ac.jp ドメインのゾーン情報ファイルの例を掲げる。
; s01.zone の例
$TTL 86400
@ IN SOA dns.s01.wakhok.ac.jp. admin.s01.wakhok.ac.jp. (
2004080201 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hours
604800 ; Expire after 1week
86400 ) ; Minimum TTL of 1day
IN NS dns.s01.wakhok.ac.jp.
localhost IN A 127.0.0.1
localhost IN AAAA ::1
dns IN A 10.16.129.1
dns IN AAAA 2001:2f8:43:1000::0153
s01 IN AAAA 2001:2f8:43:1000:290:27ff:feba:6fc9
www IN AAAA 2001:2f8:43:1000::0180
|
ゾーンの情報ファイルのれぞれのエントリは DNS資源レコードと呼ばれる。資源レコード(RR)には本来順序はないが、 通常 SOAレコード、NSレコード、その他のホストに関するレコードの 順に書かれる(これは省略などの関係で守った方が良いであろう)。
各レコードは空白(スペース、タブ)によってフィールドに分けられる。 情報ファイルにおいては、フィールドの位置は固定であり、従って、 行頭に空白があるかないか(第一フィールドを省略したと見なす)は 決定的に重要である点に注意しなければならない。
コメントは;で始まり、行末までである。
各レコードは次のようなフィールドからなるが、第一フィールドが
$ で始まるときはディレクティブと呼ぶ指令で、資源レコード
とは異なる。
| 名前 | . @ ドメイン名 空白 |
| TTL | 数値、空白 |
| クラス | IN |
| 資源レコードのタイプ | SOA NS A PTR CNAME MX など |
| レコードの情報 |
更に、レコードは行単位で記述されるが、行末が ( で終っている場合には
続く行は継続行とみなされ、 ) が出現するまで継続される。
$TTL
$TTL で指定した値がデフォルトとして
利用される。$TTL文がない場合には、SOAの最小値が使用されるが、
警告がでるようになる。なお、ここで言う TTL は、全てのネームサーバ
で該当レコードがどれだけの時間キャッシュしておいて良いかを示すもの
で、この値が短ければ、自サイトのDNSレコードの変更は素早く他のサイト
に反映されるが当然CPU資源はその分消費される。
( )で囲むことによって、
レコードを複数行に拡張しているが、何もなければ通常一行が一レコード
に対応する。第一フィールドの @はカレントオリジン(起点名)の省略で、
例では conf ファイルで指定したこのゾーンのドメイン名
s01.wakhok.ac.jp.
のことである。第4フィールドはこのデータを作成したホストマシン名であり、
第5フィールドは最初の .を @ に変更すると、通常
DNSマスターのメイルアドレスとなる。ここまで、FQDNが絶対名で(つまり、末尾に
.がついた形で)書かれていることに気づいただろう。DNSでは、
FQDNで書く場合には必ず絶対名で書かねばならないからであり、理由は後述
する。
括弧 (( ))で囲まれた値のうち、Serialはnamedが読み込み記憶する
データに対して付けられるシリアル番号であり、もし、ゾーンファイルを修正して
それらを実行中のnamedに反映させたい場合には必ずシリアルを変更した上で、
kill -HUPをnamedに送らなければならない。
シリアルが変更されていない
場合には、そのゾーン情報には変更がないと見なされ、データの再初期化が
行われないからである。また、シリアルは整数として処理されており、
修正を行った場合には以前よりも大きな値になるようにしなければならない。
同時に、桁は10桁までしか使えないので注意しよう。
その他の値は、ここでは詳しくは触れない。
@ (つまり起点名 - s01.wakhok.ac.jp.)が使われる。
第4フィールドはネームサーバのFQDNである(ここでも絶対名が使われている
点に注意)。この名前は後のホスト情報のレコードで解決されている。
また、ネームサーバは複数を指定することができ、例のように順に列挙すれば
その順にアクセスされる。
.がつかない)を
使ってない場合には、自動的にカレントオリジン(起点名)が自動的に
補われるようになっている。先に、絶対名を強調したのはこのためであった。
実際に、もしここで第一フィールドに dns.s01.wakhok.ac.jpと
書いてしまうと、
dns.s01.wakhok.ac.jp.s01.wakhok.ac.jp.と解釈されるのである。
また、あるFQDNな名前に対してAレコードが複数あってはならないが、Aレコードと
次のAAAAレコードは区別が違うので、これには反しない。