ゾーンファイル

ゾーンファイルのフォーマットは、RFC1035(セクション5)およびRFC1034(セクション3.6.1)で定義されています。 この形式は元々BIND (Berkeley Internet Name Domain)ソフトウェアパッケージで使用されていましたが、 他のDNSサーバソフトウェアでも広く採用されています – ただしそのうちのいくつか(NSD、PowerDNSなど)は、 データベース形式にコンパイルする出発点としてのみゾーンファイルを使用しています – Microsoft DNS with Active Directory-データベース統合も参照してください。 エントリは、任意の組み合わせの空白(タブとスペース)で区切られたフィールドで構成され、 引用文字列フィールド値または一対の囲み括弧の中を除いて行の境界で終了する。

エントリは、いくつかの例外を除き、ゾーンファイル内でどのような順番でも 記述することができます。

  • $ORIGIN の後に、その後の相対ドメイン名の原点として使用されるドメイン名が続く。
  • $INCLUDE の後に、その内容を解釈する際に使用するファイル名とオプションの原点ドメイン名 (親ファイル内に現れるものとして扱われ、その後、指令評価の前に原点をリセットする)が続く。
  • $TTL は RFC 2308 (セクション 4) で定義されており、デフォルトの TTL (time-to-live) として使われる数字が続く。
  • $GENERATE は BIND と他のいくつかのネームサーバーソフトウェアによって、一つのエントリで複数のリソースレコードを入れるために受け入れられる非標準拡張で、非負の数の増加シーケンスを簡潔に表現し、その後テンプレート RR エントリが続く。 リソースレコードは、エスケープされていない”$”文字を数字に置き換えたテンプレートを使用して、シーケンスの各数字に対して追加されます。

リソースレコードのエントリは、以下のようないくつかのフィールドから構成されます(フィールドの順序はどちらでもよく、入れ替えて使用してもかまいません)。

name ttl record class record type record data
は以下のフィールドから構成されます。

name record class ttl record type record data

name フィールドは空欄でもかまいません。 その場合、レコードは前のレコードからそのフィールドを継承する。 7064>

ttlフィールドは、キャッシュクライアントが新しい情報を得るためにレコードを破棄し、新しい解決操作を実行しなければならない秒数を指定します。 BINDを含むいくつかのネームサーバは、時間単位の省略形(例えば、”2d “は24時間2日、”1h30m “は1時間30分)を使用する非標準的な表現を許可しています。

record class フィールドは、レコード情報の名前空間を示します。 省略可能で、その場合は直前のレコードの値が設定されます。 最もよく使われる名前空間は、パラメータINで示されるインターネットのものであるが、CHAOSのように他のものも存在し、使用されている。

レコードタイプフィールドは、最後のフィールド、レコードデータに格納される情報の種類の略称である。 例えば、アドレスレコード(IPv4のタイプA、またはIPv6のタイプAAAA)は、最初のフィールドからのドメイン名をレコードデータ内のIPアドレスにマップします。メール交換者レコード(タイプMX)は、ドメインのSimple Mail Transfer Protocol(SMTP)メールホストを特定します。 例えば、アドレスレコードはアドレスだけを必要とし、メールエクスチェンジャレコードは優先度とドメイン名を必要とする。

Example fileEdit

ドメインexample.comのゾーンファイルの例は次の通りです。

$ORIGIN example.com. ; designates the start of this zone file in the namespace$TTL 3600 ; default expiration time (in seconds) of all RRs without their own TTL valueexample.com. IN SOA ns.example.com. username.example.com. ( 2020091025 7200 3600 1209600 3600 )example.com. IN NS ns ; ns.example.com is a nameserver for example.comexample.com. IN NS ns.somewhere.example. ; ns.somewhere.example is a backup nameserver for example.comexample.com. IN MX 10 mail.example.com. ; mail.example.com is the mailserver for example.com@ IN MX 20 mail2.example.com. ; equivalent to above line, "@" represents zone origin@ IN MX 50 mail3 ; equivalent to above line, but using a relative host nameexample.com. IN A 192.0.2.1 ; IPv4 address for example.com IN AAAA 2001:db8:10::1 ; IPv6 address for example.comns IN A 192.0.2.2 ; IPv4 address for ns.example.com IN AAAA 2001:db8:10::2 ; IPv6 address for ns.example.comwww IN CNAME example.com. ; www.example.com is an alias for example.comwwwtest IN CNAME www ; wwwtest.example.com is another alias for www.example.commail IN A 192.0.2.3 ; IPv4 address for mail.example.commail2 IN A 192.0.2.4 ; IPv4 address for mail2.example.commail3 IN A 192.0.2.5 ; IPv4 address for mail3.example.com

ゾーンファイルは最低限、ゾーンの権威マスターネームサーバの名前とネームサーバの管理責任者のメールアドレス(通常の@記号の代わりにフルストップ文字でドメイン名として表されます)を持つ権威開始レコード(SOA) を指定しなければなりません。 SOAレコードのパラメータは、タイミングと有効期限のパラメータのリストも指定する(シリアル番号、スレーブリフレッシュ期間、スレーブ再試行時間、スレーブ有効期限、レコードをキャッシュする最大時間)。

ゾーンファイルでは、フルストップ文字で終わるドメイン名(上記の例では「example.com.」など)は完全修飾され、フルストップで終わらないものは現在のオリジンに相対です(上記の例でwwwが www.example.com を参照しているのはそのためです)。

コメントを残す

メールアドレスが公開されることはありません。