ダイナミックDNS


ダイナミックDNSって?


ドメイン名と言う言葉をご存知でしょうか?
ブラウザ(IEなど)のアドレスに記述することもあります。


IPアドレスがインターネット上住所であると説明しましたが、これもインターネット上の住所として扱われています。
(ドメイン名もIPアドレスと同様に世界で唯一の名前)
ドメイン名は、特定のIPアドレスと関連付けされており、インターネット上ではドメイン名が指定されると、対応したIPアドレスに変換されます。
ドメイン名からIPアドレスへ変換する役割を担っているのがDNS(ドメイン・ネーム・サーバ)です。
ダイナミックDNSは、ドメイン名からIPアドレスへ変換する機構を動的に行うものです。
プロバイダーは、私たちのコンピュータに動的にIPアドレスを割り当てるとお話しました。
割り当てられるIPアドレスが動的に変化するのであれば、ドメイン名からIPアドレスへの変換も動的にと考え出された仕組みが、ダイナミックDNSです

ダイナミックDNSのサービスを提供しているところは、多数あります。
ドメイン名にこだわりを持たないのであれば、無料でダイナミックDNSを提供しているところが結構あります。
趣味サーバを公開しようとする貧乏者には、有難い話です。


ダイナミックDNSの仕組み


公開しようとするサーバの名前がalk.dip.jpの場合


ダイナミックDNSの設定


筆者は、家サーバープロジェクト(http://ieserver.net/)から無料で提供されているダイナミックDNSサービスを利用することにしました。
家サーバープロジェクト様、ありがとうございます。
設定は簡単で、ユーザ名・ドメイン名・パスワード を入力すれば登録完了です。
ただし、自身のサーバを接続しているルータと同じルータに繋がっているPCから登録する必要があります。
登録されるIPアドレスは、家サーバープロジェクトのホームページにアクセスしているIPアドレス(この場合、あなたのルータに割り当てられたグローバルなIPアドレス)になります。

筆者の場合下記のように入力し、IP登録ボタンを押しました
ユーザー名 alk
ドメイン名 dip.jp
パスワード ***********
パスワードは、非公開です(笑)。

結果、下記のIPアドレスが登録されました。
219.122.218.99

これで、ドメイン名「alk.dip.jp」にアクセスすることと「219.122.218.99」へのアクセスは同じ意味になります。
ダイナミックDNSは、alk.dip.jp のIPアドレスの問い合わせに対して 219.122.218.99 を返すように設定されたのです。
http://alk.dip.jp/で筆者のホームページへのアクセスが可能になりました。

しかし、まだ問題が残ります。
ルータに割り当てられるグローバルなIPアドレスは、変更される可能性があるからです(自宅サーバの概要を参照のこと)。
ルータに割り当てられたIPアドレスが変更になれば、上記でalk.dip.jp=219.122.218.99とした設定結果は、意味をなくします。
ダイナミックDNSは、alk.dip.jpへの問い合わせに対して、相変わらず古いIPアドレスの 219.122.218.99 を返します。

新しくルータへ割り当てられたIPアドレスと alk.dip.jp を関連付けさせるには、「家サーバプロジェクト」のホームページから再度IP登録を行わなければなりません。
ルータのグローバルIPアドレスを定期的に調べ、変化した場合はIP登録の操作を行うのです。
これを手操作で行うには、ヨッパにはしんどい話です。
「家サーバプロジェクト」は、そんな人の為に自動でIP登録を行うプログラムを提供してくれています(感謝・感謝)。
「家サーバプロジェクト」の便利ツールの中にあるIPアドレス更新サンプルスクリプトがそれです。

スクリプト内のコメントを見れば設定方法は分かると思いますが、筆者の行った操作を提示しておきます。
  1. IPアドレス更新サンプルスクリプトをダウンロードします。
  2. サンプルスクリプトの アカウント(サブドメイン)名、 ドメイン名、 パスワードを記述します 。
    $ACCOUNT="alk";
    $DOMAIN="dip.jp";
    $PASSWORD="********";
  3. WinSCPで/usr/local/ddns/のディレクトリを作成します
  4. 2で編集したddns-update.txtをddns-update.plと名前を変えて/usr/local/ddns/の下にコピーします。
  5. ddns-update.plのパーミッションを700に変更します。
  6. cronで10分毎にddns-update.plが起動するように設定します。
    <cronの設定方法>
    PuTTYでログイン
    crontab -eの実行
    エディッタが起動するので下記を入力
    5,15,25,35,45,55 * * * * /usr/local/ddns/ddns-update.pl

    ファイルを書けば、cronの設定は終了です。
    crontab -lを実行すれば、cronの登録一覧を表示します。
  7. 10分間隔で自分のグローバルIPアドレスを検出し、変化があった場合は、ダイナミックDNSの再設定が行われます。