Google Domains アドレス取得
Google Domains でドメイン名のみを購入してみた。
他のドメインを販売している会社は、レンタルサーバーとセットでないと使えないケースが多かったので、自鯖勢としてドメイン名の購入に踏み切った。
値段はまあそれなりだ。
初年度無料などは無いが、料金は一般的な範囲だった。

固定IPではなく、ダイナっミクDNSが利用したい
Google Domains はダイナミックDNSに対応している。

DDClient がマトモに機能しない

説明通りに「DDClient」を設定したのだが機能しなかった。

なぜか更新がスキップされてしまうのだ。
APIで更新

APIで更新出来るみたいなので、「wget」コマンドを用いて実現する。
なお、ユーザーIDやパスワードはダイナミックDNSを作成したときに割り振られるものなのでメモが必要である。
ホスト名は、ダイナミックDNSで作成したドメイン。「www.magic-object.com」
以下は更新用に作成したシェルスクリプトである
#!/bin/bash # IP=$(curl inet-ip.info) wget --http-user=ユーザーID --http-password=パスワード --spider "https://domains.google.com/nic/update?hostname=ホスト名&myip=${IP}"
検証
問題ないようだ
# dig @8.8.8.8 www.magicobject.page ; <<>> DiG 9.18.7 <<>> @8.8.8.8 www.magicobject.page ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19200 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;www.magicobject.page. IN A ;; ANSWER SECTION: www.magicobject.page. 3600 IN CNAME www.magic-object.com. www.magic-object.com. 60 IN A 115.177.77.189 ;; Query time: 35 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP) ;; WHEN: Sat Oct 29 03:29:46 JST 2022 ;; MSG SIZE rcvd: 96
DNSサフィックスが4文字以上の場合は注意
「より安全」の言葉に魅力を感じて購入してしまったのだが、特殊なサフィックスは色々と問題があるようなので注意が必要だ。

実は、いくつかのプログラムでは DNSSEC の関係で正常に動作しない場合がある。
「Unbound」や「PowerDNS Recursor」では DNSSEC をOFFにする「val-permissive-mode: yes」(Unbound)や「dnssec=no」(PowerDNS Recursor)を設定する必要がある。


