正引きファイルは、ドメインのホスト名をIPアドレスに変換するためのものです。そのほか、メールサーバの設定をします。
下記は正引きファイルの設定例です。
$TTL 86400 @ IN SOA example.jp. root.example.jp.( 2012022207 ; Serial 10800 ; Refresh 3600 ; Retry 3600000 ; Expire 3600 ; Negative Cashe TTL ) IN NS dns.example.jp. IN NS ***.****.com. IN A ***.***.***.*** example.jp IN MX 0 www.example.jp. www IN CNAME example.jp. dns IN CNAME example.jp. wp IN CNAME example.jp. dev IN CNAME www.example2.ne.jp.
データファイルの構成
リソースレコード
- SOAレコード
ゾーン・ファイルの取り扱いを設定する - NSレコード
ドメインを管理するネームサーバを設定する - Aレコード
IPアドレスを設定する - コメント
セミコロン( ; )で始まる行は、その行の最後までが注釈扱いとみなされます
上記設定に加え、次のようなレコードを追加することができます。
- CNAMEレコード
別名を設定する - MXレコード
メールエクスチェンジャを設定する - HINFO レコード
ホストの備考を設定する
SOAレコード
ゾーンデータを作成したホスト名・管理者のメールアドレスを指定します。一般的なSOAレコードは以下のようになります。
@ IN SOA example.jp. root.example.jp. ( 2012022301 ; Serial number 3600 ; Refresh time 3600 ; Retry 3600000 ; Expire 3600 ; Negative Cashe TTL )
- Serial number
- シリアルナンバー。ここでは「西暦+2桁の番号」としています。
※ファイル変更時には必ず値を増やしてください。 - Refresh time
- セカンダリがマスターにデータの更新の有無を確認すべき間隔を指定します。
これ以降の値はすべて秒単位で指定します。 - Retry
- セカンダリがデータ更新を行えなかった場合の、リトライを行う間隔を指定します。
- Expire
- データの有効期間を指定します。
- Negative Cashe TTL
- データをキャッシュする場合の有効期間を指定します。
ドメイン名は @ で省略することができます。そのため、それ以外の文字に @ が使えません。管理者メールアドレスに当たるroot.example.jp.は @ を . に置き換えています。
<ドメイン名> <資源> <ホスト名+ドメイン名> <メールアドレス> example.jp. IN SOA example.jp. root.example.jp.(
もしくは、下記でも同じことです。
@ IN SOA @ root (
アットマーク( @ )は自ドメインの略です。続く IN は InterNet を意味し、SOAは Start Of Authority の略です。最後に、このデータが格納されているホスト名と、管理者のメールアドレスを記述します。
ドメイン名の最後にピリオドが付くこと、メールアドレスに含まれる@を.に置き換える点忘れないよう注意が必要です。
@
このシンボルはSOAがドメインと同じということを意味します。
IN
IPアドレスを提供するネームサーバーです。
SOA
SOA(Start Of Authority)は続いて指定される名前によって、ドメインのプライマリ、連絡先の電子メールアドレスが定義されていることを示します。
example.jp.
SOAのプライマリゾーンサーバ名です。最後のドットを忘れると違う解釈をされるので注意が必要です。
root.example.jp
example.jpの連絡先です。この例では、連絡先はrootユーザで、アットマーク(@)をドット(.)で置き換えます。
SOAに指定する時間の単位
SOAの指定する時間は秒単位です。ご参考までに1時間、1日、1週間の秒数を記します。
- 1時間
- 3,600秒
- 1日
- 86,400秒
- 1週間
- 604,800秒
1時間の場合は1H、1日の場合は1D、1週間の場合は1Wという表記も許さています。
NSレコード
NSは Name Serverの略で、ここにドメインのネームサーバを指定します。ネームサーバ名の最後にピリオドが必要です。
ドメイン名 IN NS ネームサーバ.
NSレコードの編集
example.jpのドメイン情報をもっているネームサーバを指定します。複数ある場合は上からプライマリ、セカンダリと指定します。
IN NS dns.example.jp. IN NS ***.****.com.
Aレコード
Aレコード(Address)には、ホストのIPアドレスを設定します。
名前 IN A IPアドレス
Aレコードの編集
Aレコードは、ホスト名とIPアドレスの対応を設定します。必要があれば、ここにドメイン配下のホストの設定をしておきます。
host1.example.jp. IN A 111.222.111.52 host2.example.jp. IN A 111.222.111.53 host3.example.jp. IN A 111.222.111.54
CNAMEレコード
CNAMEレコードは、ホストを別の名前でも参照できるようにします。
別名 IN CNAME 基準名
CNAMEレコードの編集
ホストの別名を設定します。
<仮ホスト名+ドメイン名> <資源> <本来のホスト名+ドメイン名> ホスト名mailにwwwという別名をつける場合に設定 mail IN CNAME www ホスト名nsにwwwという別名をつける場合に設定 ns IN CNAME www
MXレコード
ドメイン名やホスト名に対するメールの送り先を指定します。指定できるのは、Aレコードに登録されている名前だけで、CNAMEの名前は指定できません。
名前 IN MX 優先度 基準名
優先度は、MXを複数用意して運用する場合に必要となる優先度情報です。値が小さいほど優先度が高くなります。
MXレコードの編集
MXレコードに、メール・エクスチェンジャを指定してみましょう。
メールアドレスの@マーク以下のメールサーバ名を省略できます。たとえば、下記の設定では「user@example.jp」宛てのメールは「user@sv.example.jp」に送られます。
メール・サーバの優先度により、メインで動作するかサブで動作するかが決まります。2台のメールサーバがある場合、数字の小さいほうがメイン、大きいほうがサブとなります。
ホスト名を指定して送られたメールの配信もすべてメインのメールサーバで受け取れるようにするには、ドメイン名の変わりに「*」を使います。
<ドメイン名> <資源> <メールを受信する優先度> <メールサーバ名> rfs.jp. IN MX 0 sv.example.jp. @ IN MX 10 sub.example.jp.