正引きの設定
続けて、正引きのデータを用意します。サンプルとしては以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
1 $TTL 1D 2 @ IN SOA hw00.local. root.hw00.local. ( 3 2017061601 ; serial 4 1D ; refresh 5 1H ; retry 6 1W ; expire 7 3H ) ; minimum 8 IN NS ns.hw00.local. 9 IN A 192.168.22.104 10 IN MX 10 mail.hw00.local. 11 12 ns IN A 192.168.22.104 13 www IN A 192.168.22.104 14 mail IN A 192.168.22.104 15 |
最初に、SOAレコードを記述します。
冒頭の@マークは、自ドメインに置き換わります。【注1】
正確を期すなら、hw00.local.などと明示的に記述します。
続くINはInterNetを意味しています。
ほかにも指定できるパラメータはあるのですが、今日ではINしか使われていないといって差し支えないでしょう。
SOAはStart Of Authorityの略です。
続けて、このデータが格納されているホスト名と、このデータに責任を持つ人間の電子メールアドレスを記述します。
いずれもピリオドが最後に付くこと、@を.に置き換える点に注意が必要です。
続く数字は、セカンダリネームサーバに対する指定です。
最初にシリアル番号がきます。
これはデータを変更したときにより大きな数値に変更することで、ほかのDNSサーバに変更があったことを知らせます。
何でもいいのですが、2017061901のように年月日+連番にしておくと、いつ変更したのか分かりやすくなります。
あとは、データを確認する間隔、失敗後再試行の間隔、データが無効になるまでの時間、データをキャッシュしておける時間を、それぞれ秒数で指定します。ここを変更する必要はほとんどありません。
SOAの次には、NSレコードを記述します。
NSはName Serverの略で、ネームサーバを指定します。
自分自身を指定しておきます。
個々のホスト名を記述するところまできました。
ホスト名はA(Address)レコードで記述します。
ここでは、ホスト名の後ろにピリオドを付ける必要はありません。
IPアドレスも普通に記述します。
ホスト名の付け方に関しては、お好みです。
小規模なうちは惑星、星座あたりを付ける人が多いようです。
なお、ドメイン名が何を意味するのかは微妙です。
例えばwww.hw00.localと書いた場合、wwwがホスト名でhw00.localがドメイン名、と考えるのが普通です。
しかし、RFC 1034の2.4. Elements of the DNSあたりを読むと、どうもwww.hw00.localでドメイン名となるようです。
このあたりの誤解を避けるため、ホスト名を含んだドメイン名の記述をFQDN(Fully Qualified Domain Name:完全修飾ドメイン名 )と呼んでいます。
【注1】
冒頭の@マークは、ORIGINの設定値に置き換わります。
ORIGINとはドメイン名です。
ORIGINの値は$ORIGINで始まる行で定義します。
1 2 |
$ORIGIN example.com. $TTL 86400 |
明示的にORIGINを指定しない場合、そのゾーンファイルのドメイン名自体が暗に指定されます(正引き/逆引きのzoneを指定しているzone名)。
ORIGIN と全く同じドメイン名は「@」で記載する。
(例: example.com.→ @)
ORIGIN の前にホスト名が付く場合は、そのホスト名を記載し、最後に「.」を付けない。
(例: www.example.com.→www)
MXの設定
メールサーバを指定するMX(Mail eXchanger)レコードです。
MXレコードは、正引きデータを記述したファイルに
1 |
10 IN MX 10 mail.hw00.local. |
といった形で指定します。ここでMXに続く数値はプリファレンス値といいます。
この数値が小さい順に、順次メールサーバとしてアクセスするという指定になります。
相対的な大きさだけが問題なので、符号なし16bits数値の範囲なら好きなように設定できます。
つまり、予備のメールサーバを作っておけるわけです。
逆引きの設定
正引きデータができたら、今度は逆引きデータです。
サンプルは以下のとおり。
1 2 3 4 5 6 7 8 9 10 11 |
1 $TTL 1D 2 @ IN SOA sv.hw00.local root.hw00.local. ( 3 2017061601 ; serial 4 1D ; refresh 5 1H ; retry 6 1W ; expire 7 3H ) ; minimum 8 IN NS ns.hw00.local. 9 10 104 IN PTR ns.hw00.local. 11 |
SOAレコードとNSレコードについては、正引きのときと同じです。
逆引きのデータについては、PTR(PoinTeR)レコードで記述します。
最初だけは例外的に、どこのドメイン名を扱うのかを宣言します。
ここではhw00.local.を指定しますが、最後にピリオドが付くことを忘れないでください。
続くAレコードでは、これも例外的にネットマスクを記述します。
さて、以後は普通にIPアドレスとホスト名をPTRレコードとして記述していくだけです。ここでも、ドメイン名の最後にピリオドを付加します。また、IPアドレスは最も下位の1オクテットのみを記述するだけです。