資源レコードはゾーンファイルの主要エントリーであり、ホストに関する情報を網羅する。
資源レコードには多種のタイプがあり、よく使用されるタイプに次の種類がある。
レコード タイプ | 役割 |
SOA | 当該ゾーンに対して権威があることを示す。 |
NS | 当該ゾーンおよび委任したゾーンのネーム サーバーを示す。 |
A | 名前に割り当てる IP アドレスを指定する。 |
PTR | IP アドレスに該当する特定の名前を示す。 |
CNAME | 1 つの名前 (別名) を別の名前 (正規名) にマップする。 |
【 資源レコードの共通フィールド 】
各資源レコードの書式には、以下のような共通に使われるフィールドがある。
- rname
資源レコード名。 この資源レコードのドメイン名でもある。
資源レコード名の最後はドット ( .) でなければならない。【 FQDN 形式 】
最後のドット ( .) が省略されている場合は、起点名を追加したものが実際の資源レコード名として認識される。
- ttl
自ホスト情報を他のサーバーがキャッシュする時間を指定する。 省略可能。
- class
データクラス。 Internet を表す IN が主に使用される。 省略可能。
省略した場合は、構成ファイルの zone ステートメントで指定した class が適用される。
Start Of Authority は権威の開始を意味する。 分割委任されたゾーンの情報源として信頼できる (権威がある) ことを表明する。
SOA レコードはルート ゾーンファイル (通常 named.ca) 以外のゾーンファイルで必要であり、1つのゾーンファイル中で有効な SOA レコードは1つだけである。
ゾーンファイル内における SOA レコードの記載位置は、ディレクティブの直後、資源レコードの先頭に配置する。
rname [ttl ] [class] SOA master-name admin-mail
( | serial | |
| refresh | |
| retry | |
| expire | |
| minimum ) | |
|
- master-name
このゾーンのマスターとなるネーム サーバーのドメイン名。
FQDN で記述する。
- admin-mail
ゾーンの管理責任者のメール アドレス。 FQDN で記述する。
ただしアットマーク ( @ ) はドット ( .) で置き換える。
( ) 内の項目はスレーブ サーバーへの指示になる。
- serial
1 〜 4,294,967,295 の範囲で適宜付与する。
ただしゼロ ( 0 ) は特別な意味を持つ場合がある。
ゾーンデータに変更があった場合、この番号をインクリメントしなければならない。
スレーブ サーバーは serial の増加をデータ更新のトリガーとしている。
- refresh
スレーブがマスターへ SOA レコードの更新チェックを行う間隔。
- retry
refresh 時、マスターへアクセスできなかった場合の、再試行までの待機時間。
- expire
ゾーンデータの有効期間。
refresh 後、expire で定める期間経過までに再度 refresh が行えなかった場合、
スレーブ サーバーはゾーンデータを無効にする。
無効になるとスレーブ サーバーは、そのゾーンに対する問い合わせに答えなくなる。
- minimum
ネガティブ キャッシュ TTL。
ゾーンに対する権威を持ったネーム サーバーから返された否定応答を、キャッシュしておく期間。
否定応答とは、特定のドメイン名が存在しない、あるいは特定のドメイン名について検索された種類のデータが存在しないという応答をいう。
【 SOA レコードの具体例 】
- 正引き ( .zone ) ファイル
- 逆引き ( .rev ) ファイル
管理しているゾーンのネーム サーバーのホスト (ドメイン) 名を記述する。
ネーム サーバーが複数ある場合は、ネーム サーバーの数だけ NS レコードが必要になる。
rname [ttl ] [class] NS name-server
- name-server
対応するネーム サーバーのホスト (ドメイン) 名。 FQDNで記述する。
ここに別名 ( CNAME ) を記述することはできない。
【 NS レコードの具体例 】
- 正引き ( .zone ) ファイル
- 逆引き ( .rev ) ファイル
A レコードはホストの IP アドレスを指定する。
rname [ttl ] [class] A IP-address
- IP-address
ホスト (ドメイン) 名に対応する IP アドレスを記述する。
【 A レコードの具体例 】
CNAME レコードは、ホストの別名を実際のホスト (ドメイン) 名にマッピングする。
ネーム サーバーが名前を検索したときに CNAME レコードを見つけると、検索名を CNAME レコードの正規名 (
canonical-name) に置き換えて検索を再実行する。
rname [ttl ] [class] CNAME canonical-name
- canonical-name
正規ホスト (ドメイン) 名を記述する。 FQDNで記述。
このレコードでの rname は別名である。
【 CNAME レコードの具体例 】
PTR レコードは、IP アドレスをホスト (ドメイン) 名にマッピングする。
1つの IP アドレスは1つの正規なホスト (ドメイン) 名のみに対応させることになっている。 別名 ( CNAME ) に対応させてはならない。
rname [ttl ] [class] PTR dname
- dname
正規ホスト (ドメイン) 名を記述する。 FQDNで記述。
【 PTR レコードの具体例 】
MX レコードは、このドメインに送信されるメールを処理するホスト (メール エクスチェンジャー) を指定する。
rname [ttl ] [class] MX priority exchange-host
- priority
メール エクスチェンジャーの優先度を、符号なしの整数値で表す。
値が小さいほど優先度が高い。
- exchange-host
メール エクスチェンジャーとして機能するホスト (ドメイン) 名を指定する。
FQDNで記述。
【 MX レコードの具体例 】
しかし、SOA レコード以外は必ずしもこの順である必要はない。