ゾーンファイルは2種類必要です。一方はIPアドレスをホスト名に割り当て、もう一方は逆にIPアドレスのホスト名を提供します。
![]() | ゾーンファイルでのピリオドの使用 |
|---|---|
| |
最初に、ドメインworld.cosmosに責任を負うゾーンファイルworld.zoneについて示します(例 33.6. 「/var/lib/named/world.zoneファイル」参照)。
例 33.6. /var/lib/named/world.zoneファイル
$TTL 2D
world.cosmos. IN SOA gateway root.world.cosmos. (
2003072441 ; serial
1D ; refresh
2H ; retry
1W ; expiry
2D ) ; minimum
IN NS gateway
IN MX 10 sun
gateway IN A 192.168.0.1
IN A 192.168.1.1
sun IN A 192.168.0.2
moon IN A 192.168.0.3
earth IN A 192.168.1.2
mars IN A 192.168.1.3
www IN CNAME moon
$TTLは、このファイルのすべてのエントリに適用されるデフォルトの寿命(time to live)です。この例では、エントリは2日間(2 D)有効です。
ここから、SOA (start of authority)制御レコードが始まります。
管理対象のドメイン名は、先頭にあるworld.cosmosです。これは、末尾に. (ピリオド)が付いています。ピリオドを付けないと、ゾーンが再度末尾に追加されてしまいます。 あるいはピリオドを@で置き換えることもできます。 その場合は、ゾーンが/etc/named.confの対応するエントリから抽出されます。
IN SOAの後には、このゾーンのマスタであるネームサーバの名前を指定します。これらの名前は末尾に. (ピリオド)が付いていないので、gatewayからgateway.world.cosmosに拡張されます。
この後には、このネームサーバの責任者の電子メールアドレスが続きます。@記号は既に特別な意味を持つので、ここでは代わりに. (ピリオド)を使用します。root@world.cosmosの場合、エントリはroot.world.cosmosとなります。. ここでもゾーンが追加されないよう、.を末尾につける必要があります。
(は、)までの行をすべてSOAレコードに含める場合に使用します。
シリアル番号は任意の番号で、このファイルを変更するたびに増加します。変更があった場合、セカンダリネームサーバ(スレーブサーバ)に通知する必要があります。これには、日付と実行番号をYYYYMMDDNNという形式で表記した10桁の数値が、慣習的に使用ウれています。
リフレッシュレートは、セカンダリネームサーバがゾーンserial numberを確認する時間間隔を指定します。この例では1日です。
再試行間隔は、エラーが生じた場合に、セカンダリネームサーバがプライマリサーバに再度通知を試みる時間間隔を指定します。この例では2時間です。
有効期限は、セカンダリネームサーバがプライマリサーバに再通知できなかった場合に、キャッシュしたデータを廃棄するまでの時間枠を指定します。この例では1週間です。
SOAレコードの最後のエントリは、ネガティブキャッシュTTLです。これは、DNSクエリが解決できないという他のサーバからの結果をキャッシュしておく時間です。
IN NSでは、このドメインを担当するネームサーバを指定します。gatewayは、gateway.world.cosmosに拡張されます。これは、末尾に.が付いていないためです。このように、プライマリネームサーバと各セカンダリネームサーバに1つずつ指定する行がいくつかあります。/etc/named.confでnotifyをnoに設定しない限り、ゾーンデータが変更されると、ここにリストされているすべてのネームサーバにそれが通知されます。
MXレコードは、ドメインworld.cosmos宛ての電子メールを受領、処理、および転送するメールサーバを指定します。この例では、ホストsun.world.cosmosが指定されています。ホスト名の前の数字は、プリファレンス値です。複数のMXエントリが存在する場合、値が最も小さいメールサーバが最初に選択され、このサーバへのメール配信ができなければ、次に小さい値のメールサーバが試みられます。
これらは、ホスト名に1つ以上のIPアドレスが割り当てられている実際のアドレスレコードです。ここでは、名前が.なしでリストされています。これは、これらの名前にはドメインが含まれていないためです。したがって、これらの名前にはすべて、world.cosmosが追加されます。ホストgatewayは、ネットワークカードが2枚搭載されているので、2つのIPアドレスが割り当てられます。ホストアドレスが従来型のアドレス(IPv4)の場合、レコードにAAAAが付きます。アドレスがIPv6アドレスの場合、エントリにAAAA 0が付きます。以前は、IPv6アドレスはAAAAで示されていましたが、現在では廃止されました。
![]() | IPv6の構文 |
|---|---|
IPv6の構文は、IPv4と少し異なっています。断片化の可能性があるため、アドレスの前に消失したビットに関する情報を入力する必要があります。完全に断片化されないアドレスを使用する場合でも、この情報を入力する必要があります。構文のあるIPv4レコード pluto IN AAAA 2345:00C1:CA11:0001:1234:5678:9ABC:DEF0 pluto IN AAAA 2345:00D2:DA11:0001:1234:5678:9ABC:DEF0 消失したビットに関する情報はIPv6形式で追加する必要があります。上記の例は完全なので(いずれのビットも消失していない)、このレコードのIPv6形式は次のようになります。 pluto IN AAAA 0 2345:00C1:CA11:0001:1234:5678:9ABC:DEF0 pluto IN AAAA 0 2345:00D2:DA11:0001:1234:5678:9ABC:DEF0 IPv6マッピングでは、IPv4アドレスを使用しないでください。 | |
エイリアスwwwをmondの別名として使用できます(CNAMEはcanonical name(キャノニカル名)という意味です)。
擬似ドメインin-addr.arpaは、IPアドレスからホスト名への逆引き参照に使用されます。このドメインの前に、IPアドレスのネットワーク部分が逆順に指定されます。たとえば、192.168.1は、1.168.192.in-addr.arpaに解決されます。参照先 例 33.7. 「逆引き」.
例 33.7. 逆引き
$TTL 2D
1.168.192.in-addr.arpa. IN SOA gateway.world.cosmos. root.world.cosmos. (
2003072441 ; serial
1D ; refresh
2H ; retry
1W ; expiry
2D ) ; minimum
IN NS gateway.world.cosmos.
1 IN PTR gateway.world.cosmos.
2 IN PTR earth.world.cosmos.
3 IN PTR mars.world.cosmos.
$TTLは、このファイルのすべてのエントリに適用される標準のTTLです。
この設定ファイルは、ネットワーク192.168.1.0の逆引きを有効にします。ゾーン名は1.168.192.in-addr.arpaであり、これはホスト名に追加しません。そのため、すべてのホスト名はドメインの最後に.を付けた完全形式で入力します。残りのエントリは、前のworld.cosmosの例の記述と同じです。
前の例のworld.cosmosを参照してください。
正引きの場合と同様、この行は、このゾーンを担当するネームサーバを指定します。ただし、ホスト名はドメインと末尾の. (ピリオド)が付いた完全な形で指定されます。
これらはそれぞれのホスト上でのIPアドレスを示すポインタレコードです。IPアドレスの最後のオクテットのみが、行の最初に入力され、末尾に. (ピリオド)は付きません。ゾーンをこれに追加すると(.in-addr.arpaを付けずに)、完全なIPアドレスが逆順で生成されます。