DinamicDNSの自動更新
OpenBlockSが応答しなくなっていることに気付く。pingも通らず。 サーバが落ちてるか、ルータが落ちてるか、IPアドレスが 変わってしまったかのいずれかだ。どれも一年以上運用してきて 今まで無かったことだが、可能性として最もあり得るのは IPアドレスか?
家に帰ってみると、やはりIPアドレスが変わっていたので、 早速dyndns.orgでアドレス更新。今まで1年以上一度も変わったことが 無かったので何もしてなかったのだが、いざ変わってしまうとなす術がない。 やはり自動updateする仕組みを作らねば。
DynamicDNSのアドレス更新ツールを調べてみたところ、 いろんなものが山ほどあるのだが、DiCE、ddclientあたりが どうやら定番らしい。WindowsでやるならDiCEで決まりと 勧めている人が多い。がLinux版はベータでしかもバイナリしか 公開してない。作者はいかにもLinuxがわかってない。 ダメもとでapt-cache searchしてみると、なんとDebianの ddclientパッケージが用意されている。早速、apt-get installで インストール、質問に答えていくと/etc/ddclient.confが できあがる。Debian素晴らしい!と思いつつ、早速実行。
/usr/local/bin/ddclient
何事もなく終了。成功したら何も言わないのがUNIXの 流儀だが、さすがに設定がうまくいってるかどうかわからない、 使い方も良くわからないコマンドを初めて実行するのだから不安。 www.dyndns.orgで設定内容を確認すると、何と pegandgiff.dyndns.orgは192.168.xxx.xxxのプライベートになってる。 ダメじゃん、何でだー。
パッケージインストール時の設定で、interfaceを聞かれる部分があって、 何も考えずに"eth0"と答えたのだが、これがいけないらしい。 ここでは、登録するアドレスをどこから持って来るかを聞いていて、 ddclient.confの"use="に反映する。直接インターネットに晒されてれば これで良いのだが、わが家はルータが挟まってるので、 ルータの外側のアドレスを使わなければならない。 "use="の値によってそれも可能らしいが、対応するルータが限られている。 うちのはcoregaなんて日本のメーカだからねぇ... とりあえず、インターネット上のサーバにアクセスしてみて、 REMORE_ADDRを教えてもらうための"use=web"という設定にして、 正常動作を確認。
しかし、1年間変わらなかったアドレスが、変わってるかどうかチェックするために、 わざわざサーバに問い合わせるってのも、トラフィックの無駄だなぁと。 coregaのルータに、DynamicDNSの更新機能着いてないのかなぁ...