あしたは晴れるかな。ii

駅前SEのお勉強ブログです。備忘録を兼ねて徒然事をアップしていきます。

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の紐付け情報を更新します。

  1. DiCEのホームページからDiCE for Linuxをダウンロード。
  2. ダウンロードしたファイルを適当なディレクトリ(/usr/local/bin/など)に展開する。
  3. コマンド実行!

 #  /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 していけば設定できます。

スクリプトの起動タイミングは

  1. IPアドレスが変更されたとき
  2. 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

を登録しておきます。