Describe DNS/jp.qmail.org 事件 here.
1. DNS/jp.qmail.org 事件
qmail.jp 取得以前に使っていた jp.qmail.org ドメインで発生した DNS のトラブル
1.1. 現象
ホスト dns.jp.qmail.org の IP アドレスを変更したときに、 A レコードを DNS 検索すると古い IP アドレスが返ってくることがある。 TTL 期間が経過しても残っているという問題があった。
調べてみると、親ドメインの qmail.org のセカンダリサーバからの返事が 間違っていた。(権威のない返事であったので、recursion yes のサーバ だと推測された。当時はきちんと調査するだけの技術を持っていなかった。)
1.2. 当時の環境
- qmail.org から jp.qmail.org を委譲してもらっていた。 (1998.1)
- jp.qmail.org の DNS サーバは 2000.1 から tinydns を使っていた。
- qmail.org には jp.qmail.org のセカンダリをお願いしていた。
- (qmail.org が tinydns に移行していたかは不明)
- jp.qmail.org ではゾーン転送サービスに axfrdns を使っていた。
qmail.org でも 2000 年から tinydns を動かしていると推測するが、確かではない。
- qmail.org では ゾーン転送した jp.qmail.org データを qmail.org ゾーンと マージしていたと推測している。
- qmail.org でもゾーン転送サービスには axfrdns を使っていたと推測される。
1.3. 原因の推測
- qmail.org のプライマリサーバは jp.qmail.org のゾーンデータが 更新されても、qmail.org ゾーンの SOA シリアルを更新していなかった。 (管理者とのメイル交換からの推測)
- もし qmail.org プライマリサーバが tinydns + axfrdns であったのであれば、 シリアルはタイムスタンプなので、自動更新されるはずである。 そうすれば、ゾーン転送時に jp.qmail.org の新ゾーンデータも含めて 転送されていたはずで、権威のある最新の返事がえられたはずである。
- セカンダリサーバへの notify はしていないようであった。 これらから、qmail.org では BIND を使っていた可能性が大である。 そして、qmail.org と jp.qmail.org が別のゾーンであれば、 notify しないのは当然である。
- 結局のところ、古いデータがいつまでも残る理由は分っていない。 qmail.org セカンダリの BIND に問題があったのかもしれない。
1.4. 対策
qmail.org にセカンダリを頼んでいるのを取りさげ、jp.qmail.org は独立させた。。
1.5. 結果
DNS データの変更がただちに反映されるようになった。
1.6. 効用
jp.qmail.org 側では axfrdns を動かす必要がなくなった。 qmail.org 側の負担も減り、全体の設定が単純化された。 ただし、ほぼ同時期に qmail.jp ドメインへ移行することにしていたため、 単純化の利点は jp.qmail.org ではあまり受けられなかった。
今回の問題は無用なセカンダリサーバが引き起した問題の一例であると考える。