8.3. ゾーンファイルの管理
DNSサーバは複数ゾーンの管理ができ、ゾーン情報はゾーンごとにゾーンファイルに記載する。
ゾーンファイルはnamed.confで指定した数だけ必要になる。
ゾーンファイルの種類は以下の通り。
| 種類 | 説明 | 
|---|---|
| hint情報ファイル | ルートDNSサーバ一覧 | 
| 正引きファイル | ホスト名からIPアドレスの対応関係を記述 | 
| 逆引きファイル | IPアドレスからホスト名への対応関係を記述 | 
また書式は以下の通り。
名前 [TTL値] IN リソースレコードタイプ 値8.3.1. リソースレコード
ソースファイルに記述する内容は以下の通り。
- $ORIGIN… レコードで補完するドメイン名の指定
- $TTL… 他のDNSサーバがゾーンデータをキャッシュする時間の指定
またリソースレコードではゾーン情報を記述する。
ドメイン名はFDQNで指定し、最後に.をつける。
リソースレコードのタイプは以下の通り。
| リソースレコードタイプ | 説明 | 
|---|---|
| SOA | 管理情報の記述 | 
| NS | ゾーンを管理するDNSサーバを記述 | 
| MX | メールサーバを記述(正引きのみ) | 
| A | ホスト名に対するIPアドレスを記述(正引きのみ) | 
| AAAA | ホスト名に対するIPv6アドレスを記述(正引きのみ) | 
| CNAME | ホスト名の別名に対するホスト名を記述(正引きのみ) | 
| PTR | IPアドレスに対するホスト名を記述(逆引きのみ) | 
| TLSA | デジタル署名されたレコード。サーバ認証に使われる証明書や鍵の情報がドメイン名に対して関連付けられてDANE(DNSを使った認証の仕組み)で用いられる | 
SOAレコード
ゾーンに関する基本情報を記載する。
名前 IN SOA DNSサーバ  メールアドレス (
    [値] ;Serial 
    [値] ;Refresh
    [値] ;Retry
    [値] ;Expire
    [値] ;Negative TTL
)| 項目 | 説明 | 
|---|---|
| Serial | シリアル番号の記述 | 
| Refresh | マスタDNSサーバのゾーン情報変更をスレーブDNSサーバがチェックする間隔の指定 | 
| Retry | スレーブDNSサーバがマスタDNSサーバにアクセスできないときに何秒後に再試行するかの指定 | 
| Expire | スレーブDNSサーバがマスタDNSサーバにアクセスできないときに何秒後にゾーン情報を破棄するかの指定 | 
| Negative TTL | 存在しないドメインに対するキャッシュの有効期限の設定 | 
NSレコード
DNSサーバをFDQNで指定する。
DNSサーバ1つにつき1つずつ記述する。
名前 IN NS DNSサーバ名MXレコード
MXレコードはメールサーバがメールを送る際に参照するもの。
名前 IN MX プリファレンス値 メールサーバ名プリファレンス値は値が小さいほど優先度が高い。 「10」ずつ値を区切るのが一般的となる。
Aレコード
ホスト名に対するIPアドレスを指定する。
ホスト名 IN A IPアドレスAAAAレコード
ホスト名に対するIPv6アドレスを指定する。
ホスト名 IN AAAA IPv6アドレスCNAMEレコード
ホスト名の別名を記述する。
別名 IN CNAME ホスト名PTRレコード
IPアドレスに対するホスト名を記述する。
IPアドレス.in-addr-arpa. IN PTR ホスト名なおIPv6の場合は4bitごとに「.」を挿入、「:」を削除記載する。
8.3.2. ゾーンファイルの設定
named-checkzoneコマンド
ゾーンファイルの構文チェックを行うコマンド。
named-checkzone [オプション] ゾーン名 ゾーンファイル名| オプション | 説明 | 
|---|---|
| -t ディレクトリ | chrootしている場合のディレクトリ指定 | 
| -w ディレクトリ | ゾーンファイルのディレクトリ指定 | 
named-compilezoneコマンド
バイナリデータのゾーンファイルの内容を確認できるコマンド。
named-compilezone