2015年9月21日月曜日

FreeBSD ddclient の設定見直し

ダイナミック DNS の IP アドレスの更新を行う ddclient の設定を見直しました。

見直しの経緯

2015年9月11日に ddclient が使用する IP 調査を内部で行うよう変更しました。
ddclient 用 IP チェックを内部化
http://near-unix.blogspot.jp/2015/09/ddclient-ip.html

この時には ddclient をインストールしてある自宅サーバ内にあるウェブサーバ(Apache)の機能を使って現在値の IP アドレスを取得するようにしていました。これは従来外部の IP 調査を行うウェブサイトから単純に切り替えただけでした。

その後、自宅サーバを再起動させたときなどに IP 調査が出来ないとシステムからの警告メールが一度だけ送信されることが判明しました。これは ddclient が自宅サーバの再起動のときに初回動作すると、まだウェブサーバが起動していないことに起因していました。
WARNING: cannot connect to localhost:80 socket: IO::Socket::INET: connect: Invalid argument

ddclient.conf の見直し

そこで ddclient の設定を見直しを行なってみました。 IP チェックの方法は、、設定ファイル(ddclient.conf)の "use=" の項目で変更します。ネット上を検索してみたところ "use=" で使用出来る手段は複数選べて、コマンドによる IP 取得ができる "cmd" が存在していることを知りました。
ddclient - Introduction about the supported routers
http://sourceforge.net/p/ddclient/wiki/routers/

この "use=cmd" を使って設定の見直しを行いました。
現在までに /usr/local/www/data/ipcheck/my-ip.html へ IP アドレスを保存している状況になっています。この my-ip.html を cat コマンドを使って標準出力させることで ddclient へ IP アドレスの受け渡しをするように変更しました。
ddclient.conf の見直し部分

use=web, web=localhost/ipcheck/my-ip.html

         ↓
use=cmd, cmd='cat /usr/local/www/data/ipcheck/my-ip.html'

見直しの結果

この変更によって自宅サーバを再起動しても上記の警告メールが届くことがなくなりました。またダイナミック DNS サーバへ IP アドレス更新も問題なく行うことができました。


0 件のコメント:

コメントを投稿