ddclientでCloudflareのDNSを自動更新(Ubuntu)
こんにちは。今回はCloudflareでのipアドレス更新が面倒だったので、ddclientでDDNS化しようと思います。
環境:Ubuntu 24.04.2 LTS
CloudflareでAPIトークンを作成
Global API Keyを使う方法もありますが、Global API Keyは全体のフルアクセス権があるのでセキュリティ上非推奨です。(Cloudflare)
ユーザープロフィール → APIトークン → トークンを作成する → ゾーンDNSを編集する の順で選択します。
各項目については以下を参考にしてください。
-‹-FurikakeBlog-—-WordPress-および他-3-ページ-個人-Microsoft-Edge-2025_04_05-17_53_29-1024x917.png)
その後、概要に進む → トークンを作成する を選択すると、トークンが表示されるのでメモしておいてください。
ddclientのインストール
Launchpadのサイトからファイルをダウンロードします。ここではddclient_3.11.2-2_all.deb をダウンロードします。今回はpre-releaseをインストールしましたが、supportedのバージョンが良いと思います。
そうしたら以下ののようにしてインストールします。
dpkg -i ddclient_3.11.2-2_all.deb
最初の画面ではDDNSサービスを選択しますが、ここにはないのでその他を選択。

Cloudflareを選択。

続いてCloudflareに登録しているアカウントのメールアドレスを入力します。

先ほどのトークンを入力します。

NATを使用しているので、Web-basedを選択。

更新したいドメイン名を入力。(コンマ , を挟めば、複数入力可)

これにて一応完了ですが、念のためconfigを見ておきます。
sudo nano /etc/ddclient.conf
ここで「\」や「””」、「”」があるとエラーが出ます。(自分の場合)
その部分は消しておきましょう。
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
protocol=cloudflare
use=web, web=ipify-ipv4
login=[email protected]
zone=example.com
password=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
example.com,blog.example.com,www.example.com
動作確認
sudo ddclient -v
cronで定期的に実行
crontab -e
*/5 * * * * sudo ddclient
終わりに
いままで更新を手動でしていた私(馬鹿)にとってとても画期的でした。ありがとうございます。