注意
文章の順序が狂ってるかもしれないので、やる前に念のためこの文を一通り見てください。
はじめに
皆さんはDynuを知っていますか?
Dynuはいわゆるネームサーバーです。
ネームサーバーとは大雑把に言うとドメインとIPアドレスを結びつけるものです。
ドメインにアクセスするとネームサーバーに対応するIPアドレスを取得し、そこにアクセスします。
しかし自分みたいにドメインをお名前.comなどで取得するとネームサーバーをお名前.comで使用できるのでDynuにする必要はないと思われます。
では何故Dynuを使用したのでしょうか。
Dynuを使っている理由
この世には固定IPと動的IPがあります。一般家庭は動的IPでIPアドレスが時々に変動します。自分もこれでした。
IPが変わるとドメインとIPの結びつけも変えないといけません。
ですが流石に手動でいちいち変えるのは極めてめんどくさいし、更新も遅れてしまいます。
そこでDynuです。
DynuはIPとの結びつけの設定を変更するAPIが公開されています。
これによって動的IPでもWebサイトを運営できるのでDynuを使っています。
準備
用意するもの
- サーバー
- ネット回線
下準備
- サーバーに何かしらのOSを用意(今回はRaspberryPi OS (64bit)です)
- httpsなど(必須ではないがあった方がいい)
- そのほかWebサイト公開の準備
設定
まずはDynuのアカウントを作ります。
https://dynu.com
次にコントロールパネルからDDNSサービスに行きます。
Addを押します。
好きな方を選んでドメインを設定します。
その後IPv4に現在のIPアドレスを入力します。
これで設定は完了です。
次にサーバーでIPを自動更新する設定をします。
サーバー側で決められた時間に一回以下を実行
IPアドレスをどっかのAPIなどで確認
DynuにIPを送信
Dynuは送信されたIPが現在の設定と違えば更新
ここからはラズパイの手順です。
もしかしたらLinuxも同じかも。
まずは好きな場所にdynu.shを作ります。
#!/bin/bash
# Dynu認証情報
USERNAME="あなたのdynuのユーザー名"
PASSWORD="あなたのdynuのログインパスワード"
# 更新するIPアドレス(自動取得する場合は curl で外部IPを取得)
MYIP=$(curl -s https://api.ipify.org)
# 更新対象ドメインを配列で指定
DOMAINS=("あなたのドメイン複数可")
# 実行ログ保存先(必要なら)
LOGFILE=~/dynu.log
# ドメインごとに更新
for DOMAIN in "${DOMAINS[@]}"; do
echo "Updating $DOMAIN with IP $MYIP"
curl -k "https://api.dynu.com/nic/update?hostname=$DOMAIN&myip=$MYIP&username=$USERNAME&password=$PASSWORD" \
>> $LOGFILE 2>&1
done
変数のところはあなたのものに置き換えてください。
あなたのドメイン複数可のところで複数入力するには
("example.com" "ex.example.com")
のようにしてください
そしてdynu.shのファイルの場所(絶対パス)を覚えてください。
次にターミナルなどで以下を実行してください。
chmod 700 あなたのdynu.shのファイルのパス
次に以下も実行してください。
crontab -e
そしたらなんか出てくるので以下を書き足してください。
*/5 * * * * dynu.shの絶対パス
5のところは更新頻度(分)です。好きに変えてください。
ちなみにレート制限があるかはわかりませんが2025/12/16の段階で2分に一回更新で運営している自分は今のところ一度も困ったことはありません。多分ないです。
ですが最低5分は間隔を空けた方がいいそうです。
それじゃ嫌だと言う方はIPをサーバーで検知して変わった時だけDynuを更新するシステムにしてください。
おわりに
これで設定が完了しました。
固定IPをわざわざ契約しなくてもWebサイトを作れるので是非活用してみてください!
わからないところがあれば生成AIに聞いてもらえれば確実です()
ここまで読んでくださってありがとうございました♪
また次の記事でお会いできるのを心よりお待ちしております!
間違っているところや誤字脱字があったらすいません。教えてくれたら直します。
参考 Copilot