LoginSignup
8
6

More than 5 years have passed since last update.

curl で No-IP のIPアドレスを更新する方法

Last updated at Posted at 2015-01-10

概要

自宅サーバを運用している場合、IPアドレスが動的に変わることがよくあります。
そんなときは無料 Dynamic DNS サービスを使うと常に同じホスト名で動的に変わるIPアドレスを更新することができます。

自分は No-IP を使ってますが、ここはIPアドレスの更新に Web API が提供されています。
IPアドレスの更新方法として DiCE クライアントがよく紹介されていますが、 Web API が提供されているのでクライアントをインストールする必要ありません。curl コマンドで簡単に更新する事が出来ます。

更新方法

curl "https://YOUR-USERNAME:YOUR-PASSWORD@dynupdate.no-ip.com/nic/update?hostname=YOUR-HOSTNAME"

YOUR-USERNAME, YOUR-PASSWORD, YOUR-HOSTNAME を自分のものに変更してください。

参考 https://www.noip.com/integrate/request

Linux サーバなどの場合は cron と組み合わせると定期的にIPアドレスの更新が出来るようになります。

注意
cron に登録する場合、更新頻度が頻繁になると No-IP サーバに対して負荷がかかるようになるので自重しましょう。私は2時間に1回かつ日中帯(外出している時だけ)にしています。

cron の例

40 8-23/2 * * * curl -s "https://YOUR-USERNAME:YOUR-PASSWORD@dynupdate.no-ip.com/nic/update?hostname=YOUR-HOSTNAME" > /dev/null

生のパスワード が crontab に登録されるのが嫌な場合は次のように暗号化できます。

% echo -n YOUR-USERNAME:YOUR-PASSWORD | base64 
WU9VUi1VU0VSTkFNRTpZT1VSLVBBU1NXT1JE
#=> この "WU9VUi1VU0VSTkFNRTpZT1VSLVBBU1NXT1JE" をBasic 認証として登録

40 8-23/2 * * * curl -s -H "Authorization: Basic WU9VUi1VU0VSTkFNRTpZT1VSLVBBU1NXT1JE" "https://dynupdate.no-ip.com/nic/update?hostname=YOUR-HOSTNAME" > /dev/null
8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6