IPアドレス自動更新DiCE(ddo.jp)

■ FC2~FC6
非固定IPアドレス環境の場合、不定期にIPアドレスが変わってしまうので、IPアドレスがダイナミックDNSに登録したIPアドレスと変わってしまう。そうすると、yokensaka.comでサーバーにアクセスできなくなってしまう。そこで、「http://www.hi-ho.ne.jp/yoshihiro_e/dice/」を使って自動でIPアドレスを更新出来るようにすることにした。そして、常にyokensaka.comでサーバーにアクセスできるようにする。
■DiCEの取得とインストール
DiCEには「Windows版」と「Linux版」があり、今回は「Linux版」をダウンロード。

 /usr/local/bin/ディレクトリへ移動。
[root@linux ~]# cd /usr/local/bin
DiCEをダウンロード。
[root@linux ~]# wget http://www.hi-ho.ne.jp/cgi-bin/user/yoshihiro_e/download.cgi?p=diced019
--08:26:31--  http://www.hi-ho.ne.jp/cgi-bin/user/yoshihiro_e/download.cgi?p=diced019
=> `download.cgi?p=diced019'
www.hi-ho.ne.jp をDNSに問いあわせています... 202.224.157.11
www.hi-ho.ne.jp|202.224.157.11|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: http://homepage3.nifty.com/sarad/diced01913.tar.gz [続く]
--08:26:32--  http://homepage3.nifty.com/sarad/diced01913.tar.gz
=> `diced01913.tar.gz'
homepage3.nifty.com をDNSに問いあわせています... 61.121.100.78
homepage3.nifty.com|61.121.100.78|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1,093,163 (1.0M) [application/x-gzip]
100%[========================================================>] 1,093,163      3.24M/s
08:26:33 (3.23 MB/s) - `diced01913.tar.gz' を保存しました [1093163/1093163]
ダウンロードしたファイルを解凍。
[root@linux ~]# tar zxvf diced01913.tar.gz
DiCE/
DiCE/diced
DiCE/ipcheck.dat
DiCE/plug-in/
DiCE/plug-in/dion.plo
  ・
  ・
  ・
DiCE/plug-in/VALUEDOMAIN.plg
DiCE/plug-in/ODS.plg
DiCE/plug-in/JSPEED.plg
DiCE/plug-in/IPDYN.plg
DiCE/plug-in/DnsTokyo.plg

■DiCE(ddo.jp)の設定

DiCEを起動。
[root@linux bin]# /usr/local/bin/DiCE/diced
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad
DiCEのヘルプを表示。
:?
*** 起動オプション ***
diced [-s|-d|-h|-e] [-b] [-l]
-s           起動と同時に開始します
-d           起動と同時にバックグラウンドで開始します
-h           コマンドオプションを表示します
-b           イベント実行時にビープ音を鳴らします
-l           ログを作成します
-e  指定のイベントを実行して終了します
*** コマンド一覧 ***
exit             DiCEを終了します
start            DiCEを開始します
startd           DiCEをバックグラウンドで開始します
setup            DiCEの環境設定を行います
list             登録済のイベント一覧を表示します
add              イベントを追加します
ed[it] <番号>    イベントを編集します
del <番号>       イベントを削除します
en[able] <番号>  イベントを有効にします
dis[able] <番号> イベントを無効にします
ev[ent] <番号>   イベントの情報を表示します
ex[ec] <番号>    イベントを今すぐ実行します
logcr            ログをクリアします
DiCEの環境設定。
:setup
IPアドレスの検出方法を指定してください
(0) 自動検出
(1) ローカルのネットワークアダプタから検出
(2) 外部のスクリプトから検出
<現在:0>
(N)変更しない  (P)戻る
>2
-------------------------------------------------
スクリプトのURLを入力してください
<現在:>
(N)変更しない  (P)戻る
>http://info.ddo.jp/remote_addr.php
-------------------------------------------------
プライベートIPアドレスも検出対象ですか? (Y/N)
<現在:いいえ>
(P)戻る
>n
-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>y
検出IPアドレス>60.42.106.243
-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>n
-------------------------------------------------
IPアドレスをチェックする間隔を指定してください(分)
設定可能範囲は5分以上です
<現在:10>
(N)変更しない  (P)戻る
>n
=================================================
DNSサーバーの負荷を軽減するために頻繁なDNS更新を防ぐ必要があります
前回の更新から一定時間DNS更新処理を行わないように保護時間を設定して
ください(分)  設定可能範囲は10分から1440分です
<現在:60>
(N)変更しない  (P)戻る ← 30分に変更。
>30
=================================================
設定を保存しますか? (Y/N)
(P)戻る
>y
設定を保存しました
=================================================
イベントを追加。
:add
新しくイベントを追加します
DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
?を入力すると対応しているサービスが表示されます。
>?
ZiVE              ddo.jp          WebReactor             BIGLOBE
DnsTokyo            ieServer               unicc                DION
Dynup              Now.nu              Dyn.ee                Dynu
onamae.com             MyIP.US               Earth                 dhs
theBBS                todd              pcc.jp                 USA
DynDNSdk               No-IP              DNS2Go                 ODN
dyns            MyDNS.JP                 ODS         StaticCling
Netservers              DynDSL           dynDNS.it               DtDNS
yi                 cjb            cheapnet                dnip
RegisterFly            MyServer              instat            EveryDNS
GetmyIP            changeIP              JSPEED                dnsQ
DDNS.nu              @nifty            SelfHOsT             ddns.ca
CyberGate           ZENNO.COM            ARTofDNS               IPDYN
did.expoze.com            livedoor         VALUEDOMAIN                eNom
Microtech             3domain          HAMMERNODE           my-domain
miniDNS              dyndns              Dynamx              JPN.ch
p2p            ZoneEdit                ysdn             nicolas
DHS
=================================================
新しくイベントを追加します
DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>ddo.jp
-------------------------------------------------
<< Dynamic DO!.jp >>
*** 情報 ***
ユーザー名の入力は不要です
独自ドメインの場合はドメイン名を”ホスト”の所へ入力してください
=================================================
ドメイン名を入力してください
"?"でドメイン一覧を表示します
(P)戻る
>ddo.jp
=================================================
ホスト名を入力してください
(P)戻る
>yokensaka.com ← 独自ドメインの場合はドメイン名を入力。
=================================================
ログインユーザ名を入力してください
(P)戻る
>      ← 独自ドメインの場合は入力は不要。
=================================================
ログインパスワードを入力してください
(P)戻る
>xxxxxxxx ← ドメイン登録時のパスワードを入力。
=================================================
登録するIPアドレスを入力してください
空白にすると現在のIPアドレスを自動検出します
(P)戻る
> ← 何も入力しないでエンターキーのみ押します。
=================================================
このイベントに題名を付けてください
(P)戻る
>yokensaka.comIPアドレス更新 ← 分かりやすいイベント名を入力。(何でもOKです)
=================================================
このイベントを実行するスケジュールを設定します
-------------------------------------------------
実行する頻度を指定してください (番号入力)
(0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回
(4)その他の周期 (5)IPアドレス変化時 (6)起動時
(P)戻る
>5 ← IPアドレス変化時に実行するように(5)を入力。
-------------------------------------------------
IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると
アカウントを削除されてしまうことがあります
IPアドレスの変化が無い時に実行する間隔を指定してください
(0)7日毎   (1)14日毎  (2)21日毎  (3)28日毎
(4)35日毎  (5)56日毎  (6)84日毎
(P)戻る
>0 ← 更新する間隔を指定します。7日毎(0)に設定。
=================================================
詳細オプションを設定します
-------------------------------------------------
[ サービスタイプ ]
(0)無料 (1)有料
番号>1 ← サービスタイプを選択。
-------------------------------------------------
[ SSL ]
(0)使用する (1)使用しない
番号>1 ← (1)を選択。
-------------------------------------------------
[ オフライン ]
(0)No (1)Yes
番号>0 ← (0)NOを選択。
=================================================
このイベントを有効にしますか? (Y/N)
(イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
>y ← 有効にする。
=================================================
イベントを保存しますか? (Y/N)
>y ← 保存する。
イベント"yokensaka.comIPアドレス更新"を保存しました
=================================================
イベントリストを表示。
:list
(No.)   (イベント名)                   (スケジュール)             (次回予定)
0 *  yokensaka.comIPアドレス更新    IPアドレス変化時 (7日毎)   09/29 01:37
イベント詳細を表示。
:ev 0
-------------------------------------------------
[イベント名        ] yokensaka.comIPアドレス更新
[状態              ] 有効
[DNSサービス       ] ddo.jp
[更新ホスト        ] yokensaka.com.ddo.jp
[ユーザ名          ]
[IPアドレス        ]
[スケジュール      ] IPアドレス変化時 (7日毎)
[次回更新日時      ] 2006年11月4日、6:49:08
[最終実行日時      ] 1899年12月30日、0:00:00
[最終更新IPアドレス] *
[最終更新結果      ] コマンドが実行されました
(ID:000000)
-------------------------------------------------
イベント(IPアドレス更新)を実行
:ex 0
+ 10/28 6:50 にyokensaka.comIPアドレス更新が実行されました
IPアドレスを更新しました
DiCEを終了
:exit

■DiCEをデーモン起動させる
DiCEをシステム上に常駐させるには下記コマンドでDiCEを常駐起動させる。

[root@linux bin]# /usr/local/bin/DiCE/diced -d -l
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad
DiCE Daemon Started !!
[root@linux bin]#

■OS起動時にDiCEを起動させる

起動ファイルを編集。
[root@linux bin]# vi /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
最終行に以下を追加。また「-l」付けてログに記録するようにする。
/usr/local/bin/DiCE/diced -d -l