・記述は、半角の大文字でも小文字でも構いません。
・基本的に1行に1ステートメントを記述しますが、()を使って複数行にまたがることもあります。
・;(セミコロン)以降はコメントになります。
次の例について説明します。
$TTL 3600 @ IN SOA DNS1.EXAMPLE.COM. root.WCNET.JP. ( 0706020000 ; Serial 10800 ; Refresh 3600 ; Retry 360000 ; Expire 3600 ; Minimum ) ; IN NS DNS1.EXAMPLE.COM. IN NS DNS2.EXAMPLE.COM. IN MX 10 MAIL.WCNET.JP. IN A 121.11.154.100 SVR IN A 121.11.154.100 WWW IN A 121.11.154.110 IN A 121.11.154.120 USR1 IN A 121.11.154.100 USR2 IN A 121.11.154.100 SVR1 IN A 221.11.154.100 SVR2 IN A 221.22.154.100 |
$TTL 3600
Time to Live の略です。自ゾーンの資源レコードの有効期間を設定します。 DNSサーバーはキャッシュ機能をもっています。 一度問い合わせを行ったらキャッシュし、再度問い合わせるとキャッシュの内容を返します。 これにより、名前解決に必要な時間が短縮されるとともに、DNSサーバーの負荷も軽減されます。 しかし、いつまでもキャッシュ内容を参照されていては、更新されません。 ここでは、キャッシュの有効期限を3600秒=1時間と決めています。 無単位の場合は秒で、「$TTL 1h」や「$TTL 60m」とも書けます。
SOA レコード(Start Of Authority)
DNSサーバーのホスト名や管理者のメールアドレス、ゾーン情報の有効期間などを記述します。
$TTL 3600
@ IN SOA DNS1.EXAMPLE.COM. root.WCNET.JP. (
0706020000 ; Serial
10800 ; Refresh
3600 ; Retry
360000 ; Expire
3600 ; Minimum
)
@
自ドメイン(WCNET.JP.)を指します。
@の代わりに、「WCNET.JP. 」と書いても同じです。
IN
InterNetの略で、データクラスを表します。 他のパラメータは知りません。
DNS1.EXAMPLE.COM .
DNSサーバーのホスト名です。
最後にドットを付けます。
root.WCNET.JP.
管理者のメールアドレスです。
@はドットに置き換えます。 root@wcnet.jp ⇒ root.wcnet.jp.
最後にドットを付けます。
0706020000
シリアルナンバーです。1~4294967296(232-1)の範囲で任意に決めます。
更新するたびに、必ず大きい値にします。年月日時分で作成すると確実です。
(例) 2012年9月5日12時35分 ⇒ 1209051235
この方法は2042年まで使えますね。
10800
DNSサーバーには、プライマリとセカンダリとがあります。セカンダリはプライマリのデータをコピーします。
ここでは、10800秒=3時間毎にコピーする設定です。
3h とも書けます。
3600
何らかの障害で、所定の時刻に、セカンダリがプライマリのデータをコピーできなかった場合は
3600秒=1時間毎にリトライします。
1h とも書けます。
360000
1時間毎にリトライを繰り返しても駄目な場合、いつまでセカンダリのデータを利用し続けるか。
360000秒=100時間
100h とも書けます。
NS レコード(Name Server)
ホスト名(ドメイン名)に対するDNSサーバーを指定します。
IN NS DNS1.EXAMPLE.COM.
IN NS DNS2.EXAMPLE.COM.
WCNET.JPのDNSサーバーにDNS1.EXAMPLE.COM とDNS2.EXAMPLE.COM を指定しています。
WCNET.JP. IN NS DNS1.EXAMPLE.COM .
と同じで、省略した場合、自ドメインになります。
MX レコード(Mail eXchanger)
このドメインに送信されるメールを処理するホストを指定します。
IN MX 10 MAIL.WCNET.JP.
この例では、ドメイン名が省略されていますから、WCNET.JP. となります。
「10」は優先順位を表します。数値が小さいほど優先されます。
大量のメールを扱う場合、複数のメールサーバーで処理するとき必要になるのでしょう。
A レコード(Address mapping)
ホストの IP アドレスを指定します。
(注意)ホスト名は架空のもので、IPアドレスとの関係も実在するものではありません。
IN A 121.11.154.100
Aレコードの1番目の行でホスト名が省略された場合、自ドメイン名になります。
WCNET.JP. IN A 121.11.154.100
と同じです。
SVR IN A 121.11.154.100
自ドメイン名を省略した形で書いています。
SVR.WCNET.JP. IN A 121.11.154.100
と同じです。
WWW IN A 121.11.154.110
IN A 121.11.154.120
1行目はWWW、2行目は空欄です。このように書くと2行目以降もWWWとして扱われます。
つまり
WWW.WCNET.JP. IN A 121.11.154.110
WWW.WCNET.JP. IN A 121.11.154.120
となるわけで、1つのホストに対し、2つのIPアドレスを割り当てたことになります。
USR1 IN A 121.11.154.100
USR2 IN A 121.11.154.100
2つのホストに対し、同じIPアドレスを指定しています。
Apacheの「名前ベースの仮想ホスト」機能と組み合わせると
user1.wcnet.jpでアクセスされたときと、user2.wcnet.jpでアクセスされたときとで、異なるページを公開することができます。
SVR1 IN A 221.11.154.100
SVR2 IN A 221.22.154.100
固定IPを2つ以上持っている場合や、固定IPを持った友人とドメインを共有する場合などに使えます。
svr1.wcnet.jp ⇒ 221.11.154.100
svr2.wcnet.jp ⇒ 221.22.154.150
となります。
DDNSサービスは、このような設定を自動で行うシステムなのでしょうね。
(ただいま更新中)