ゾーンファイルの記述

11月 17, 2009

Linux LPIC編。(第7章 DNS)
ゾーンファイルは、DNSサーバが管轄するゾーンに関する情報が収められ、ゾーンごとに
用意する(ゾーンファイルはnamed.confで指定した数だけ必要になる)。

named.confのoptionsセクションでゾーンファイルを格納するディレクトリを、
zoneセクションでゾーンファイル名を記述する。

ゾーンファイルの種類

hint情報ファイル ルートDNSサーバの一覧
正引きファイル ホスト名からIPアドレスへの対応を記述
逆引きファイル IPアドレスからホスト名への対応を記述


ディレクティブとリソースレコード
ゾーンファイルには$ORIGIN ディレクティブ、$TTLディレクティブ、リソースコードが
含まれる。

$ORIGIN ディレクティブ
ドメイン名が明示されていないレコードで補完するドメイン名を指定
省略すると、named.conf記載のゾーン名が適用される

$ORIGIN name.jp.

$TTLディレクティブ
他のDNSサーバがゾーンデータをキャッシュに保存しておく時間を指定

$TTL 86400

リソースコード
ゾーンの情報各種を記述する


リソースコードタイプは以下の通り

SOA ゾーンの基本的な管理情報を記述
NS ゾーンを管理するDNSサーバを記述
MX メールサーバを記述(正引きファイルのみ)
A ホスト名に対応するIPアドレス(正引きファイルのみ)
PTR IPアドレスに対応するホスト名(逆引きファイルのみ)
CNAME ホストの別名に対応する正規名(正引きファイルのみ)


注意したいことメモ
リソースコードの中では、@はそのドメイン自身を表す。
($ORIGINディレクティブで指定された値、もしくはnamed.confで指定されたゾーンの
名前に置き換わる)

ドメイン名を記述するときに、末尾に「. 」(ドット)をつけることに注意。
ドットを付けた状態で正しいFQDNとして定義される。
(ドットがないと、$ORIGIN で指定されたドメインが末尾に追加されてしまう)

では名リソースコードの内容について詳細を。

SOAレコード

書式
名前 IN SOA DNSサーバホスト名 メールアドレス

記述例
@ IN SOA ns.name.jp. root.name.net. ( ←ホスト名とメールアドレス
  2009112001   ; Serial 
  10800      ; Refresh(3時間)
  600       ; Retry(10分)
  864000      ; Expire(10日)
  86400 )     ; Negative TTL(1日)


1行目の最初の@は自ドメイン名、ns.name.jp.がFQDN、root.name.net.は
メールアドレスを示す。末尾に「. 」(ドット)がついていることに注意。
メールアドレスでは@の代わりに「. 」(ドット)を記述する。

Serialは、マスターDNSサーバのゾーンファイルのシリアルNoを記載。ここは重要。
ゾーン情報の修正を行った際は、必ずこのシリアルNoも更新する。シリアル番号を変更
しないと、スレーブDNSサーバに対して新しいゾーン情報が伝わらないため。
通常、日付+2桁の管理番号で表す。
(同じ日に何度も修正が行われても分かるようにするため、最後に2桁の数値を付ける)

Refreshは、マスターDNSサーバのゾーン情報変更をスレーブ側がチェックする間隔を指定。

Retryは、スレーブ側がマスターDNSサーバにアクセスすることができなかったときに
何秒後に再試行するかを指定。

Expireは、スレーブ側がマスターDNSサーバにアクセスすることができなかったときに
何秒後にゾーン情報を破棄するかを指定。

Negative TTLは、ネガティブキャッシュの有効期限。ネガティブキャッシュとは、存在
しないドメインに関するキャッシュのこと。DNSサーバに問い合わせた結果「そのような
ホストは存在しない」と返答された場合に相当する。

NSレコード
ここではDNSサーバをFQDNで指定する。冗長構成の場合2台分記述するが、どちらが
マスターでどちらがスレーブかは考慮されない。ここでも末尾のドットに注意。
また、CNAMEレコードで定義した別名は使用しないこと。

name.jp  IN  NS  ns.name.jp.
name.jp  IN  NS  ns2.name.jp.


MXレコード
メールサーバがメール送信の際に参照するレコード。このゾーンでのメールサーバ名を指定する。
以下例の数値「10」はプリファレンス値で、値が小さい方が優先される。

name.jp  IN  NS  10 mx.name.jp.
name.jp  IN  NS  20 mx2.name.jp.


Aレコード
ここではホスト名に対応するIPアドレスを指定。正引きゾーンファイルのみ使用。
先頭のホスト名はFQDNじゃなくても可、とのこと。

ns.name.jp.  IN  A  192.168.100.2


PTRレコード
ここではIPアドレスに対応するホスト名を指定。もちろん逆引きゾーンファイルのみ使用。
IPアドレスの記述は、第4オクテットから逆に値を並べ、最後に”in-addr.arpa.”を付ける。
以下はIPアドレスが192.168.120.25の例。

25.120.168.192.in-addr.arpa.  IN  PTR  ns.name.jp


CNAMEレコード
ホストの別名を定義する。別名でNSレコードに記述しないよう注意。
以下の例ではalias.name.jpが別名となる。

alias.name.jp.  IN  CNAME  org.name.jp.


もういいかな・・・(正直、疲れてきた)
次回は力を振り絞って第7章終盤、DNSのセキュリティについて。

出典
Linux教科書LPICレベル2(翔泳社)


Linux記事一覧はこちらをどうぞ
↓ ↓ ↓
Linux-index


Categories: LPIC