てきとうなメモ

本の感想とか技術メモとか

no-ipのDDNSサービスで1ヶ月ごとに名前解決できなくなる問題

Why is my host not updating or why is it pending deletion? – Support | No-IP

no-ipという無料のDDNSサービスを使っているのだが、このサービスは30日間更新しないと「Pending Deletion」の状態になり名前解決できなくなる。しかし、ddclient等で定期的に更新しようとしてもうまくいかない。これはddclientがキャッシュして、IPに変更がないと更新リクエストを投げないからだが、強制的に投げるようにしても今度はno-ip側で前回と同じIPだからと弾いてしまう。

何か方法はないかなと探していると、ddclientのサイトで議論があり、一度適当なIPに変更して再度本来のIPに戻せばいいのではという意見があった。(リンク先はddclientにそういうオプションをつけたらどうかという話になっている)

なるほどと思ったので以下のようなスクリプトをcron.weeklyに入れてみた

#!/bin/sh

/usr/sbin/ddclient -ip 0.0.0.0
sleep 40
/usr/sbin/ddclient

40秒sleepしているのは、連続してip変更を実行しようとすると30秒ぐらい待ってくれと言われるからである。こうすると1週間に40秒だけ名前解決ができなくなるが、自分のために構築しているサイトなので、その点は目をつぶって良いように思う。