dyndns.com 用のシンプルなクライアント
dyndnsを調べてみると、IPアドレスを更新するには、以下のURLにアクセスするだけでよいようだ。
http://members.dyndns.org/nic/update?hostname=ホスト名&myip=IPアドレス
ただしこのページにはBASIC認証がかかっている。
dyndns用のクライアントを探したけど、どれも長くて管理が面倒くさそうなので自分で作ってみた。Linux用。wgetさえあれば動く。
crontab に以下のように登録すればOK。(20分おきの場合)
# crontab -e */20 * * * * /root/bin/dyndns_client.pl
- dyndns_client.pl
#!/usr/bin/perl use strict; use warnings; my $ID='ユーザID'; my $PW='パスワード'; my $MYHOST='ホスト名'; my $last_ip=`cat /tmp/last_ip`; my $current_ip = (`wget -q -O - "http://checkip.dyndns.org/"` =~ m/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/) && $1; `echo -n $current_ip > /tmp/last_ip`; if( $current_ip ne $last_ip ) { `wget -q -O - --http-user='$ID' --http-passwd='$PW' 'http://members.dyndns.org/nic/update?hostname=$MYHOST&myip=$current_ip'`; }
IDとパスワードとホスト名だけ変えればOK。IPアドレスが変化したら更新する。