DiCE Linux版インストールメモ
はじめに
現在、『blackface.info』ドメインは非固定IPアドレスのためダイナミックDNSサービスの
『MiniDNS』を利用しています。
それらのDDNSサービスに現在IPアドレスを通知するためのツールが『DiCE』です。
他にもDDNS更新ツールはあるので、googleなどで探してみてください。容易に見つかるはずです。
正直、自分でもまだ未知数のツールであるのと自分の文章能力に問題があるため、
分かりにくいところや間違っているところが多々あると思います。
もし指摘する点があったら掲示板にお願いします。
用意するもの
今回はdiced0194.tar.gzを使用しました。ここからダウンロードできます。
うちのサーバにはXWindowが入ってないのでLinux版のCUIバージョンを使用します。
GUIバージョンもありますが、デーモン動作をさせる場合はCUIバージョンがおすすめです。
現在はまだベータ版ですので、使用するには注意が必要です。
DiCEのインストール
1.解凍
まずは、DiCEを解凍します。
DiCEのパッケージはインストーラなどはありませんので任意の場所で解凍します。
今回は/usr/local/DiCE にインストールすることにします。
#cp /tmp/diced0194.tar.gz /usr/local/ <Enter>
#cd /usr/local/ <Enter>
#tar zvxf /usr/local/diced0194.tar.gz <Enter>
/usr/local/DiCE/にDiCEがインストールされます。
2.初期設定
DiCEの設定をするため、dicedを実行します。
#cd /usr/local/DiCE/ <Enter>
#/usr/local/DiCE/diced <Enter>
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad:
実行すると、上のようなコンソールが出現します。
初期設定を行うため、setupと入力します。
:setup <Enter>
IPアドレスの検出方法を指定してください
(0) 自動検出
(1) ローカルのネットワークアダプタから検出
(2) 外部のスクリプトから検出
<現在:0>
(N)変更しない (P)戻る
>IPアドレスの検出方法を指定します。
基本的に0(自動検出)で問題ないと思います。
設定するPCがグローバルIPを持っている場合は1を設定し、インターフェースを設定した方がいいかもしれません。
-------------------------------------------------
プライベートIPアドレスも検出対象ですか? (Y/N)
<現在:いいえ>
(P)戻る
>次はプライベートIPを検出するかの設定ですが、これはN(いいえ)でかまいません。
Yに設定するとLANのIPアドレスなどを拾ってしまうので設定してはいけません。
-------------------------------------------------
IPアドレスをチェックする間隔を指定してください(分)
設定可能範囲は5分以上です
<現在:5>
(N)変更しない (P)戻る
>IPアドレスのチェック間隔を指定します。問題がなければ5分でいいはずです。
この間隔が短いほどIPが変わったときに繋がらない時間が短くなります。
=================================================
DNSサーバーの負荷を軽減するために頻繁なDNS更新を防ぐ必要があります
前回の更新から一定時間DNS更新処理を行わないように保護時間を設定して
ください(分) 設定可能範囲は10分から1440分です
<現在:10>
(N)変更しない (P)戻る
>DNSサーバの最低更新間隔を指定します。
これは、ほとんどのDDNSサービスにIPアドレスを登録する回数が著しく多いとサービスが停止される可能性が
あるため、前回のIP変更時から最低どのくらいの間隔をあけるか指定します。基本的には10(10分)でいいと思いますが、IPアドレスが変わり易い環境の場合は30〜60の設定をした方が
いいかもしれません。これで初期設定は以上です。
3.イベント設定
次はDDNSにIPを更新するためのイベントを作成します。
DiCEのコンソールでadd と入力します。
:add <Enter>
新しくイベントを追加しますDynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>ここで、自分が使用しているDDNSのサービス名を入力します。
自分はMiniDNSを使用しているためminiDNS と入力します。大文字と小文字に注意しましょう。
>?
ARTofDNS AtStomped changeIP cheapnet
cmdns DDNS.nu ddo.jp dhs
dnsQ DtDNS Dyn.ee dyn.to
Dynamx dyndns DynDNSdk DynDSL
dynodns dyns Dynu Dynup
eyeP flexiDNS GetmyIP HAMMERNODE
idnsi ieServer instat justlinux
Microtech Mindriot miniDNS myIP.org
nicolas No-IP ns1 sdns
SelfHOsT theBBS tsx yi
ZiVE ZoneEdit my-domain CtrlAltDel
jspeed dnip Pronym dynDNS.it
2mbit.com cjb ods todd
Netservers tucny LostWeyr ZeroPain
ipdyn dnsking armann Now.nu
EveryDNS DNS2Go Earth unicc
WebReactor Haxor did.expoze.com p2p
ddns.ca MyServer StaticCling @nifty
MyIP.US JPN.ch pcc.jp MyDNS.JP
DnsTokyo ZENNO.COM?と入力するとDiCEで対応しているサービスの一覧が表示されます。
ここから先はDDNSがminiDNSということ前提で設定していますから違う部分があるかもしれません。
>miniDNS <Enter>
-------------------------------------------------
<< miniDNS >>
URL: http://www.minidns.net/
*** 情報 ***
<ポート9120を使用します>
=================================================
ドメイン名を入力してください
"?"でドメイン一覧を表示します
(P)戻る
>info <Enter>
=================================================
ホスト名を入力してください
(P)戻る
>blackface <Enter>ここではminiDNSに登録してあるドメインとホストを指定します。
独自ドメインの場合は独自ドメイン名をドメイン名に入力します。
それと、ドメイン名のホスト(例: blackface.info )を更新する場合はドメインを info を指定し、ホスト名を blackface に設定します。
=================================================
ログインユーザ名を入力してください
(P)戻る
>miniDNSのユーザー名
=================================================
ログインパスワードを入力してください
(P)戻る
>miniDNSのパスワードログインユーザ名とログインパスワードを入力します。
=================================================
登録するIPアドレスを入力してください
空白にすると現在のIPアドレスを自動検出します
(P)戻る
>IPアドレスを手作業で設定する場合はIPアドレスを入力します。
空白だと初期設定時のIPアドレス検出方法でIPアドレスが自動設定されます。
ここは、空白にしてください。
=================================================
このイベントに題名を付けてください
(P)戻る
>ほかのイベントと区別するため、イベントに名前を付けます。
これは、どんな名前を設定しても問題ないので分かり易い名前をつけます。
=================================================
このイベントを実行するスケジュールを設定します
-------------------------------------------------
実行する頻度を指定してください (番号入力)
(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)戻る
>IPアドレスに変化がない場合に強制的にイベントを実行する間隔を指定します。
これは無料DDNSサービスを利用している場合に多いのですが、一定期間IPアドレスを更新しないと
DDNSサービスのアカウントを削除されてしまいます。それを回避するため、一定期間で強制的にIPアドレスを更新します。
通常は0(7日毎)で構わないと思います。
=================================================
詳細オプションを設定します
-------------------------------------------------
[ オフライン ]
(0)No (1)Yes
番号>これはminiDNSのサイトを使ったことがあるなら分かると思いますが、ホスト名のオンラインとオフラインに
切り替えるものです。0(No)を選ぶとオンライン、1(Yes)を選ぶとオフラインになります。
IPアドレスを更新したのにオフラインにしても意味がないため、0(No)を選択します。
=================================================
このイベントを有効にしますか? (Y/N)
(イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
>イベントの有効、無効を切り替えます。
ここで無効を設定した場合は、ENコマンドで設定を有効にしないとイベントは実行されません。
イベントの設定は以上です。
他のDDNSサイトにも登録している場合は、同じ手順で登録します。
つづいて、DiCEをデーモン起動します。
4.実行
デーモン起動
#/usr/local/DiCE/diced -d <Return> デーモン終了
#kill <dicedのプロセスID> <Return>
5.DiCEを自動的に起動するようにする
PC起動時にDiCEを起動しておく方法にはいくつか方法があります。/etc/rc.local にコマンドを
記述する方法や/etc/rc.d/init.d のディレクトリに起動スクリプトを作成する方法などがあります。今回は起動スクリプトを使用して起動できるようにしてみたいと思います。
まず、 /etc/rc.d/init.d ディレクトリに起動スクリプト(diced)を作成します。
#vi /etc/rc.d/init.d/diced <Return>
起動スクリプトのサンプルです。
RedHatの場合はこれで起動できました。
多分、RedHat以外では動かないと思います。
#!/bin/sh
#
# Startup script for the DiCE
# Created by KBee
#
# chkconfig: 345 90 10
# description: DiCE
# processname: diced
# pidfile: /var/run/diced.pid# Source function library.
. /etc/rc.d/init.d/functionsdiced=/usr/local/DiCE/diced
prog=diced
RETVAL=0# Source additional OPTIONS if we have them.
if [ -f /etc/sysconfig/diced ] ; then
. /etc/sysconfig/diced
fistart() {
echo -n $"Starting $prog: "
daemon $diced -d -l $OPTIONS
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
action $"Starting $prog: " /bin/true
else
action $"Starting $prog: " /bin/false
fi
[ $RETVAL = 0 ] && touch /var/lock/subsys/diced
return $RETVAL
}stop() {
echo -n $"Stopping $prog: "
killproc $diced
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/diced /var/run/diced.pid
}# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $diced
;;
restart)
stop
start
;;
reload)
echo -n $"Reloading $prog: "
killproc $diced -HUP
RETVAL=$?
echo
;;
condrestart)
if [ -f /var/run/diced.pid ] ; then
stop
start
fi
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|condrestart|status}"
exit 1
esacexit $RETVAL
このスクリプトを書いたら、次にこのスクリプトに実行権限を与えます。
そして、chkconfigコマンドでこの起動スクリプトを有効化します。
#chkconfig --add diced <Return>
これで、再起動後にランレベルが345の時にDiCEが自動的に起動するはずです。
動作確認
#nslookup <動作確認するホストのFQDN> <Return>
コマンドを実行して、自分のグローバルアドレスが表示されればOKです。