CloudFlare【dipper】を使ったDDNSのやり方

バージョン1.15からグローバルAPIキーを使ったやり方から、ユーザーAPIトークンを使ったやり方に変更しました。
なんでもグローバルAPIキーは何でも弄れちゃうらしいので漏洩すると大変だと。
ユーザーAPIトークンだと権限が自分で弄れるので、DNSだけ弄れるトークンを作って使った方が安全とのこと。

事前準備:CloudFlareに登録が完了(アカウントとドメイン)しているものとして説明します。

dipperでCloudFlareを使うには登録したEmailアドレスとユーザーAPIトークン。
あと登録したドメイン名。DDNSで使いたいメインドメイン名だったりサブドメイン名が必要。
更新したいドメインは同時に複数configに書けます。(他の情報が同じなら)

ユーザーAPIトークンの作り方

CloudFlareのAPIトークンのページへ行きます。

トークンを作成をクリック

ゾーンDNSを作成の赤丸の部分をクリック

上の赤丸の部分をご自分のゾーン名に(登録したドメイン)にして
下の赤丸の概要ボタンをクリック

トークンを作成するボタンをクリック。

赤丸の部分がユーザーAPIになるのでコピーして大切に保管してください。
CloudFlareのサイトではもう見ることはできないので。
まぁわからなくなったらもう一度作り直せばいいだけです。
ちなみにこのAPIトークンは説明用に作ってすぐ削除したので捨てトークンです。

空のDNSレコードを作成

そしたら、CloudFlareのDNSの設定であらかじめ空のDNSレコードを作成しておく必要があります。

IPv4の場合、タイプは「A」名前はメインドメインなら「@」サブドメインならお好きに。アドレスは「0.0.0.0」
IPv6の場合、タイプは「AAAA」名前はメインドメインなら「@」サブドメインならお好きに。アドレスは「::0」
で空のDNSレコードを作成しておきます。

dipperインストール

後は、dipperをインストールして、configに必要な情報を入れます。
詳しいインストール方法はGithubのほうに書いてありますが、軽く説明しておきます。

GitHub - smileygames/dipper at v1.16

DDNSにipを自動でupdateするシェルスクリプト. Contribute to smileygames/dipper development by creating an account on GitHub.

インストールコマンド(githubからダウンロードしてサーバーにインストールを全てしてくれます)

bash <( curl -fsSL https://github.com/smileygames/dipper/releases/download/v1.16/install.sh )

CloudFlareの情報を書きこむ

configファイルはdefault.confをコピーして、名前をuser.confにして記入します。(/usr/local/dipper/config/user.conf)


~~~~~~~~~~~~~~~~~~~~~略~~~~~~~~~~~~~~~~~~~~~~~~~

## CloudFlare Domains
#-----------------------------------------------
# CloudFlare_IPV6[ ] default = off [on/off]
# CloudFlareのDDNSはIPv4とIPv6に対応
# IPV6及びIPV6_DDNSの設定のどちらか一方がoffの場合、CloudFlare_IPV6は無効になるので注意です。

Num=1  # Number 1個目のドメイン
CLOUDFLARE_MAIL[$Num]="Email_address"
CLOUDFLARE_API[$Num]="User_API_token"
CLOUDFLARE_ZONE[$Num]="example.com"
CLOUDFLARE_DOMAIN[$Num]="example.com,www.example.com"
CLOUDFLARE_IPV4[$Num]=on
CLOUDFLARE_IPV6[$Num]=on

#Num=2  # Number 2個目のドメイン
#CLOUDFLARE_MAIL[$Num]="Email_address2"
#CLOUDFLARE_API[$Num]="User_API_token2"
#CLOUDFLARE_ZONE[$Num]="example2.com"
#CLOUDFLARE_DOMAIN[$Num]="example2.com"
#CLOUDFLARE_IPV4[$Num]=on
#CLOUDFLARE_IPV6[$Num]=off
  • CLOUDFLARE_MAIL=CloudFlareで登録したEmailアドレス v1.19から必要なくなりました
  • CLOUDFLARE_API=上で作成したもの
  • CLOUDFLARE_ZONE=登録しているドメイン名
  • CLOUDFLARE_DOMAIN=IPアドレスを更新したいドメイン・サブドメイン
  • CLOUDFLARE_IPV4=on Aレコードを更新したい場合
  • CLOUDFLARE_IPV6=on AAAAレコードを更新したい場合

dipperサービス起動

後はファイルの権限をユーザー以外閲覧禁止にし、サービスを起動するだけです。

sudo chmod 600 /usr/local/dipper/config/user.conf
sudo systemctl start dipper.service

ちなみに、すでにサービスは「有効」の状態で登録されているので、再起動しても勝手に起動するので注意です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です