注記
Squarespace が Google Domains からすべてのドメイン登録と関連する顧客アカウントを買収 され、2024 年 7 月 10 日をもって、すべてのドメインが Squarespace に移管されました。
また、SquarespaceはダイナミックDNSをサポートしていません。
よって、この記事の方法は利用できなくなりました。
はじめに
Google Domains でドメインを取得したので、自宅の Global IP を DDNS で登録をしてみた
使用した機器は自宅ラボルータにしている EdgeRouterX (略称 ER-X) を使用した
実際にやってみると簡単だった。やり方メモを記載しておいてます
設定・確認手順
内容は簡単で、設定で 2ステップ, 確認で 1ステップ
- Google Domains で 合成レコード「ダイナミックDNS」を追加
- EdgeRouterX で ddns 設定
- 登録確認
1. Google Domains で 合成レコード「ダイナミックDNS」を追加
Google Domains へログインする
https://domains.google.com/registrar
DNS 設定画面へ移動して、下記画面のように設定する(参考サイトそのまま)
- DNS メニューを開く
- 合成レコードまでスクロール
- ダイナミックDNS を選択
- DDNS で割り当てるサブドメインを入力
- 追加をクリック

合成レコード追加が完了したら、認証情報を下記画面のように取得する
- 「ダイナミック DNS」の「>」クリックして詳細情報を開く
- 今回の登録ドメインを確認
- 「認証情報を表示」をクリック
- 表示される「ユーザー名」「パスワード」をメモしておく(ER-X設定に必要)

以上で、Google Domains の登録完了
2. EdgeRouterX (ER-X) で ddns 設定
Google Domains で生成されたパラメータ(ユーザー名&パスワード)を元に、下記設定を ER-X に設定する
Google Domains は dyndns2 プロトコルを使用するので、protocol dyndns2
を指定する
set service dns dynamic interface eth0 service custom-googledomains host-name [登録する Aレコード名]
set service dns dynamic interface eth0 service custom-googledomains [Google Domains で表示される「ユーザー名」]
set service dns dynamic interface eth0 service custom-googledomains password [Google Domains で表示される「パスワード」]
set service dns dynamic interface eth0 service custom-googledomains protocol dyndns2
set service dns dynamic interface eth0 service custom-googledomains server domains.google.com
set service dns dynamic interface eth0 web dyndns
以上で、EdgeRouterX での設定完了
3. 登録確認
EdgeRouterX での確認
DDNS 登録状況は、show dns dynamic status
コマンドで表示可能
$ show dns dynamic status
interface : eth0
ip address : [登録する Public IP が表示される]
host-name : [登録する Aレコード名]
last update : [最後に Update した時刻表示]
update-status: good
update-status
が good であれば登録 OK
Google Domains での確認
登録時同様に、ダイナミック DNS を開いて登録したサブドメインを見る
登録完了していれば、対象の登録したサブドメインのデータ
に Public IP が表示されてれば OK
名前解決での確認
実際に名前解決もdig
やnslookup
で確認可能
% nslookup xxx.xxx.xxx
Server: ***.**.**.*
Address: ***.**.**.*#53
Non-authoritative answer:
Name: xxx.xxx.xxx
Address: x.x.x.x
% dig A xxx.xxx.xxx +noall +answer
; <<>> DiG 9.10.6 <<>> A xxx.xxx.xxx +noall +answer
;; global options: +cmd
xxx.xxx.xxx. 69 IN A x.x.x.x
名前で、IPが引ければOK
以上で、登録確認完了
参考
Google Domains ヘルプ ダイナミック DNS
https://support.google.com/domains/answer/6147083?hl=ja
追記. VM で Google Domains への登録
クラウド上に踏み台サーバを置いているので、DDNS 設定をしたのでその内容を記載する
対象サーバへ ddclient
をインストールする
yum install ddclient
/etc/ddclient.conf
を編集する
- use=web~
- interface へ直接 Public IP を振られない場合は、外部サイトのweb表示結果を使うため use=web~ をコメントアウト解除する
- protocol
- googledomains を指定
- login
- サーバ用に登録した DDNS で
認証情報を表示
で出力されるユーザー名を指定 (1.と同じ)
- サーバ用に登録した DDNS で
- password
- サーバ用に登録した DDNS で
認証情報を表示
で出力されるパスワードを指定 (1.と同じ)
- サーバ用に登録した DDNS で
- my.domain.tld, otherhost.domain.tld
- my.domain.tld は google domains で購入したドメイン (例 xxx.dev)
- otherhost.domain.tld は DDNS でホスト用に設定した名前 (例 bastion.vm.xxx.dev)
- # use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address
+ use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address
+ protocol=googledomains,
+ login=my-auto-generated-username,
+ password=my-auto-generated-password
+ my.domain.tld, otherhost.domain.tld
ddclient を起動
systemctl start ddclient
systemctl enable ddclient