CloudFlare【dipper】を使ったDDNSのやり方
バージョン1.15からグローバルAPIキーを使ったやり方から、ユーザーAPIトークンを使ったやり方に変更しました。
なんでもグローバルAPIキーは何でも弄れちゃうらしいので漏洩すると大変だと。
ユーザーAPIトークンだと権限が自分で弄れるので、DNSだけ弄れるトークンを作って使った方が安全とのこと。
事前準備:CloudFlareに登録が完了(アカウントとドメイン)しているものとして説明します。
dipperでCloudFlareを使うには登録したEmailアドレスとユーザーAPIトークン。
あと登録したドメイン名。DDNSで使いたいメインドメイン名だったりサブドメイン名が必要。
更新したいドメインは同時に複数configに書けます。(他の情報が同じなら)
目次 / Contents
ユーザー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からダウンロードしてサーバーにインストールを全てしてくれます)
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
ちなみに、すでにサービスは「有効」の状態で登録されているので、再起動しても勝手に起動するので注意です。