D(Dynamic)DNS の自動登録。
前回、外部のD(Dynamic)DNSサービスに登録して Webサーバを公開しました。
なぜDynamic なDNSにしたかというと、プロバイダが提供するグローバルIPがころころ変わる(頻度はよくわかってない)からですが、前回の設定ではIPが変わる度にドメインとIPの変更を手動で実施しなくてはならない状態でした。(ddo.jp の HP にログインしてポチッとやるだけですが)
面倒くさいですね。自動化します。
毎度の事ながら参考サイトはこちらになります。
http://www.aconus.com/~oyaji/ddns/ddns_linux.htm
DDNSのクライアント側設定ツールとして Dice というアプリが有名らしいです。
その Linux 版を用いて、定期的にDDNSサービスにアクセスし、ドメインとIPの紐付け情報を更新します。
# /usr/local/bin/DiCE/diced
怒られた。
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
ld-linux.so.2 がないらしい。
プログラム実行時に共有ライブラリを探して読み込むスクリプトとからしい。
入ってないと成り立たない気もしますが、64bit OS になって名称が変わったっぽい。
とりあえずインストール
# yum install ld-linux.so.2
無事インストールできたので、改めてコマンド実行。
# /usr/local/bin/DiCE/diced
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad
:? <--------HELP
*** 起動オプション ***
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 ログをクリアします
:add <--------イベントの追加
新しくイベントを追加します
DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
> ddo.jp <--------DDNSサービス名。今回は ddo.jp
-----------
あとは対話型で yes yes していけば設定できます。
スクリプトの起動タイミングは
- IPアドレスが変更されたとき
- 7日おき
の or 条件で設定しました。
試しに動かしてみた。以下、対話型。
:list
(No.) (イベント名) (スケジュール) (次回予定)
0 * update_njord-test IPアドレス変化時 (7日毎) 04/19 20:42
:
:ex 0
+ 4/12 20:57 にupdate_njord-testが実行されました
IPアドレスを更新しました
再起動したときに自動で起動するように
/etc/rc.d/rc.local に
/usr/local/bin/DiCE/diced -d -l
を登録しておきます。