DNS運用の基本3 - ゾーンの設定(正引き)

ちょびっと時間の空いたDNSの基本についての話。
今回は、ゾーンファイルの設定について。


ゾーンファイルは、/etc/named.conf で指定したディレクトリに、同じく指定したファイル名で置く。
ぶっちゃけ、「hogehoge」という名前でもゾーンファイルは作れる(正引き限定)。


でも、当然ながらそんな人に優しくない管理の仕方をするのは馬鹿げている。
ものの本のやりかたで正引きゾーンファイルを作成するならば「sample.com.db」と、ドメインの最後に .db をつける。
ここでは、基本を覚えることを前提としているのでお約束として定義してしまう。

$TTL 86400
@ IN SOA sample.com. info.sample.com. (
2006041100 ;serial
10800 ;refresh
1800 ;retry
2592000 ;expire
86400 ) ;minimum

IN NS name.sample.com.
IN A 999.999.999.1
}
www.sample.com. IN A 999.999.999.2
blog.sample.com. IN A 999.999.999.3
wiki.sample.com. IN A 999.999.999.4
mail.sample.com. IN A 999.999.999.5


適当に並べてみたけれど、IPアドレスさえ正しく設定しなおせばこれで動いてしまう。
はじめの TTL とは、Time To Live のイニシャルで、キャッシュされたときの有効期限になる。


次に、@ IN SOA 〜のくだり。
@ というのは、named.conf で指定したゾーン(ドメイン名)の略。
正式に書くなら「sample.com. IN SOA sample.com. info.sample.com. (」となるだろうか。
IN は、Internetを、
SOA は、Start Of Authority を示す。
続いて、プライマリマスタネームサーバの名前を、
最後に、管理者のメールアドレスを記述する。


ここで、メールアドレスに @ が使われていないのは、それなりの理由があってのことだけれど割愛。
@の代わりに . (ドット)を使う。
余談だけれど、DoCoMoのメールアドレスでは @ の前に.が使える。
これは、RFCに違反しているのでメールが届かなくなる可能性がある。
注意したほうがヨサげ。


以下、括弧内の数値については、いずれ機会があれば書きたいと思う。


IN NS で、自ネームサーバ名を指定、
IN A で、自分のIPアドレスを指定している。


あとは、ドメイン名を書いて、 IN A のあとに対応する IPアドレス を記述していけば、設定が完了する。
ここで注意したいのは、DNS内ではドメイン名の最後に . をつけない場合、ゾーン名を略していると認識されること。
www とだけ書くだけでも www.sample.com. と同じくDNSに認識される。
www.sample.com とだけ書いた場合、DNSには www.sample.com.sample.com. と認識される。
一文字あるかないかで、かなり変わる。


URLで指定する場合は、ブラウザが補完するので問題はない。
逆に、最後に . をつけても正しく認識される。
d.hatena.ne.jp. でも、普通にブラウジングできる。


以上、今回はドメイン名からIPアドレスを引く(正引き)設定について書いてみた。
逆引きは逆引きで設定が必要なのだけれど、それはまた別の回で。