🐥

curl と cron で No-IP の IPアドレスを自動更新

2024/09/25に公開

curl と cron で No-IP の IPアドレスを自動更新

概要

自宅でサーバを運用している際に、IPアドレスが動的に変更されることがあります。
常に同じホスト名でアクセスできるようにするため、Dynamic DNS サービスの No-IP を使用しています。
No-IP では定期的にIPアドレスの更新が必要ですが、それを自動で更新できるようにした方法を記載します。

自動更新方法

以下の方法で自動更新を実現しました。

  1. curl でIPアドレス更新用の Web API を叩くシェルスクリプトを作成
  2. 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