はじめに
自宅サーバーを独自ドメインで運用するときに直面する問題の一つが、グローバルIPアドレスが一般向けの回線では動的で、不定期に変わってしまうことだ。停電やメンテナンスなどでモデムやルーターを再起動すると、さっきまでと全く別のアドレスが割り当てられる。
すると、ドメインが指し示す住所であるアドレスが古いものとなり、外からアクセスできなくなってしまう。
BIGLOBEなどのプロバイダによっては固定IPサービスも用意されているが、有料オプションであり、数週間に1回程度変わるものにお金を払うのも割に合わないので、できれば無料でなんとかしたいものだ。
その解決方法として使われているDynamic DNS(DDNS)は、DNSサーバー内に登録されているアドレスを即座に変更できるシステムだ。
ドメインのオーソリティーを持つ(アドレスを管理する)DNSサーバーは、クライアントからの参照に応じてアドレス(Aレコード)を調べ、返答する。
DDNSでは、サーバー側で自身のアドレスを監視し、変更を検知したらDNSサーバーに通知する。
するとサーバーはAレコードを書き換え、クライアントが更新を検知できるように、SOAレコードのSerial値を増加させる。
このようにして動的IPアドレスに対応できるが、DNSサーバー自体のアドレスが変わってしまっては元も子もないので、外部の固定的なサーバーを使うことになる。
独自ドメインにも対応する無料のDDNSサービスは、少数ではあるが存在する。
現在starhythm.comに使っているZoneedit(ZE)はそのようなサービスとして有名だ。
wwwといった任意のホストごとに設定が可能で、必要に応じてメンテナンスページを表示したり他サイトに転送したりできるなど、多くの便利な機能がある。
2011年にeasyDNSに買収されて以降、無料で使えるのは新規ユーザーが3ドメインまで、既存ユーザーが5ドメインまでという制限がある。
以下では、Zoneeditを使ってLinuxサーバーからIPアドレスを更新する方法を紹介する。
なお、独自ドメインはレジストラで取得済みとする。
動作環境
今回説明に用いるサーバーの環境は次の通り。
- Ubuntu Server 14.04
- ドメイン:starhythm.com
- レジストラ:お名前.com(GMO)
- LAN環境