🌐

OpenWrtとCloudflareでDDNSする

2024/02/06に公開

はじめに

この記事では、OpenWrtを導入したルータでCloudflareのDNSに最新のグローバルIPアドレスを定期的に登録する所謂DDNSを行う方法をご紹介します。
ヤフオクで安く出回ってるFortigate50EにOpenWrtを導入していろいろしたことの備忘録です。

準備

パッケージ

ルーターにSSHでログインしてパッケージをインストールします。
試してはいませんがLuCiのSystem→Softwareからもインストールできるかと思います。

  • luci-app-ddns
  • ddns-scripts
  • ddns-scripts-cloudflare
opkg install ${PackageName}

トークン

更新したいゾーン(ドメイン)に対するRead/Write権限のあるトークンが必要です。
トークンは以下の手順で発行できます。

  1. アカウントホームの右上の人マークをクリック
  2. プルダウンのMyProfileをクリック
  3. 左のメニューにあるAPI Tokensをクリック
  4. Create Tokenをクリック
  5. Edit zone DNSのテンプレートを使用して、編集対象のゾーンに対してのRead/Write権限をもったトークンを発行

DDNSの設定

準備が済んだらルーターにWebGUIにログインしましょう。
ヘッダーメニューにServicesのメニューが現れているはずなのでその中のDynamic DNSをクリックします。
Add new servicesからDDNSの設定を追加できます。

Name: お好きな名前
IP address version: IPv4-Address
DDNS Service provider: cloudflare.com-v4

以上のように入力し、Create serviceするとリストに新しく設定が追加されます。
Create serviceしてもウィンドウは勝手に閉じないので注意してください。

ウィンドウを閉じたら作成された設定項目のEditをクリックして設定画面を開きます。

Enabled: Check
Lookup: Hostname: [subdomain.]example.com
IP: address version: IPv4-Address
DDNS: Service provider cloudflare.com-v4
Domain: [subdomain@]example.com
Username: Bearer
Password: YourCloudflareToken
Use HTTP Secure: Check
Path to CA-Certificate: /etc/ssl/certs

以上のように設定しSaveした後、Save&Applyをすると設定が保存されます。
他にも更新頻度の設定等も可能なのでお好みに合わせて変更しましょう。
Restart DDnsをすると変更された設定でDDNSが動き始めます。
正常に設定ができればLast UpdateNext Updateの値が更新されるはずです。
正常に動作しない場合はEditからログを確認して修正しましょう。

参考文献

CloudFlareのDNSをDDNSとして使う OpenWRT編
Dynamic DNS(DDNS) with OpenWRT and Cloudflare

GitHubで編集を提案

Discussion