「DNSの浸透ゆーなー」とゆー話

訳あってDNSサーバの引っ越しをしてます。

訳あってとゆーか、今まで事務所のネットとサーバ室のネットが別々で、それぞれにサーバがいて、DNSサーバは元々事務所にあったのを、サーバ室の方に移そうとゆーこと。事務所からはサーバをなくして、サーバはサーバ室に集約してしまおうとゆー魂胆。

今までサーバ室にはいろんなサーバがいたのだけど、DNSサーバでオフシャルなものはなかったので、オフィシャルになるような設定をして、いろんなドメインのネームサーバをサーバ室の方のDNSサーバにするとゆーことに。

サーバの引っ越しの具体的な作業については、JPRSの文書に出ている

JPRS トピックス&コラム JPRS トピックス&コラム

普通の引っ越しなら、この通りにやるだけで「浸透」なんて言葉とは無縁に作業出来る。理屈のわかってる人は何もこの通りにやる必要はないのだけど、よくわかってない人は、この文書の通りにやれば、まぁ間違いはない。

つーことで、今まで何度かやって来たことを思い出しつつ、この文書をチェックリストにしつつやるのだけど、

「DNSが浸透しない」

のだ。いや、もちろん「DNSの浸透」とかそーゆーことはあるわけもないのだけど、そう言いたくなるようなハマり方をする。しょうがないので、

DNSの設定チェック

で調べると、いろいろ「はぁ?」なことになっている。

しばらく、digやら何やら見て悩んだあげく、

グルーレコード

ということに思い至る。

グルーレコードで付加する情報とは

詳しい説明は↑のページを見るなりいろいろぐぐってもらえばわかるのだけど、要するに

上位のDNSがこちらのDNSを知らない状態

になっている。権威とか無視するDNSサーバ(Googleとか無視してるようにしか見えんのだが)を使ってdigすると正しくresolvしたりするので、ますますわけがわからないことになる。

この問題が起きるのは、自分のNSが自分のゾーンファイルに書かれている場合だ。「自分」ところの権威ある情報を得るのに誰を信用して良いか上位のDNSがわかってないものだから、「権威サーバ」がどこにあるかわからなくなってしまって、NSの情報が伝わらないとゆー、卵鶏問題が起きているわけだ。

と気がついてしまえば、「上位のDNS」に「NSのIPアドレスはここだよ」と教えてやれば、諸々の問題が解決する。また、そうやった後であれば、古いIPアドレスのDNSサーバを止めても問題ない(見に来ないから)。とゆーか、止めないと何かの転みで古い方のSOAとか参照されて「シーケンスが一致してねーよ」とかの問題が起きてしまうので、他のドメイン(あれば)について「浸透」したと思ったら、とっとと止めてしまった方がいい。

NSが自分のゾーンファイルに書かれていないドメインの場合は、この問題は起きないので、この問題で悩むのはなかなかレアケースだ。知らない人は知らないかも知れない。知ってても、DNSサーバ自体を引っ越すなんてそうそうないことなので、私のように忘れてることもあるだろう。

まー、こんなことがあったりするので、「浸透」なんてことを言ってしまったりするのだろうなぁ。