設定 - DDNS
概要
DDNS (ダイナミックDNS) は、動的に変化するIPアドレスに対して、固定のドメイン名を関連付けることができるサービスである。
一般的な家庭用インターネット回線では、ISPから割り当てられるグローバルIPアドレスは定期的に変更される場合が多いが、
DDNSを利用することにより、変更されるグローバルIPアドレスに常に同じドメイン名でアクセスすることが可能になる。
具体的な仕組みとしては、ユーザのネットワーク機器 (HGW、ルータ等) やPCにDDNSクライアントソフトウェアをインストールして、定期的にグローバルIPアドレスの変更を監視する。
IPアドレスが変更された場合、DDNSサービスプロバイダに対して自動的に更新情報を送信する。
例えば、example.ddns.netというドメイン名を取得した場合、グローバルIPアドレスが203.0.113.1から203.0.113.2に変更されたとする。
この時、DDNSサービスが自動的に新しいIPアドレスとドメイン名の紐づけを更新する。
そのため、ユーザは常に同じドメイン名でアクセスすることができる。
この技術は、特に以下に示すような用途で使用されている。
- 自宅サーバの運用 (自宅でWebサーバを構築する場合は、DDNSは必要不可欠である)
- リモートアクセス環境の構築
- 監視カメラシステムの遠隔アクセス
DDNSサービスを利用する場合は、多くの場合、サービスプロバイダへの登録が必要となる。
無料サービスと有料サービスが存在しており、用途に応じて選択することができる。
また、最近のルータには、DDNS機能が標準で搭載されているものも多く、設定も比較的簡単に行うことができるようになっている。
セキュリティの観点からは、DDNSを利用する場合は適切なファイアウォール設定やアクセス制御を行うことが重要である。
また、定期的なパスワード変更やアクセスログの確認等も推奨される。
DDNSサービスへの登録
DDNS Now
DDNS Nowは、2013年から運用している利用料無料のダイナミックDNSサービスである。
料金 | 永久無料 (全機能) |
利用期間 | 無期限 (定期的な更新も不要) |
プライバシー | 登録にメールアドレスや個人情報は不要。 一部の機能のご利用や、AIがリスクと判定した登録には本人確認を実施する場合がある。 |
更新間隔 | 制限なし |
更新回数 | 制限なし |
ドメイン数 | 1 (ユーザ名.f5.si) |
対応レコード | A / AAAA / CNAME / ワイルドカードCNAME / TXT / URLリダイレクト / サブドメイン / NS MXレコードは使用できない。 また、NSレコードの設定を行う場合は、日本の電話番号が必要となる。 |
TTL | 60秒 |
更新方法 |
|
DNSサーバロケーション | 日本 (東京) を含む世界29地点 最も地理的に近いサーバが応答 |
Public Suffix List | 対応済み (DDNS Nowで取得したドメインは独自ドメインとして取り扱われ、Cloudflare、AdSense、Bluesky等に登録が可能) |
- DDNS Nowの公式Webサイトにアクセスする。
- まず、希望するサブドメインを入力する。
- 例えば、mydomain.f5.siのような形式になる。
- サブドメインには、1文字以上の半角英字 (A~Z, a~z)、半角数字 (0~9)、ハイフン (-) が使用できる。
- 続いて、パスワードを設定する。
- 登録完了後、ログインすると以下に示すの情報が表示される。
- 現在のIPアドレス
- 最終更新日時
- DDNSの更新用URL
ieServer.Net
ieServer.Netは、1999年からサービスを開始しており、長年にわたって無料のDDNSサービスを提供してきた老舗のサービスである。
多くの個人ユーザに愛用されており、特に日本国内での知名度が高いサービスである。
しかし、2021年をもってサービスを終了している。
この終了は、長年の無料サービス提供による運営コストの増加やシステムの維持管理の負担が大きな要因とされている。
ieServer.Netのサービス終了に伴い、ユーザには代替サービスへの移行が推奨されている。
代替サービスとしては、以下に示すようなDDNSプロバイダが挙げられる。
- MyDNS
- No-IP
- Cloudflare
- Duck DNS
Cronでの自動更新
DDNS Now
Cronを設定して、定期的にIPアドレスの確認・更新を行う。
まず、Cronの設定ファイルを開く。
sudo crontab -e
# 1分ごとにIPアドレスを確認・更新する 0-59 * * * * wget -O DDNSNow_update.log "https://f5.si/update.php?domain=<サブドメイン名>&password=<パスワード もしくは APIトークン>" # IPv6接続の環境において、AAAAレコードも更新する場合は、以下に示す設定も追加 0-59 * * * * wget -O DDNSNow_update.log "https://v6.f5.si/update.php?domain=<サブドメイン名>&password=<パスワード もしくは APIトークン>"