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アドレスが変化したら更新する。