DynamicDNSサービス用のIPアドレス自動更新ツール「DiCE」のインストールとセットアップ手順。 ここではDynamicDNSサービスとしてJSPEEDを用いた場合の例として取り上げる。

§1 ダウンロード

Linux版のバイナリパッケージをダウンロードし、/usr/local/bin/に展開する。

cd /usr/local/bin/
wget http://www.hi-ho.ne.jp/cgi-bin/user/yoshihiro_e/download.cgi?p=diced019
tar xvzf diced01913.tar.gz

起動するか確認する。 DiCEのメッセージはEUCコードで出力されるため、UTF-8などEUC以外の文字コードを使っている環境では、ターミナルの文字コードをEUCに変えておくなどの対処が必要となる。

cd DiCE/
./diced

下記のように表示されればOK。

=-=-=- 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            ログをクリアします

§2 セットアップ

IPアドレスの検出方法、チェック間隔等の設定を行う。  「:」のあとに「setup」と入力する。

:setup

IPアドレスの検出方法を選ぶ。

IPアドレスの検出方法を指定してください
(0) 自動検出
(1) ローカルのネットワークアダプタから検出
(2) 外部のスクリプトから検出
<現在:0>
(N)変更しない  (P)戻る
>

ここでは自動検出としたいので、nと入力する。

-------------------------------------------------
プライベートIPアドレスも検出対象ですか? (Y/N)
<現在:いいえ>
(P)戻る
>

nを入力。

-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>

yを入力。

検出IPアドレス>125.xxx.yyy.zzz

現在のIPアドレスが表示されればOK。

-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>

nを入力。

-------------------------------------------------
IPアドレスをチェックする間隔を指定してください(分)
設定可能範囲は5分以上です
<現在:10>
(N)変更しない  (P)戻る
>

5分おきにチェックさせたいため、5を入力。

=================================================
DNSサーバーの負荷を軽減するために頻繁なDNS更新を防ぐ必要があります
前回の更新から一定時間DNS更新処理を行わないように保護時間を設定して
ください(分)  設定可能範囲は10分から1440分です
<現在:60>
(N)変更しない  (P)戻る
>

20を入力。 JSPEEDの場合、15分に1回以上のアクセスを禁止してるため、20分に設定する。

=================================================
設定を保存しますか? (Y/N)
(P)戻る
>

yを入力。

設定を保存しました

以上でセットアップは終了。

§3 イベントを登録する

使用するDynamicDNSサービスにあわせた設定を行う。

:add

「:」のあとに「add」を入力。

新しくイベントを追加します

DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>

ここではJSPEEDを使用するため、「JSPEED」と入力する。 他のDynamicDNSサービスを使用する場合は、「?」で一覧を表示し、一覧の中から該当するサービスを選択する。

-------------------------------------------------
<< JSPEED Dynamic DNS Service >>
URL: http://ddns.j-speed.net/
*** 情報 ***
<ポート3495を使用します>

JSPEEDを選んだ場合の設定が表示される。

=================================================
ドメイン名を入力してください
"?"でドメイン一覧を表示します
(P)戻る
>

独自ドメインを使用する場合は、「jspeed.jp」を選択する。 JSPEEDで提供されるサブドメインを使用する場合は、「?」で一覧を表示し、一覧の中から該当するサブドメインを選択する。

=================================================
ホスト名を入力してください
(P)戻る
>

独自ドメインの場合は、ドメイン名からトップレベルドメイン(.net, .com, .org)を除いたものを入力する。 それ以外の場合は、サービス登録時に設定したホスト名を入力する。

=================================================
ログインユーザ名を入力してください
(P)戻る
>

JSPEEDの登録時に設定したログインユーザ名を入力する。

=================================================
ログインパスワードを入力してください
(P)戻る
>

JSPEEDの登録時に設定したログインパスワードを入力する。

=================================================
登録するIPアドレスを入力してください
空白にすると現在のIPアドレスを自動検出します
(P)戻る
>

自動検出してIPアドレスを登録すればいいので、ここでは何も入力しない。

=================================================
このイベントに題名を付けてください
(P)戻る
>

好きな名前を付ける。 ここでは「JSPEED」とする。

=================================================
このイベントを実行するスケジュールを設定します
-------------------------------------------------
実行する頻度を指定してください (番号入力)
(0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回
(4)その他の周期 (5)IPアドレス変化時 (6)起動時
(P)戻る
>

IPアドレス変化時に変更を通知させたいので、ここでは5を入力。

-------------------------------------------------
IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると
アカウントを削除されてしまうことがあります
IPアドレスの変化が無い時に実行する間隔を指定してください
(0)7日毎   (1)14日毎  (2)21日毎  (3)28日毎
(4)35日毎  (5)56日毎  (6)84日毎
(P)戻る

0を入力。

=================================================
詳細オプションを設定します
-------------------------------------------------
[ オフライン ]
(0)No (1)Yes
番号>

0を入力。

=================================================
このイベントを有効にしますか? (Y/N)
(イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
>

yを入力。

=================================================
イベントを保存しますか? (Y/N)
>

yを入力。

§4 イベントを表示する

:list

「:」のあとに「list」と入力する。

(No.)   (イベント名)                   (スケジュール)             (次回予定)
  0 *  JSPEED                         IPアドレス変化時 (7日毎)   04/05 10:15

このように、登録したイベントが表示されればOK。 また、

:ev 0

「:」のあとに「ev 0」と入力すると、指定したイベントの詳細が表示される。

-------------------------------------------------
[イベント名        ] JSPEED
[状態              ] 有効
[DNSサービス       ] JSPEED
[更新ホスト        ] example.jspeed.jp
[ユーザ名          ] example
[IPアドレス        ]
[スケジュール      ] IPアドレス変化時 (7日毎)

[次回更新日時      ] 2007年4月5日、10:20:21
[最終実行日時      ] 1899年12月30日、0:00:00
[最終更新IPアドレス] *
[最終更新結果      ] コマンドが実行されました
(ID:000000)
-------------------------------------------------

設定が終わったら、終了する。

:exit

「:」のあとに「exit」と入力すると終了する。

§5 DiCEをデーモンとして起動する

常にIPアドレスの監視を行わせるため、DiCEをデーモンとして起動する。

/usr/local/bin/DiCE/diced -d -l

このとき、下記のようなメッセージが表示されればOK。

=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad

DiCE Daemon Started !!

ログはDiCEを配置した場所のlog/events.logに出力される。 ログはEUCで出力されるため、環境に合わせてUTF-8などの文字コードに変換する必要がある。

cat /usr/local/bin/DiCE/log/events.log | nkf --utf8

デーモンとして起動した直後の場合、下記のように表示されればOK。

○ 3/29 10:21 デーモン動作を開始しました

§6 システム起動時にDiCEをデーモンとして起動させる

システム起動時にデーモンとして起動させるためには、/etc/rc.d/rc.localの最下行あたりに下記のような記述を追加する。

# DiCE
/usr/local/bin/DiCE/diced -d -l