sleepingbird.net Home since May.11 2003
Copyright sleepingbird, 1993- All rights reserved.
Linux Server

TOP > Linux Server > DynamicDNS

DNS 登録

 PPPoE で Internet に接続しただけでは、こちらから web 閲覧等にアクセスできても、外からはアクセスできない。このサイトの url と IP-address を関連づけるために DNS に登録する必要がある。
 今回 DOMAIN を取得するのに利用したレジストラでも DNS 登録サービスを行っているので、ここを利用することにした。
 登録に当たっては、サーバーの名称を www とし、別名として ftp および mail と名付けることにする。当然、web を呼び出すときには www.sleepingbird.net とし、ftp を呼び出すときには ftp.sleepingbird.net と、mail サーバーとして利用するときには mail.sleepingbird.net として呼び出す。

 Valu-Domain にログインし、「DNSレコード/URL転送の変更」メニューに進む。

dns_setting01.jpg

  1. www の IPaddress は******** である。
  2. ftp は www の別名である。
  3. mail は www の別名である。
  4. sleepingbird.net ドメインあての mail はすべて mail.sleepingbird.net へ送る。(ターゲット欄はFQDNで入力 ex.mail.sleepingbird.net. 最後にドット)

dns_setting02.jpg

 正常に更新される。

dns_setting03.jpg

 書き換えた後、約5分程度でネットワークに反映される。
 ネットへの再接続が発生して IP アドレスが変わった場合、特別なサイトへアクセスすることで、DNS のアドレスだけを書き換えることが出来る。


dns_setting04.jpg

「ダイナミックDNS情報」へ進む。
パスワードは、当初ランダムな文字列が与えられるので、必要に応じて変更しておく。
 IP アドレスは現在の自分のアドレスが自動でセットされている。
 アクセス先の url をクリックして移動したページで各項目を入力するか、アクセス先の例に記載された文字列をコピーしてブラウザの url 欄にペースとしてアクセスすることで DNS 情報が書き換わる。

dns_setting05.jpg

DiCE

 上記の方法だと、ネットに再接続して IPaddress が変わるたびに手作業で再登録する必要があり、操作が煩雑で、また、アドレスが変わったのに気付かずにアクセス不能になっている場合もある。
 そこで、これを自動化するために、"DynamicDNSサービス" 利用者のためのクライアントツールである DiCE を導入する。
 DiCE はフリーソフトで、「サービスのWebサイトへ行かなくても更新作業を行うことが出来る」、「指定日時、または定期的にIPアドレスなどの情報を更新することが出来る」、「IPアドレスの変化を検知して自動で更新することが出来る」などの特徴がある。

 まず、DiCE for Linux をdice_power.gif から入手する。最新版は DiCEd Version0.19 Bata(diced01911.tar.gz)。
 /usr/local/bin に展開する。

# cd /usr/local/bin
# tar xzvf ./diced01911.tar.gz
# ls
DiCE/
 展開されたファイルの意味は次のとおり。
DiCE/  ---  インストールディレクトリ (rwx)
DiCE/diced  ---  実行ファイル(CUI版) (rwx)
DiCE/dice  ---  (GUI版 実行ファイル) (rwx)
DiCE/plug-in/  ---  情報ファイルが格納されているディレクトリ (rw-)
DiCE/plug-in/*.plg  ---  情報ファイル群 (rw-)

 diced を起動したら、? を入力すると使い方が出てくる。
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad

:?
*** 起動オプション ***
diced [-s|-d|-h|-e] [-b] [-l]
-s 起動と同時に開始します
-d 起動と同時にバックグラウンドで開始します
-h コマンドオプションを表示します
-b イベント実行時にビープ音を鳴らします
-l ログを作成します
-e<EventNo> 指定のイベントを実行して終了します
 
*** コマンド一覧 ***
exit DiCEを終了します
start DiCEを開始します
startd DiCEをバックグラウンドで開始します
setup DiCEの環境設定を行います
list 登録済のイベント一覧を表示します
add イベントを追加します
ed[it] <番号> イベントを編集します
del <番号> イベントを削除します
en[able] <番号> イベントを有効にします
dis[able] <番号> イベントを無効にします
ev[ent] <番号> イベントの情報を表示します
ex[ec] <番号> イベントを今すぐ実行します
logcr ログをクリアします
 daemon として起動させるには次のコマンドを使う。
# diced -d -l
Jun 25 2006
 バックグラウンドで起動しておけば定期的に DNS を更新してくれるはずの DiCE だが、希に実行しない場合があって、サーバーが迷子状態になる事がある。
 起動後どの程度でこの症状が発生するか何回か確認してみたが、2週間ほどのこともあれば数ヶ月間問題なく稼働し続けることもある。この症状が DiCE に起因することなのか、サーバーシステムとの相性によって発生するものなのか分からない。
 いずれにしても、サーバーが DNS から欠落するのを避けなければならないので、定期実行は CRON で行う事にした。
 次のファイルを実行属性を付けて作成し、cron に登録した。
vi /usr/local/etc/cron-diced

#/bin/sh
/usr/bin/killall diced
/bin/sleep 5
/usr/local/bin/DiCE/diced -e0
/usr/local/bin/DiCE/diced -d -l
 実行中の diced を停止し、5秒待ってからイベントを強制実行した後、バックグラウンドで起動する。
 これで、起動中に IP アドレスが変化しても対応できる。
 これを cron に次のとおり登録した。
15 6 * * 0 /usr/local/etc/cron-diced
 毎日曜日の朝6時15分に更新される。