🐥
curl と cron で No-IP の IPアドレスを自動更新
curl と cron で No-IP の IPアドレスを自動更新
概要
自宅でサーバを運用している際に、IPアドレスが動的に変更されることがあります。
常に同じホスト名でアクセスできるようにするため、Dynamic DNS サービスの No-IP を使用しています。
No-IP では定期的にIPアドレスの更新が必要ですが、それを自動で更新できるようにした方法を記載します。
自動更新方法
以下の方法で自動更新を実現しました。
- curl でIPアドレス更新用の Web API を叩くシェルスクリプトを作成
- cron でシェルスクリプトを定期的に実行
それぞれの作成(設定)方法を説明します。
シェルスクリプトを作成
No-IP では、IPアドレスを更新するための Web API が提供されています。
詳しくは https://www.noip.com/integrate/request に記載があります。
curl コマンドで上記の Web API を叩くシェルスクリプトを作成しました。
#!/bin/sh
USERNAME="YOUR USERNAME" # No-IPのユーザ名
PASSWORD="YOUR PASSWORD" # ユーザのパスワード
HOSTNAME="YOUR HOSTNAME" # 更新するホスト名
curl "https://$USERNAME:$PASSWORD@dynupdate.no-ip.com/nic/update?hostname=$HOSTNAME"
YOUR USERNAME
, YOUR PASSWORD
, YOUR HOSTNAME
を各自の環境に合わせて変更してください。
cron の設定
毎日 00:00 にシェルスクリプトを実行するように設定しました。
ユーザやファイルパスは各自の環境に合わせて変更してください。
0 0 * * * user /home/user/noip/update_address.sh
Discussion