Dynamic DNS サービスの導入

おうちサーバー?

 高速な回線が手に入ったことを喜んでいればよいのですが、人はいつしか環境に慣れていってしまいます。その結果、抱え来なければ良いことまで抱え込んでしまって、身動きの取れない状態に追い込んでしまうことが少なくありません。実際 ADSL 8M のサービスは快適でした。若干の不安が残っていた @nifty のサービス処理能力も、さすがに全国第一位のプロバイダだけあり、他社と比較しても遜色ないサービスとなっています。実際に、wakwak とベンチマーク比較を行いましたが、有意な差は計測されませんでした。このため、結局は @nifty を使い続けています。

 我が家では、すでに J-Navi にレンタルサーバーを借りているため、自宅でサーバーを立てる必然性はありません。しかし、一昔前のサーバー回線に匹敵する回線(上り1Mbps)が手に入ると、これを遊ばせておくのはもったいないと感じてきました。また、Linux にも大分なれてきたこともあり、そろそろひとつの形として、自宅サーバーを構築したい、という欲求も高まりつつありました。

 自宅サーバーを構築するとなれば、最低でも、DNS で名前解決ができる必要があります。しかし、@nifty では固定 IP アドレスの割り当てサービスは行っておらず、wakwak でも 9,800円/月という費用が発生するため、固定 IP アドレスを入手することは、事実上難しい状態ではあります。となれば、今の動的なアドレスのまま DNS から引ける方法はないか、ということに突き当たります。この、動的アドレスを DNS で名前解決できるようにしたものが Dynamic DNS 、略して DDNS と呼ばれるものです。

 DDNS の原理は簡単です。DNS は、与えられたホスト名から IP アドレスを引き出すサービスです。極々大雑把に言ってしまえば、IP アドレスとホスト名の対応表を持っていて、クライアントからあるホスト名を与えられたときに、対応表から IP アドレスを調べてクライアントに通知する、という機能を持っているわけです。なので、この対応表の IP アドレスが変わるたびに更新していけば、動的な IP アドレスであっても、DNS としての動作はできるわけです。

 とはいえ、DDNS にはひとつの問題もあります。それは、IP アドレスが変わったときに、速やかに DNS のデータを更新しなければならない、ということです。動的な IP アドレスは、いつ書き換わるかわかりません。このため、定期的に、DDNS サーバーに対して、使用している IP アドレスを通知することで、速やかな対応を可能にしています。

 DDNS を提供している業者は、国外に多くあり、その多くはアメリカにあります。このため、登録などはすべて英語で行う必要があり、日本人が DDNS サービスを利用する際のひとつの弊害となっています。ところが、先ごろ @nifty でも、この DDNS サービスを行うことが発表されました。@nifty であれば、日本語で対応が可能であり、安心感もあります。料金的にも、独自ドメインで運用する場合が 500 円で @nifty のサブドメイン(xxxx.atnifty.com 形式)であれば 200 円と非常に安価です。まあ、あえて独自ドメインをとるまでもないので、今回は @nifty のサブドメイン形式で申し込みを行いました。

 申し込んで数分で、DDNS への登録は終了しました。手元の ThinkPad 760E に Vine Linux 2.5 を導入して、とりあえず Apache を走らせて見たところ、Internet 側から ThinkPad 760E の Apache のスタートページが表示されました。あとは、内容を充実させるだけだな、と考えていましたが、世の中、そんなにあまくはありません.....

 数日が経過して、自宅サーバーに仮の内容を入れてみて、Internet から閲覧できるか試したところ、Host Not Found になってしまいました。@nifty のサービス確認を行ったところ、確かに IP アドレスは登録されているようです。ところが、ping を行っても、Unreacable Host になってしまい、まったくサーバーが見えないのです。

 原因がわからず、なぜ引けないのだろうか、と考えているうちに、ふと(もしかして、IP アドレスの自動更新はしないんじゃないの?)という疑問が湧き出しました。私は @nifty の ADSL サービスを使用しているため、一度 DDNS サービスを申し込めば、後は @nifty 側で、IP アドレスの自動更新を行うものと考えていました。そこで、現在の自分のアドレスを確認したところ、DDNS に登録されている IP アドレスから変更されていることがわかりました。そこで Web 上から IP アドレスの更新を行ったところ、再び見えるようになりました。つまり、DDNS の更新作業はユーザーが別途行わなければならない、ということが原因だったのです。

 何はともあれ、IP アドレスを更新してみたところ、無事我が家の Web サーバーが閲覧できるようになりました。IP アドレスの手動更新は面倒なので、@nifty が推奨している DiCE というツールを仕込み、自動更新するように設定しました。更新の間隔については、広すぎると Host Not Found になりますし、狭すぎると DDNS サーバーへの負荷を増やすだけになってしまうことから、とりあえず 24 時間ごとに更新するように設定しました。所詮自宅サーバーはお遊びのようなものなので、仮に落ちていても、それほど影響はないだろう、と考えたためです。

 とはいえ、数々の理由から、ここではその URI の公開はいたしません。回線が接続されない(^_^;;場合があるためです。まあ、NTT が悪いのではなく、こちらの都合でとまってしまうため、なんとも辛いところではあります。もう少し落ち着いたら、公開するかもしれませんので、そのときはよろしくお願いします。