玄箱debianでddnsへ対応
以前起てたサーバーでは、DDNSへIPを更新するためにgdipc.plを使用していました。 定期的に更新してもいいのですが、DDNSサーバーへの負担を減らすため WAN側のアドレスが変更になったときのみ更新するようにします。 そのスクリプトの中でw3mを使っているので、w3mをインストールします。
#apt-get install w3m
便利ですね。libgc6とlibgpmg1に依存関係?があるようで一緒にインストールされます。 インストールが終わったので、ためしにhtmlを取得してみます。
#w3m -dump_source http://***.***.***/hoge.html
htmlが表示されれば成功です。
次に、gdipc.plを/usr/ddnsへ置きgdipc.plの環境を設定します。(例は家サーバーです)
#perl gdipc.pl -c
Can’t locate Digest/Perl/MD5.pmと表示されました。 どうやらMD5関係のモジュールが入っていないようです。
#apt-get install libdigest-md5-perl
これで、MD5のモジュールがインストールされます。
#perl gdipc.pl -c
Using Update Configuration Mode
Configuration file name: /root/.GnuDIP2
Username: (家サーバープロジェクトのユーザ名)(サブドメイン名)
Domain: (ドメイン名)(例 dip.jp)
Connect by direct TCP (d) or web server (w) [d]: d
GnuDIP Server - host[:port]: ieservet.net
Password: (家サーバープロジェクトのパスワード)
Cache File [/root/.GnuDIP2.cache.aaa.bbb.ccc]:
Minimum Seconds Between Updates [0]:
Maximum Seconds Between Updates [2073600]:
これで、DDNSの更新は行えるはずです。
以前作成したupdateip.pl(WAN側アドレスの変更を確認するスクリプト)を/usr/ddnsへ置きます。 cronでのスケジュールを設定します。
# crontab -e
以下の行を追加します。
*/30 * * * * root perl /usr/ddns/updateip.pl
00 5 * * 0 root rm -f /usr/ddns/PRV_IP.dat
30分毎にチェックを行い、日曜日の午前5時には強制的にファイルを削除して DDNSサーバーへアドレスを更新します。