BIND9でゾーンファイルを作成する





BIND9でtest.comゾーンのゾーンファイルを作成する。

ファイル名は任意に決められるが、ここではdb.test.comとする。

まずこのファイルの最初にTTLを記述します。

TTLとは他のネームサーバに対して、
このゾーンの情報をキャッシュして良い期間を知らせます。

$TTL 86400

次にSOAの部分を記述します。

雛形は次の通り。
$TTL 86400
[ドメイン名]  IN  SOA  [プライマリネームサーバ]  (
          [管理者のメールアドレス]
          [シリアル番号]
          [リフレッシュ間隔]
          [リトライ間隔]
          [有効期限]
          [ネガティブキャッシュTTL]
          )

具体的にはこのようになります。
$TTL 86400
test.com.  IN  SOA  ns.test.com.  (
          postmaster.test.com.
          2007010101
          1h
          15m
          30d
          1h
          )

ドメイン名の最後の「.(ドット)」は、
大事な意味がありますので、忘れないようにしましょう。

これは、次のように略して記述することもできます。

$TTL 86400
@  IN  SOA  ns  (
          postmaster
          2007010101
          1h
          15m
          30d
          1h
          )

次に、ネームサーバを記述します。

今回は、
ns.test.com(1.1.1.1)をプライマリネームサーバ、
ns2.example.com(2.2.2.2)をセカンダリネームサーバ
とします。

次のようにNSレコードを記述します。
test.com.    IN  NS    ns.test.com.
test.com.    IN  NS    ns2.example.com.

これだけだと、ns.test.comやns2.example.comの名前解決ができずに、
うまく動きませんので、
続いてns.test.comやns2.example.comを名前解決するためのAレコードを
記述します。

ns.test.com.  IN  A   1.1.1.1

もちろん、ns2.example.comについては、
example.comのゾーンファイルに次のように記述します。

ns2.example.com.  IN  A   2.2.2.2

これで、必要最低限の情報が記載された
最小限のゾーンファイルができました。

$TTL 86400
@  IN  SOA  ns  (
          postmaster
          2007010101
          1h
          15m
          30d
          1h
          )

test.com.    IN  NS    ns.test.com.
test.com.    IN  NS    ns2.example.com.

ns.test.com. IN  A     1.1.1.1

ちなみに、これも次のように略して記述できます。

$TTL 86400
@  IN  SOA  ns  (
          postmaster
          2007010101
          1h
          15m
          30d
          1h
          )

             IN  NS    ns.test.com.
             IN  NS    ns2.example.com.

ns           IN  A     1.1.1.1

記述の省略に関する詳細はこちら