玄箱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サーバーへアドレスを更新します。