みなさん、こんにちは。
Raspberry Piなどを使って自宅サーバーを運用していると、「外出先から接続したい!」と思うことがありますよね。ポート開放は済ませたけど、自宅のIPアドレスが変わってしまって接続できない、そんな経験はありませんか?
この記事では、家庭用のインターネット回線で固定IP契約をしていなくても、ダイナミックDNS(DDNS)という仕組みを使って、IPアドレスが変わってもドメイン名でアクセスできるようにする方法を解説します。今回は、その中でも長年にわたり信頼されている無料サービス mydns.jp を使って、独自ドメインを取得し、IPアドレスを自動通知する手順をご紹介します。
1. mydns.jp とは?
mydns.jp は、日本国内で古くから運営されている無料のDDNSサービスです。その最大の特徴は、シンプルさと信頼性。無料で利用できるだけでなく、以下のようなメリットがあります。
- 無料で利用可能
- 独自ドメインまたは提供されるサブドメインが利用できる
- IPv4 / IPv6 両方に対応
- IP更新が簡単なHTTPアクセスで通知可能
- 長年の実績があり、Raspberry Piや自宅サーバーでの利用に最適
mydns.jp は、複雑な設定を必要とせず、誰でも手軽にDDNS環境を構築できるため、初めてDDNSに触れる方にもおすすめです。
2. mydns.jp アカウント登録
まずは mydns.jp のサービスを利用するためのアカウントを作成します。
- mydns.jp のトップページにアクセスし、画面右上の「JOIN US」をクリックします。
- 新規登録フォームが表示されますので、以下の情報を入力します。
- 氏名
- 国名 (お知らせメールの言語に関係します)
- 住所
- 電話番号
- メール1
- 「確認キー」を入力し、「確認」ボタンをクリックします。
- 登録したメールアドレスに登録完了メールが届きます。
これで、mydns.jp を利用するための準備が整いました。
3. ドメイン設定
次に、自宅サーバーに割り当てるドメインを設定します。
mydns.jpの管理画面にログインし、DOMAIN INFO画面を表示します。
ここで、取得したサブドメインまたはお持ちの独自ドメインの設定を行います。
3.1 Domain欄
Domain
には、取得した無料サブドメイン名(例:example.mydns.jp
)または独自ドメイン名を入力します。
3.2 MX (FQDN)欄(メールを使わない場合は空欄でOK)
- メールサーバーを使う場合は、そのホスト名(FQDN形式)を入力します。
- メール機能を使わない場合は空欄のままで構いません。
- もしメールを使う場合は、Priority(優先度)も設定します(小さい数値が高優先度)。
3.3 Hostname / Type / Content / Target ID欄
この部分は、AレコードやCNAMEなどのDNSレコード設定を行う場所です。
- Hostname
- サブドメイン部分だけ入力します。
- 例)
www
→www.example.mydns.jp
となる- 空欄(もしくは
@
) →example.mydns.jp
そのもの *
→ ワイルドカードで全サブドメインを対象にする
- Type
A
(IPv4アドレス)またはAAAA
(IPv6アドレス)を選択します。
- Content
- 基本的には空欄でOKです。
- mydns.jpではTarget IDと紐付けてIPを自動反映します。
- 基本的には空欄でOKです。
- Target ID
- 自分のアカウント固有のTarget ID(例:
mydns252060
)を選びます。 - Target IDはIPアドレス更新時に利用され、ここに紐づくレコードが自動で書き換わります。
- 自分のアカウント固有のTarget ID(例:
入力内容を確認後、確認ボタンをクリックしてください。これでドメイン設定は完了です。
設定が完了したら、いよいよIPアドレスの通知設定に入ります。
4. IPアドレスの通知方法
mydns.jp では、認証付きのHTTPアクセスを行うことでIPアドレスを通知し、ドメインと紐づけます。この際、アクセス元のIPアドレスが自動的にドメインのDNSレコード(IPv4の場合はAレコード、IPv6の場合はAAAAレコード)に登録されます。
4.1 手動で更新する
まずは、手動でIPアドレスを更新するコマンドを実行してみましょう。以下のコマンドをターミナルで実行してください。
wget --user=マスターID --password=パスワード "https://ipv4.mydns.jp/login.html" -O /dev/null
このコマンドを実行すると、マスターID
とパスワード
で認証を行い、アクセス元のIPv4アドレスが mydns.jp に通知されます。--user
と--password
の後ろには、mydns.jpに登録したマスターIDとパスワードをそれぞれ入力してください。-O /dev/null
は、wgetの出力を破棄するためのオプションです。
もし、IPv6環境も利用している場合は、以下のコマンドも実行してください。
wget --user=マスターID --password=パスワード "https://ipv6.mydns.jp/login.html" -O /dev/null
これで、手動でのIPアドレス更新が完了しました。
5. IPアドレスの自動通知
IPアドレスはいつ変わるか分かりません。そこで、自動でIPアドレスを通知する仕組みを構築しましょう。Raspberry Pi OSのようなLinuxでは、cronという機能を使って定期的にコマンドを実行できます。mydns.jpでは、IPアドレスの更新を1日1回行うことが推奨されています。
5.1 スクリプトの作成
cron.daily
というディレクトリにスクリプトを配置すると、毎日自動で実行されます。以下の内容でスクリプトを作成しましょう。
sudo nano /etc/cron.daily/mydns-update
nano
エディタが開いたら、以下の内容をコピー&ペーストしてください。マスターID
とパスワード
はご自身のものに書き換えてください。
#!/bin/bash
# IPv4用のIPアドレス更新
/usr/bin/wget --user=マスターID --password=パスワード \
"https://ipv4.mydns.jp/login.html" \
-O /dev/null
# IPv6用のIPアドレス更新
/usr/bin/wget --user=マスターID --password=パスワード \
"https://ipv6.mydns.jp/login.html" \
-O /dev/null
5.2 実行権限の付与
作成したスクリプトに実行権限を付与します。
sudo chmod +x /etc/cron.daily/mydns-update
これで、毎日 /etc/cron.daily
に配置したスクリプトが自動的に実行され、IPアドレスが更新されるようになります。
6. 動作確認
本当にIPアドレスが自動で更新されているか確認しましょう。
- mydns.jpの管理画面にログインします。
- 「現在のIPアドレス」が正しく更新されていることを確認します。
もしすぐに動作を確認したい場合は、作成したスクリプトを直接実行してみましょう。
Bash
sudo /etc/cron.daily/mydns-update
実行後、mydns.jpのLog Infoを確認してみてください。IPアドレスが最新のものに更新されていれば成功です。
7. セキュリティに関する注意点
作成したスクリプトには、マスターIDとパスワードが平文で記載されています。セキュリティ上のリスクを避けるため、以下の対策を行うことを強く推奨します。
- スクリプトのファイル権限を制限する
- スクリプトがrootのみしか閲覧・編集できないように、ファイル権限を
600
に設定しましょう。sudo chmod 600 /etc/cron.daily/mydns-update
- スクリプトがrootのみしか閲覧・編集できないように、ファイル権限を
- より安全な認証方法を検討する
- より安全な方法として、
~/.netrc
ファイルに認証情報を保存する方法があります。この方法を使えば、スクリプト内にパスワードを記載せずに済みます。
- より安全な方法として、
まとめ
mydns.jp を使ったDDNS設定方法を解説しました。
- mydns.jpは、無料で使えるシンプルで信頼性の高いDDNSサービスです。
- アカウント登録後、提供サブドメインや独自ドメインを簡単に設定できます。
- 認証付きHTTPアクセスを利用して、手動または自動でIPアドレスを通知できます。
- cronを使えば、スクリプトを定期的に実行し、IPアドレスの自動更新が可能です。
これで、IPアドレスの変更を気にすることなく、自宅サーバーやRaspberry Piにドメイン名でどこからでもアクセスできるようになりました。
自宅サーバー活用の幅がぐっと広がるこのDDNS設定、ぜひ皆さんも試してみてください。
本日も最後までお読みいただきありがとうございました。
それでは、よいDDNSライフを!