公開サーバをVPSサービスから自宅へ移すにあたり、DDNSが必要になった。
最初はMyDNS.JPを使っていたが、サブドメインに異なるIPアドレスを割り当てたい時はレコードタイプにDELEGATEを設定する必要があったり、DELEGETEしたサブドメインではCAAレコードの登録ができなかったり、若干ながら要望に合わない部分を感じていた。
あまりやりたくないが公開用DNS権威サーバの構築を考え始めていたところ、知り合いにCloudflareを勧めてもらったので試してみた。 結果、要望を満たしてくれたので、DNSについては今後Cloudflareにお任せする。
DDNSにあたりAPIでレコードを更新するが、ddclientというツールがあることを知る。 これまではcurlを実行するだけのシェルスクリプトを用意してcronで定期実行させていたが、Portageにddclientのパッケージがあり、かつcronを使わずdaemonとして実行できるようなので、導入することにした。
CloudflareでDNSゾーンを編集するためのAPIトークンを作成してddclientの設定ファイルで指定するだけなのだが、個別に作成したAPIトークンによる認証の場合、loginパラメータはCloudflareアカウントのメールアドレスではなくtoken
という文字列になるらしい。
protocol=cloudflare, \
zone=対象ゾーン, \
login=token, \
password='Cloudflareで作成したトークン', \
対象ドメイン
DNS以外にも、興味のある機能がいくつかFreeプランで使えそうなので、気が向いた時に試したい。