EveryDNS.netサイトにログインして
左側の、「Dynamic Domains:」という欄の説明に、「 You must use a client」と書かれているので、そこのClient(http://www.everydns.com/eDNS.pl.txt)を使用するのでダウンロードする。
これは、IPの更新のみ行うツールなので、IPアドレスが変わるたびに更新を行うための簡単なプログラムを書く。
RT-200KI で NAPT/NATにて プライベートIPを使用する場合、IPアドレスの取得は、その管理画面のIPアドレスを取得する。
以下は、具体的なプログラム例:
$ cat ip_update.pl
#!/usr/bin/perl
use strict;
use Web::Scraper;
use URI;
my $fartime = time;
my $force = 60*60;♯ 強制的に更新を行う間隔
my $sleep_sec = 5;♯ IPアドレスを確認(取得)する間隔
my @domainlist = qw{ # ここに更新対象のドメインを列挙する
www.mydomain.jp
www1.mydomain.jp
www2.mydomain.jp
};
my $farip='';
while(1){
my $uri = URI->new('http://loginname:password@ntt.setup/cgi-bin/paractl.cgi?st_state');
my $scraper = scraper {
process '/html/body/form/div/table[10]/tr[4]/td[4]', 'ip'=>'TEXT';
};
my $result = $scraper->scrape($uri)->{ip};
my ($ip) = $result =~ m{(\d+\.\d+\.\d+\.\d+)/};
if (($fartime + $force < time) or ($farip ne $ip)){
$farip = $ip;
$fartime = time;
for my $domain( @domainlist ){
my $cmd = "/path/eDNS.pl -u Username -p Password -ip $ip -d $domain";
print $cmd, "\t";
print `$cmd`;
}
}
sleep($sleep_sec);
}
__END__
ログイン名やパスワード、更新対象ドメインを、適切に設定して、daemontools などで実行させておく。