5. マスターファイル MASTER FILES

Master files are text files that contain RRs in text form. Since the contents of a zone can be expressed in the form of a list of RRs a master file is most often used to define a zone, though it can be used to list a cache's contents. Hence, this section first discusses the format of RRs in a master file, and then the special considerations when a master file is used to create a zone in some name server.

マスターファイルはテキスト形式の RRs を含んでいるテキストファイルである。 ゾーンの内容は RRs 列の形として表現できるので、 ゾーンを定義するのにはマスターファイルがよく使われる。 キャッシュの内容を表わすのにも使われるが。 それ故、この章では最初にマスターファイル中の RRs の形式を述べ、 次にネームサーバでゾーンを作るために使われるときの マスターファイルについての特別な考慮を述べる。

5.1. 形式 Format

The format of these files is a sequence of entries. Entries are predominantly line-oriented, though parentheses can be used to continue a list of items across a line boundary, and text literals can contain CRLF within the text. Any combination of tabs and spaces act as a delimiter between the separate items that make up an entry. The end of any line in the master file can end with a comment. The comment starts with a ";" (semicolon).

マスターファイルの形式は項目の列である。 項目はおおむね行単位であるが、カッコを使うと行の境界を越えて項目を続られる。 また、テキスト文字列に CRLF を含むことができる。 タブと空白の任意の組合せで、項目を構成する要素を区切る。 マスターファイルのどの行も終にはコメントが書ける。 コメントは";" (セミコロン)で始まる。

The following entries are defined:

以下の項目が定義されている:

    <blank>[<comment>]

    $ORIGIN <domain-name> [<comment>]

    $INCLUDE <file-name> [<domain-name>] [<comment>]

    <domain-name><rr> [<comment>]

    <blank><rr> [<comment>]
Blank lines, with or without comments, are allowed anywhere in the file.

コメントの有無に関わらず、ファイル内ではどこでも空白行が許される。

Two control entries are defined: $ORIGIN and $INCLUDE. $ORIGIN is followed by a domain name, and resets the current origin for relative domain names to the stated name. $INCLUDE inserts the named file into the current file, and may optionally specify a domain name that sets the relative domain name origin for the included file. $INCLUDE may also have a comment. Note that a $INCLUDE entry never changes the relative origin of the parent file, regardless of changes to the relative origin made within the included file.

二つの制御項目が定義されている: $ORIGIN と $INCLUDE。 $ORIGIN にはドメイン名が続き、 書かれた名前を相対ドメイン名の起点ドメイン名として再設定する。 $INCLUDEは指定されたファイルを現在のファイルに挿入する。 挿入したファイル内の相対ドメイン名の起点ドメイン名を指定することもできる。 $INCLUDEにはコメントを含めてよい。 $INCLUDE項目は挿入したファイルの相対的な起点を変更しても、 決して親ファイルの相対的なドメインの起点は変えないことに注意せよ。

The last two forms represent RRs. If an entry for an RR begins with a blank, then the RR is assumed to be owned by the last stated owner. If an RR entry begins with a <domain-name>, then the owner name is reset.

最後の2つの書式は RRs を表現している。 RRs 項目が空白で始まっているとき、 その RRs は最後の所有者のものとする。 もし RRs 項目が<domain-name>から始まるなら、所有者名が設定される。

<rr> contents take one of the following forms: <rr> の内容は次の書式のどれかである:

    [<TTL>] [<class>] <type> <RDATA>

    [<class>] [<TTL>] <type> <RDATA>

The RR begins with optional TTL and class fields, followed by a type and RDATA field appropriate to the type and class. Class and type use the standard mnemonics, TTL is a decimal integer. Omitted class and TTL values are default to the last explicitly stated values. Since type and class mnemonics are disjoint, the parse is unique. (Note that this order is different from the order used in examples and the order used in the actual RRs; the given order allows easier parsing and defaulting.)

RR(の内容は) は 省略可能な TTLとクラスフィールド に続くタイプと そのタイプとクラスに適した RDATAフィールドである。 クラスとタイプは標準名称を使い、TTLは 10 進数である。 省略された場合のクラスとTTL値は最後に明示的に述べられた値になる。 タイプとクラス名称は共通要素を持たないので、解析はユニークに可能である。 (この順序は例と実際の RRs で使われてる順序と異なることに注意せよ; 所定の順序は解析を容易にし、デフォルトを許す。)

<domain-name>s make up a large share of the data in the master file. The labels in the domain name are expressed as character strings and separated by dots. Quoting conventions allow arbitrary characters to be stored in domain names. Domain names that end in a dot are called absolute, and are taken as complete. Domain names which do not end in a dot are called relative; the actual domain name is the concatenation of the relative part with an origin specified in a $ORIGIN, $INCLUDE, or as an argument to the master file loading routine. A relative name is an error when no origin is available.

<domain-name>はマスターファイル中のデータの大きな部分を占める。 ドメイン名中のラベルは点で区切られた文字列で表される。 クォート便法を使えば、任意の文字をドメイン名に使える。 点で終わるドメイン名は絶対名と呼ばれ、完全であるとされる。 点で終わっていないドメイン名は相対名と呼ばれる; 実際のドメイン名は相対的部分のあとに、$ORIGIN, $INCLUDE, マスターファイルをロードするルーチンの引数、のどれかで指定された起点を 結合したものである。 起点が利用できない時、相対名はエラーとなる。

<character-string> is expressed in one or two ways: as a contiguous set of characters without interior spaces, or as a string beginning with a " and ending with a ". Inside a " delimited string any character can occur, except for a " itself, which must be quoted using \ (back slash).

<character-string> は 2種類の方法で表現される: 内部にスペースを含まない連続した文字として、 もしくは "で始まり"で終わる文字列として。 "で区切られた文字列の内部には"以外のどんな文字でも 出現可能である。 "自身は\(バックスラッシュ)でエスケープしなければならない。

Because these files are text files several special encodings are necessary to allow arbitrary data to be loaded. In particular:

これらのファイルがテキストファイルであることから、 任意のデータをロードするためには いくつかの特別なコード化法が必要になる。 特に:

                of the root.
                ルートについて

@               A free standing @ is used to denote the current origin.
                単独の "@" は現在の起点を表わす。

\X              where X is any character other than a digit (0-9), is
                used to quote that character so that its special meaning
                does not apply.  For example, "\." can be used to place
                a dot character in a label.
                X は数字(0-9)以外の文字であるとして、特別な意味をもたせないで
                その文字を使うための表現である。例えば、"\."は
                ラベル中にドットを置くのに使える。

\DDD            where each D is a digit is the octet corresponding to
                the decimal number described by DDD.  The resulting
                octet is assumed to be text and is not checked for
                special meaning.
                各 D は数字だとして、10進数 DDDに相当するオクテットを示す。
                結果のオクテットはテキストであるとされ、特別な意味は
		チェックされない。

( )             Parentheses are used to group data that crosses a line
                boundary.  In effect, line terminations are not
                recognized within parentheses.
                括弧は複数の行からなるグループデータに使われる。
                括弧内の改行を無視する効果がある。

;               Semicolon is used to start a comment; the remainder of
                the line is ignored.
                セミコロンはコメントの開始である; 行の残りは無視される。

5.2. ゾーンを定義するためのマスターファイルの使用 Use of master files to define zones

When a master file is used to load a zone, the operation should be suppressed if any errors are encountered in the master file. The rationale for this is that a single error can have widespread consequences. For example, suppose that the RRs defining a delegation have syntax errors; then the server will return authoritative name errors for all names in the subzone (except in the case where the subzone is also present on the server).

マスターファイルがゾーンを読み込むのに使われた時、 マスターファイルにエラーがあるならば、 その操作は中止すべきである。 その理由はひとつのエラーが広範囲に影響しうるからである。 例えば、委譲を定義している RRs が構文エラーになったとする; すると、サーバはサブゾーン内のすべての名前について 権威ある名前エラーを返すだろう。 (サブゾーンが同じサーバ上にある場合を除く)。

Several other validity checks that should be performed in addition to insuring that the file is syntactically correct:

ファイル構文が正しいことを確認するのに加えて、おこなうべき正当性のチェック:

   1. All RRs in the file should have the same class.
      ファイル中の全ての RRs は同じクラスを持つこと。

   2. Exactly one SOA RR should be present at the top of the zone.
      ゾーンの最初にひとつだけ SOA RRs があること。
   
   3. If delegations are present and glue information is required,
      it should be present.
      もし委譲がされていてグルー情報が必要なら、なければならない。

   4. Information present outside of the authoritative nodes in the
      zone should be glue information, rather than the result of an
      origin or similar error.
      ゾーン内の権威あるノードの外部にある情報は
      グルー情報であるべきで、オリジンやその種のエラーの結果ではない。

5.3. マスターファイルの例 Master file example

The following is an example file which might be used to define the ISI.EDU zone.and is loaded with an origin of ISI.EDU:

例: ISI.EDUゾーンを定義するファイル、ISI.EDUをオリジンとしてロードされている:

@   IN  SOA     VENERA      Action\.domains (
                                 20     ; SERIAL
                                 7200   ; REFRESH
                                 600    ; RETRY
                                 3600000; EXPIRE
                                 60)    ; MINIMUM

        NS      A.ISI.EDU.
        NS      VENERA
        NS      VAXA
        MX      10      VENERA
        MX      20      VAXA

A       A       26.3.0.103

VENERA  A       10.1.0.52
        A       128.9.0.32

VAXA    A       10.2.0.27
        A       128.9.0.33

$INCLUDE <SUBSYS>ISI-MAILBOXES.TXT
Where the file <SUBSYS>ISI-MAILBOXES.TXT is:

ファイル<SUBSYS>ISI-MAILBOXES.TXTは次のとおりです:

    MOE     MB      A.ISI.EDU.
    LARRY   MB      A.ISI.EDU.
    CURLEY  MB      A.ISI.EDU.
    STOOGES MG      MOE
            MG      LARRY
            MG      CURLEY
Note the use of the \ character in the SOA RR to specify the responsible person mailbox "Action.domains@E.ISI.EDU".

責任者のメールボックス「Action.domains@E.ISI.EDU」を指定するための SOA RRs 中で "\"キャラクタが使用されていることに注意せよ。
2002-07-28   訳 前野年紀 qmail.jp   djbdns.org