以前の方法では毎回MyDNS.JPにアクセスする形になり、あまりきれいではないので、グローバルIPアドレスが変わった時だけMyDNS.JPにアクセスしてhttp更新することを企みました。
ここの「>>あなたのおうちはどこですか?」とここの「ddo.jp にADSLのグローバルIPアドレスを自動登録する 」を参考にして、DynDNSのグローバルIP表示サービスからwgetでグローバルIPを取込、前回と比べて違っていたら前回のlynxを使ったhttp更新をさせるというスクリプト(mydnsupdate.sh)を書いてみました。
#! /bin/sh
/sw/bin/wget checkip.dyndns.org -q -O – | grep ‘Address:’ | cut -d ‘: ‘ -f 2 | cut -d ‘<' -f 1 > ip_new
cmp ip_new ip_old > /dev/null
if [ $? != 0 ] ; then
cp -f ip_new ip_old
/sw/bin/lynx http://www.mydns.jp/login.html -dump -auth=ID:PASS
fi
http更新もwgetでやった方がスクリプトとしてもきれいだとはおもうのですが、一応これで期待通りの動作をしてくれたので、これをルートに置いて後はCronnixでsystemのcrontabに登録しました。ルータの再起動をしない限りそう頻繁にグローバルIPは変わらないようなので、とりあえずは3時間おきに動くようにしました。できればルータ(WebCasterV110)から直接グローバルIPを取れればいいのですがうまく取り込めず、value-domainのDDNSの画面からもうまく出来なかったのでDynDNSの方を利用することにしました。