DiCE for LinuxによるダイナミックDNS更新
カテゴリ:Gentoo Linux Tips
日時:2010/03/13 21:32
自宅サーバを外部に公開するには、プロバイダに割り当てられたグローバルIPアドレスとドメイン名を結びつける必要がある。これを行う手段の1つとして、ダイナミックDNSサービスを利用する方法がある。
多くのダイナミックDNSサービスは無償で提供されているが、一定の間隔でIPアドレスの更新処理を行わないとサービスが停止されてしまう。そこで、ダイナミックDNSサービスに対して定期的にIPアドレスの更新を行ってくれるDiCE for Linuxを利用する。
ここでは、ダイナミックDNSサービスにMyDNS.JPを利用した場合を例に説明する。
まず、DiCE DynamicDNS Client(for Linux)から、CUI版(diced000.tar.gz)をダウンロードする。
次にdiced000.tar.gzを展開し、DiCEディレクトリを/usr/local/bin下に移動する。
多くのダイナミックDNSサービスは無償で提供されているが、一定の間隔でIPアドレスの更新処理を行わないとサービスが停止されてしまう。そこで、ダイナミックDNSサービスに対して定期的にIPアドレスの更新を行ってくれるDiCE for Linuxを利用する。
ここでは、ダイナミックDNSサービスにMyDNS.JPを利用した場合を例に説明する。
まず、DiCE DynamicDNS Client(for Linux)から、CUI版(diced000.tar.gz)をダウンロードする。
次にdiced000.tar.gzを展開し、DiCEディレクトリを/usr/local/bin下に移動する。
# tar xzvf diced000.tar.gzこれでファイルの配置は完了。次にDiCEの設定を行う。 まず、dicedを起動する。
# mv DiCE /usr/local/bin/
# /usr/local/bin/DiCE/diced初回起動時は、setupで環境設定を行う。設定自体はまったく難しくない。
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad
:
:setup次にダイナミックDNSサービス固有の設定。これはaddで行う。
IPアドレスの検出方法を指定してください
(0) 自動検出
(1) ローカルのネットワークアダプタから検出
(2) 外部のスクリプトから検出
<現在:0>
(N)変更しない (P)戻る
>0
-------------------------------------------------
プライベートIPアドレスも検出対象ですか? (Y/N)
<現在:いいえ>
(P)戻る
>n
-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>y
検出IPアドレス>xxx.xxx.xxx.xxx
-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>n
-------------------------------------------------
IPアドレスをチェックする間隔を指定してください(分)
設定可能範囲は5分以上です
<現在:10>
(N)変更しない (P)戻る
>n
=================================================
DNSサーバーの負荷を軽減するために頻繁なDNS更新を防ぐ必要があります
前回の更新から一定時間DNS更新処理を行わないように保護時間を設定して
ください(分) 設定可能範囲は10分から1440分です
<現在:60>
(N)変更しない (P)戻る
>n
=================================================
設定を保存しますか? (Y/N)
(P)戻る
>y
設定を保存しました
=================================================
:
:add一通り設定が終わったら、listで確認してみる。
新しくイベントを追加します
DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>?
ZENNO.COM livedoor MyDNS.JP pcc.jp=================================================
JPN.ch MyIP.US @nifty StaticCling
MyServer ddns.ca p2p did.expoze.com
Dynamx WebReactor unicc Earth
DNS2Go EveryDNS Now.nu dynDNS.it
onamae.com DION ODN ysdn
ddo.jp Netservers todd USA
cjb Dyn.ee BIGLOBE dnip
my-domain ZoneEdit ZiVE yi
theBBS SelfHOsT No-IP nicolas
miniDNS Microtech instat ieServer
HAMMERNODE GetmyIP Dynup Dynu
dyns DynDSL DynDNSdk dyndns
DtDNS dnsQ dhs DDNS.nu
cheapnet changeIP ARTofDNS VALUEDOMAIN
ODS JSPEED IPDYN DnsTokyo
新しくイベントを追加します
DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>MyDNS.JP
-------------------------------------------------
<< MyDNS.JP >>
URL: http://www.mydns.jp/
(省略)
=================================================
ドメイン名を入力してください
"?"でドメイン一覧を表示します
(P)戻る
>example.com
=================================================
ホスト名を入力してください
(P)戻る
>
=================================================
ログインユーザ名を入力してください
(P)戻る
>MasterID
=================================================
ログインパスワードを入力してください
(P)戻る
>Password
=================================================
登録するIPアドレスを入力してください
空白にすると現在のIPアドレスを自動検出します
(P)戻る
>
=================================================
このイベントに題名を付けてください
(P)戻る
>MyDNS.JP
=================================================
このイベントを実行するスケジュールを設定します
-------------------------------------------------
実行する頻度を指定してください (番号入力)
(0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回
(4)その他の周期 (5)IPアドレス変化時 (6)起動時
(P)戻る
>5
-------------------------------------------------
IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると
アカウントを削除されてしまうことがあります
IPアドレスの変化が無い時に実行する間隔を指定してください
(0)7日毎 (1)14日毎 (2)21日毎 (3)28日毎
(4)35日毎 (5)56日毎 (6)84日毎
(P)戻る
>0
=================================================
=================================================
このイベントを有効にしますか? (Y/N)
(イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
>y
=================================================
イベントを保存しますか? (Y/N)
>y
イベント"MyDNS.JP"を保存しました
=================================================
:
:listまずは実行してみる。実行はex+イベントNo.で行う。
(No.) (イベント名) (スケジュール) (次回予定)
0 * MyDNS.JP IPアドレス変化時 (7日毎) 02/16 01:23
:
:ex 0exitでdicedの設定モードを抜ければ設定は環境。
2/9 0:31 にMyDNS.JPが実行されました
IPアドレスを更新しました
:
:exitdicedをデーモンとして実行する。オプションとして「-d -l」を付ける。これでDiCEが定期的にIPアドレスの更新を行ってくれる。
# /usr/local/bin/DiCE/diced -d -l最後に、サーバ起動時にDiCEが自動実行されるようにする。/etc/init.d/DiCEとして以下のようなスクリプトを作成し、
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad
DiCE Daemon Started !!
#!/sbin/runscript実行権を付加し、
depend() {
need net
}
start() {
ebegin "Starting DiCE"
/usr/local/bin/DiCE/diced -d -l
eend $? "Faild to start DiCE"
}
# chmod +x DiCEデフォルトランレベルに追加する。
# rc-update add DiCE default以上で作業完了。