ログを見て予測されることは次のようなことである、自分のサーバで動いているアップデータはno-ipサーバにtcp/8245からインストール時に設定された更新間隔で更新情報を送り、その上で、数日おきにno-ipサーバからtcp/8245に更新のあったサーバの生存確認が送られてくる。図にすれば下のような感じだ。9割方嘘だと思う。なぜなら、ポートスキャナでポートスキャンしてみたところ、8245番はclosed。どうやって確認しているんだ?もしかして/etc/init.d/noip2に実行権が付いていなかったのか?chmod 755 /etc/init.d/noip2なのか?
+-----------+ +--------------+ | | @30 min | | | |tcp/8245 ------> tcp/????| | | My Server | | no-ip Server | | |tcp/8245 <------ tcp/????| | | | @5 day | | +-----------+ +--------------+
上の図に示したIPパケットを許可するために、下のように設定を追加しました。
# iptables -A INPUT -p tcp --sport 8245 -j ACCEPT # iptables -A OUTPUT -p tcp --dport 8245 -j ACCEPT
アップデータがデーモンとして起動しているかどうかを確認するために、下のようにコマンドを叩きました。
# /sbin/chkconfig --list ... noip2 0:off 1:off 2:off 3:on 4:on 5:on 6:off ...
設定されていない場合は下のようにします。2つは等価です。
# /sbin/chkconfig noip2 on # /sbin/chkconfig --level 345 noip2 on
僕はno-ipのアップデータはどこかのサーバと相互に通信し合うことを知らずにいました。というか、アップデータはOUTPUTしかしないものだと思い込んでいました。OUTPUTのポリシーはACCSPTなので、iptablesに特別な設定をしなくても更新されるものだとばかり思ってました。90日後にメールが送られてきました。でもおかげで、メール内のURLにアクセスすれば、アップデータが不要であることも勉強しました。懺悔。