bind導入ガイド

正引きファイルの編集

正引きファイルは、ドメインのホスト名をIPアドレスに変換するためのものです。そのほか、メールサーバの設定をします。

下記は正引きファイルの設定例です。

$TTL 86400
@       IN      SOA     example.jp. root.example.jp.(
        2012022207      ; Serial
        10800           ; Refresh
        3600            ; Retry
        3600000         ; Expire
        3600            ; Negative Cashe TTL
)
                IN      NS      dns.example.jp.
                IN      NS      ***.****.com.
                IN      A       ***.***.***.***

example.jp	IN	MX	0	www.example.jp.

www		IN	CNAME	example.jp.
dns		IN	CNAME	example.jp.
wp		IN	CNAME	example.jp.
dev		IN	CNAME	www.example2.ne.jp.

データファイルの構成

リソースレコード

  • SOAレコード
    ゾーン・ファイルの取り扱いを設定する
  • NSレコード
    ドメインを管理するネームサーバを設定する
  • Aレコード
    IPアドレスを設定する
  • コメント
    セミコロン( ; )で始まる行は、その行の最後までが注釈扱いとみなされます

上記設定に加え、次のようなレコードを追加することができます。

  • CNAMEレコード
    別名を設定する
  • MXレコード
    メールエクスチェンジャを設定する
  • HINFO レコード
    ホストの備考を設定する

SOAレコード

ゾーンデータを作成したホスト名・管理者のメールアドレスを指定します。一般的なSOAレコードは以下のようになります。

@	IN	SOA	example.jp. root.example.jp. (
	2012022301	; Serial number
	3600		; Refresh time
	3600		; Retry
	3600000		; Expire
	3600		; Negative Cashe TTL
)
Serial number
シリアルナンバー。ここでは「西暦+2桁の番号」としています。
※ファイル変更時には必ず値を増やしてください。
Refresh time
セカンダリがマスターにデータの更新の有無を確認すべき間隔を指定します。
これ以降の値はすべて秒単位で指定します。
Retry
セカンダリがデータ更新を行えなかった場合の、リトライを行う間隔を指定します。
Expire
データの有効期間を指定します。
Negative Cashe TTL
データをキャッシュする場合の有効期間を指定します。

ドメイン名は @ で省略することができます。そのため、それ以外の文字に @ が使えません。管理者メールアドレスに当たるroot.example.jp.は @ を . に置き換えています。

<ドメイン名> <資源> <ホスト名+ドメイン名> <メールアドレス>
example.jp. IN SOA example.jp. root.example.jp.(

もしくは、下記でも同じことです。

@	IN SOA @ root (

アットマーク( @ )は自ドメインの略です。続く IN は InterNet を意味し、SOAは Start Of Authority の略です。最後に、このデータが格納されているホスト名と、管理者のメールアドレスを記述します。
ドメイン名の最後にピリオドが付くこと、メールアドレスに含まれる@を.に置き換える点忘れないよう注意が必要です。

@

このシンボルはSOAがドメインと同じということを意味します。

IN

IPアドレスを提供するネームサーバーです。

SOA

SOA(Start Of Authority)は続いて指定される名前によって、ドメインのプライマリ、連絡先の電子メールアドレスが定義されていることを示します。

example.jp.

SOAのプライマリゾーンサーバ名です。最後のドットを忘れると違う解釈をされるので注意が必要です。

root.example.jp

example.jpの連絡先です。この例では、連絡先はrootユーザで、アットマーク(@)をドット(.)で置き換えます。

SOAに指定する時間の単位

SOAの指定する時間は秒単位です。ご参考までに1時間、1日、1週間の秒数を記します。

1時間
3,600秒
1日
86,400秒
1週間
604,800秒

1時間の場合は1H、1日の場合は1D、1週間の場合は1Wという表記も許さています。

NSレコード

NSは Name Serverの略で、ここにドメインのネームサーバを指定します。ネームサーバ名の最後にピリオドが必要です。

ドメイン名 IN NS ネームサーバ.

NSレコードの編集

example.jpのドメイン情報をもっているネームサーバを指定します。複数ある場合は上からプライマリ、セカンダリと指定します。

        IN      NS      dns.example.jp.
        IN      NS      ***.****.com.

Aレコード

Aレコード(Address)には、ホストのIPアドレスを設定します。

名前 IN A IPアドレス

Aレコードの編集

Aレコードは、ホスト名とIPアドレスの対応を設定します。必要があれば、ここにドメイン配下のホストの設定をしておきます。

host1.example.jp.      IN      A       111.222.111.52
host2.example.jp.      IN      A       111.222.111.53
host3.example.jp.      IN      A       111.222.111.54

CNAMEレコード

CNAMEレコードは、ホストを別の名前でも参照できるようにします。

別名 IN CNAME 基準名

CNAMEレコードの編集

ホストの別名を設定します。

<仮ホスト名+ドメイン名> <資源> <本来のホスト名+ドメイン名>
ホスト名mailにwwwという別名をつける場合に設定
mail                    IN      CNAME       www
ホスト名nsにwwwという別名をつける場合に設定
ns                     IN      CNAME       www

MXレコード

ドメイン名やホスト名に対するメールの送り先を指定します。指定できるのは、Aレコードに登録されている名前だけで、CNAMEの名前は指定できません。

名前 IN MX 優先度 基準名

優先度は、MXを複数用意して運用する場合に必要となる優先度情報です。値が小さいほど優先度が高くなります。

MXレコードの編集

MXレコードに、メール・エクスチェンジャを指定してみましょう。
メールアドレスの@マーク以下のメールサーバ名を省略できます。たとえば、下記の設定では「user@example.jp」宛てのメールは「user@sv.example.jp」に送られます。

メール・サーバの優先度により、メインで動作するかサブで動作するかが決まります。2台のメールサーバがある場合、数字の小さいほうがメイン、大きいほうがサブとなります。
ホスト名を指定して送られたメールの配信もすべてメインのメールサーバで受け取れるようにするには、ドメイン名の変わりに「*」を使います。

<ドメイン名> <資源> <メールを受信する優先度> <メールサーバ名>
rfs.jp.              IN      MX   0     sv.example.jp.
@                       IN      MX   10    sub.example.jp.

関連記事