DynDNSのIPアドレスの自動更新スクリプト

| コメント(0) | トラックバック(1)

ADSLのYahooBBのときとコミュファのときの違いのひとつにIPアドレスが
よく変わる,ということがあります。


自宅サーバを立てている関係で,IPアドレスが変わってもいいように
DynDNSのダイナミックDNSのサービスを
受けているわけですが,アドレスが変わるたびにいちいち手動でIPアドレスの設定をしなおす
わけにはいきません。

そこで,IPアドレスの自動更新スクリプトを動かすことに成功したので書き留めておきます。

(1)スクリプトのソースをダウンロード
https://www.dyndns.com/support/clients/
から,自分のOSに対応したスクリプトをダウンロードする。
Linux(Fedora)の場合は,ddclient.tar.gz をダウンロードする。


(2)インストール
以下のコマンドによりインストールする。
# tar xzvf ddclient.tar.gz
# cd ddclient-3.7.3
# cp ddclinet /usr/sbin/.
# mkdir /etc/ddclient
# cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf
# cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient

(3)設定ファイルの編集
# cd /etc/ddclient/
# vi ddclient.conf

この設定ファイルを以下のように編集します。

daemon=300 # check every 300 seconds
(上記がIPアドレスをチェックする周期。単位は秒。好みにより数値を変える。)

(まずは最新のグローバルアドレスを見つけ出す設定)
我が家のルータはコレガのCG-WLBARGL。
ルータのWAN側のグローバルIPアドレスを表示する画面(例:192.168.1.xxx/st.php)を開き,
グローバルIPアドレス(A)を示す文字よりも手前の部分でそのページ内でユニークな
キーワード(B)を探す。(A)と(B)の間にIPアドレスやネットワークアドレスがあっては
ダメ。また,日本語をキーワードにしてもうまくいかない。

## To obtain an IP address from FW status page (using fw-login, fw-password)
#use=fw, fw=192.168.1.254/status.htm, fw-skip='IP Address' # found after IP Address
 ↓
use=fw, fw=192.168.1.xxx/st.php, fw-skip='Comuufa-ODN' # found after IP Address
(Comuufa-ODNというキーワードが表示されるグローバルIPアドレスの直前にあった)


(DynDNSに登録してあるログイン名とパスワードを設定)
#login=your-login # default login
 ↓
login=xxxxxxxx # default login
#password=test # default password
 ↓
password=yyyyyyyy # default password

(自宅サーバのhostanameを設定する)
##
## dyndns.org dynamic addresses
##
## (supports variables: wildcard,mx,backupmx)
##
# server=members.dyndns.org, \
 ↓
server=members.dyndns.org, \
(コメントマーク#を外す)

# protocol=dyndns2 \
 ↓
protocol=dyndns2 \
(コメントマーク#を外す)

# your-dynamic-host.dyndns.org
 ↓
kopanda.selfip.com
(コメントマーク#を外し,自宅サーバを指定する)


(4)動作確認
以下を実行し,DynDNSのサイトで正常にグローバルIPアドレスが登録されたかを
確認する。正しいIPアドレスが表示されていなければ,上記(3)のキーワード
を変えてうまくグローバルIPアドレスがつかまるようなキーワードを再度探す。
# ddclient -daemon=0 -debug -verbose -noquiet

(5)サービスの起動
# service ddclinet start


(6)再起動時に自動起動するように設定する
# chkconfig --add ddclient
# chkconfig --list ddclient
ddclient 0:off 1:off 2:on 3:on 4:on 5:on 6:off
↑このようにレベル3がonになっていればOK.


これで,サービスが起動したのですが,あるときサービスの状態を見たら
止まっていました。
原因はどうも以下のディレクトリがなかったからのようです。
ですから,ディレクトリを作っておきます。
# makedir /var/cache/ddclient


これで,いまのところサービスは正常に動いています。
あとは,念のため,SNMPにてddclientのサービスがダウンしたときに
サービスの再起動をかけるように設定しました。

トラックバック(1)

トラックバックURL: http://kopanda.selfip.com/mt/mt-tb.cgi/50

ルータを変えたため,こちらの記事の方法ではグローバルIPアドレスを取得できなくな... 続きを読む

コメントする