DNSサーバーを稼動させた時、自分自身のホスト名(ns)しか登録をしていなかった。
と言うことは、IEのURL入力欄に"www.mydomain.biz"と入力してもWEBページは表示されない。
"ns.mydomain.biz"としか名前が引けないのだ。
これではカッコ悪い。
うちのドメインのWEBサイトもちゃんと"www.mydomain.biz"と打てばトップページが出るようにしなければカッコがつかない。
と言うわけで再びDNSの設定をいじることにする。
正引き(英語名であるドメインからIPアドレスを引くこと)設定ファイルを修正する。
#emacs /var/named/mydomain.biz.zone<enter>
------------------------------------------------
$TTL 1800
;$ORIGIN mydomain.biz
@ IN SOA ns.mydomain.biz. root.ns.mydomain.biz. (
2004112802 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns.mydomain.biz.
;
IN MX 10 mx.mydomain.biz.
;
ns IN A 111.222.333.130
------------------------------------------------
まずシリアル番号を変更する。
これを変更しないとセカンダリDNSサーバーにマスターの変更が通知されない。
番号は”絶対”増やさないといけない。これを守らないとセカンダリの更新ができないことになる。
最近はわかりやすくするため日付(西暦月日)と番号(下2桁)になっているのでそれに従う。
2004112802 ; serial (d. adams)
↓
2005011201 ; serial (d. adams)
後で気が付いたがWhiteBoxLinuxではnamedを起動させると、シリアルの下2桁が自動で+1してくれるようだ。
最後の行に次の1行を加える。
nsと言うホスト名をwwwに置き換える設定だ。
www IN CNAME ns
以上でWEBサーバーとDNSの連携は終わり。
ちなみに逆引き(IPアドレスからドメインを引くこと)の設定は必要なし。
逆引きすると実体であるns.mydomain.bizが引けるからだ。
------------------------------------------------
$TTL 1800
;$ORIGIN mydomain.biz
@ IN SOA ns.mydomain.biz. root.ns.mydomain.biz. (
2005011201 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns.mydomain.biz.
;
IN MX 10 mx.mydomain.biz.
;
ns IN A 111.222.333.130
;
www IN CNAME ns
------------------------------------------------
修正後はこんな感じ。
設定ファイルを保存したら、DNSサーバーを再起動させる。
# service named restart<enter>
namedを停止中: [ OK ]
namedを起動中: [ OK ]
さて、それではIEから"www.mydomain.biz"を打ってみる。
・・・ページが表示されない。
それもそのはず、DNSキャッシュが効いているからだ。
DNSサーバーは世界中のPCからDNS情報の問い合わせがくる。
毎回問い合わせに返答するとたまったもんじゃない。
特に人気サイトではWEBサーバーが速くても、DNS処理が重くてサイトが重い印象を与えてしまう。
そこで”TTL値”を設定してキャッシュの残る時間を設定するのだ。
よくサイトの引越しでIPアドレスが変わった時、1~3日サーバーにアクセスできないなんていわれるのは、このキャッシュの残っているPCが利用しているDNSサーバーが古いDNS情報を持っているからだ。
とは言え、最近はブロードバンド化が進んでいるし、サーバーのスペックも上がっているのでTTL値は短くなっている。
話はそれたが、自分のサーバーのTTL値は、"$TTL 1800"としている。(正逆設定ファイルの先頭に記述)
1800秒=30分だ。
30分経過すれば、他のDNSサーバーからの問い合わせを受け付ける。
その後他のDNSサーバーは30分間DNS情報を保持するのだ。
ちなみに設定ファイルを頻繁に変更したり、あまりアクセスの少ないサイトはTTL値を短くしてもかまわないが、アクセスの多いサイトは長めに取るといいだろう。(とは言え使い勝手が悪いのでバランスが大事なのだが・・・)
またIPアドレスの引越しをする場合は引越しの3日くらい前から、TTL値を短くしておき、引越しが終わったら長く設定するようなテクニックもある。
30分は長い(他のプロパイダ等の別のネットワークからチェックする場合)ので、とりあえず自分自身でnslookupコマンドを使用して、www.mydomain.bizを引いてみるといいだろう。
引けない場合は設定が間違っているはずだ。