【Ubuntu/Linux】お名前.comのDDNS(動的IP)を自動更新する方法!初心者向け完全ガイド
自宅サーバーを公開する際、IPアドレスが変わるたびに手動で設定を直すのは大変ですよね。お名前.comにはIPアドレスを自動更新してくれる便利な公式クライアントソフトがありますが、実はWindows版しか用意されていません。
「じゃあLinux(Ubuntuなど)の自宅サーバーではどうすればいいの?」と悩む方に向けて、有志の方が公開しているプログラムを使って、1時間に1回自動でIPアドレスを更新(DDNS設定)する手順を初心者向けに分かりやすく解説します!
今回は、GitHubで公開されている [T-H-Un/onamae_ddns](https://github.com/T-H-Un/onamae_ddns.git) というツールを使用させていただきます。
—
ステップ1:プログラムをダウンロードする
まずは、Ubuntuのターミナル(端末)を開き、GitHubからツールをダウンロード(クローン)します。以下のコマンドをコピーして実行してください。
sudo git clone https://github.com/T-H-Un/onamae_ddns.git
ダウンロードが完了したら、新しくできた `onamae_ddns` というフォルダの中に移動します。
cd onamae_ddns
—
ステップ2:自分の情報(ID・パスワード)を設定する
ダウンロードしたフォルダの中には `ddns.cpp` という設計図(ソースコード)が入っています。このファイルを編集して、あなたのお名前.comの情報を書き込みます。
ターミナルでテキストエディタ(nano)を使ってファイルを開きます。
sudo nano ddns.cpp
ファイルが開いたら、上部にある4行を自分の情報に書き換えます。十字キーでカーソルを動かして編集してください。
const char* USER_ID= "あなたのお名前ID(数字など)";
const char* PASS= "あなたのパスワード";
const char* HOSTNAME="";
const char* DOMNAME="あなたのドメイン名(例:example.com)";
* お名前ID:お名前.comのログインに使うIDです。
* パスワード:ログイン用のパスワードです。
* HOSTNAME(ホスト名):サブドメイン(`www`など)を使わない場合は、上記のように空欄 `””` のままでOKです。
* DOMNAME(ドメイン名):取得したドメイン名を入力します。
⚠️ 初心者がつまずきやすい注意点
編集する際、元の文字を消し忘れて `const char* DOMNAME=”xxx.com”;const char* USER_ID= “xxxx”;` のように後ろにくっついてしまうと、後の手順でエラー(redefinition error)が出ます。必ず1行ずつスッキリ独立しているか確認しましょう!
書き換えが終わったら、以下の順番でキーを押して上書き保存します。
1. `Ctrl` + `O`(保存の準備)
2. `Enter`(ファイル名を確定して保存)
3. `Ctrl` + `X`(画面を閉じる)
—
ステップ3:プログラムを組み立てる(コンパイル)
編集した `ddns.cpp` はただのテキストなので、これをLinuxが実行できる「プログラム」に変換(コンパイル)します。
以下のコマンドを1つ打つだけで、自動的に変換してくれます。
sudo make
エラーが出ずに次の入力行が表示されれば、変換は大成功です!フォルダの中に `onamae_ddns` という実行ファイルが完成しています。
—
ステップ4:テスト実行してみる
タイマーをセットする前に、まずは手動で動かして通信テストをしてみましょう。以下のコマンドを実行します。
sudo ./onamae_ddns
画面にズラッと文字が流れ、以下のように `000 COMMAND SUCCESSFUL` と表示され、最後に現在の自宅のIPアドレスが表示されれば大成功です!無事にお名前.comのサーバーと通信し、IPアドレスが更新されました。
000 COMMAND SUCCESSFUL
.
read:errno=0
124.xx.xx.xx
—
ステップ5:1時間に1回、自動で実行するようタイマーをセットする
最後に、この更新作業をLinuxに全自動でやってもらうための設定(cron)を行います。
以下のコマンドを実行して、タイマー設定画面を開きます。
sudo crontab -e
*※初めて実行する場合、「どのエディタを使いますか?」と聞かれます。一番簡単な `1`(/bin/nano)を入力してEnterを押してください。*
画面が開いたら、一番下までカーソルを移動し、以下の1行を追記します。
(※ `/home/ユーザー名/` の部分は、ご自身の環境のユーザー名に合わせて変更してください)
0 * * * * cd /home/ユーザー名/onamae_ddns && ./onamae_ddns >/dev/null 2>&1
* `0 * * * *`:毎時0分(1時間に1回)実行するという意味です。
* `cd /home/…`:先ほどのフォルダに移動してプログラムを動かします。
* `>/dev/null 2>&1`:不要なログを捨ててシステムを軽く保つための設定です。
追記できたら、ステップ2と同じように `Ctrl` + `O` → `Enter` → `Ctrl` + `X` で保存して閉じます。
画面に `crontab: installing new crontab` と表示されれば、すべての設定が完了です!
まとめ
これで、あなたの自宅サーバーのIPアドレスが変わっても、1時間に1回自動的にお名前.comに新しいIPアドレスを報告してくれるようになりました。Windows公式ツールがなくても、これで安心してLinuxでの自宅サーバー運営を楽しめますね!