ゾーンファイルはいくつか省略の記述方法があります。

以下は、非省略形のゾーンファイルです。
-----------------------------------------------------------------------
$TTL    10800
dns-test.com.    IN    SOA    ns.dns-test.com.   root.dns-test.com.  (
                2014083001      ; Serial
                43200        ; Refresh
                5400        ; Retry
                3600000    ; Expire
                3600 )        ; Minimum

dns-test.com.    IN    NS    ns.dns-test.com.
ns.dns-test.com.        IN    A    1.1.1.1
www.dns-test.com.    IN    A    1.1.1.3
mail01.dns-test.com.    IN    A    1.1.1.4
mail02.dns-test.com.    IN    A    1.1.1.5
-----------------------------------------------------------------------




「ドメイン名の省略」
つぎに省略形のゾーンファイルを記述します。
-----------------------------------------------------------------------
$TTL    10800
$ORIGIN    dns-test.com.

@            IN    SOA    ns   root  (
                2014083001      ; Serial
                43200        ; Refresh
                5400        ; Retry
                3600000    ; Expire
                3600 )        ; Minimum
@        IN    NS    ns
ns        IN    A    1.1.1.1
www    IN    A    1.1.1.3
mail01    IN    A    1.1.1.4
mail02    IN    A    1.1.1.5
-----------------------------------------------------------------------
どうでしょう。
まず、「$ORIGIN    dns-test.com.」という記述が見られます。この記述がある場合、「@マーク」が記載されているレコードには、ORIGINで定義したゾーン名の値が割り当てられます。

つまり、SOAレコードとNSレコードのところにある@マーク=dns-test.com ということになります。

ついにレコードのドメイン名が全て、「.」で終了していないところに注目して下さい。「.」で終了していない場合は、そのドメインにORIGINで定義したゾーン名の値が割り当てられます。

つまり、Aレコードにはすべて、「dns-test.com.」が追記されます。wwwの場合は、www.dns-test.com、nsの場合は、ns.dns-test.com、ということになります。


「TTLの省略」
また、各レコードのTTLも省略可能です。頭に記載されている$TTLの値が適用されます。つまり、ここでは各レコードのTTLに「10800」を指定したものと同じ事になります。


「レコードの名前フィールドの省略」
レコードを記述する際、一番左側の項目の記述を完全に省略すると、その前のレコードの名前フィールドが適用されます。

例えば以下の様に記述したものと
 dns-test.com.         IN    SOA    ns   root  (
 dns-test.com.         IN    NS    ns
 dns-test.com.         IN    MX    10   mail01

以下の様に記述したものは同じになります。
 dns-test.com.         IN    SOA    ns   root  (
                                IN    NS    ns
                                IN    MX    10   mail01



「$ORIGIN」を省略する」
以下の様に$ORIGINの記述も省略することが出来ます。しかし、これでは、何が省略されているか解らなくなってしまい、ミスの原因になることが往々にしてあるのでやめておきましょう。
-----------------------------------------------------------------------
$TTL    10800
@            IN    SOA    ns   root  (
                2014083001      ; Serial
                43200        ; Refresh
                5400        ; Retry
                3600000    ; Expire
                3600 )        ; Minimum
@        IN    NS    ns
ns        IN    A    1.1.1.1
www    IN    A    1.1.1.3
mail01    IN    A    1.1.1.4
mail02    IN    A    1.1.1.5
-----------------------------------------------------------------------


本日はココまで。
・$ORIGIN の記述で、ゾーン名を省略できる。
・レコードに「@マーク」を記述した場合は、ORIGINで指定したゾーン名がそのまま割り当てられる。
・レコードが「.」で終わっていない場合は、ORIGINで指定したゾーン名が足される。