最近應該比較多人用 Cloudflare 來代管 DNS 服務,不過推出很久了,Synology 怎麼還沒有支援到 Cloudflare DDNS 呢?因為 Cloudflare API 會有變動,取得 API 來串接比較麻煩一點,以下會教大家怎麼用~
加入 DDNS sh 腳本
開啟 SSH 方法
首先在 Synology 控制台裡,點選 連線能力 → 終端機 & SNMP 進入
把 啟動 SSH 功能 勾選,但連接埠由你自訂,若有鎖網內就還好,但用完後,記得要回來把它關閉,千萬記得。
登入 SSH 加入指令
可利用 Putty 工具去登入 SSH,輸入你的 NAS 帳號密碼登入 ( 需要管理者權限 )。
取得 root 權限,會再次要求你輸入密碼
sudo -i
把 cloudflareddns.sh 下載到 /sbin/ 資料夾裡面
wget https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflareddns.sh
修改檔案權限
chmod +x /sbin/cloudflareddns.sh
接著編輯 ddns_provider.conf 檔案
vi /etc.defaults/ddns_provider.conf
加入以下 DSM DDNS 新增 Cloudflare 下拉式選項
[Cloudflare]
modulepath=/sbin/cloudflareddns.sh
queryurl=https://www.cloudflare.com/
加入完後,按 Esc 鍵,再輸入 :wq 進行儲存並且退出完成編輯。
取得 Cloudflare API
到 Cloudflare Dashboard ( https://dash.cloudflare.com/ ) 管理控制台,點選你的網域,在概觀頁面,拉到最下面看到一組 API 區域識別碼,把它複製抄下來,後面會用到;接著點選 取得您的 API Token 進入。
在 API Token 頁面,點選 建立 Token 進入。
拉到最下面,點選 建立自訂 API Token 開始使用 進入。
Token 名稱隨意,自訂命名都可以;權限部分,設定 區域 對應 DNS 裡 編輯 後,再確定下一步。
然後,會再讓你檢查,若確認無誤後,按下 建立 Token 產生。
就會產生一組 Cloudflare API Token 字串代碼,把它複製下來。
在 DSM 加入 DDNS
回到 Synology DSM 控制台,在 外部存取 → DDNS 進入,將服務供應商拉下式選擇 Cloudflare 。
選完後,下面加入所需資料,輸入完後,並且儲存生效↓
- 主機名稱:輸入你要綁的 網域名稱
- 使用者名稱/電子郵件:輸入你的 API 區域識別碼
- 密碼/金鑰:輸入你的 API Token 代碼
再回來看看有沒有成功了,就可看到它IP更新的狀態,顯示是正常,代表是有成功更新到 DDNS 裡。
取得 SSL 憑證
這一點很重要,在 Cloudflare DNS 列表內,不要打開 Proxy ( 雲端的黃色圖 ),它不能取得。
若 NAS 有開 80/443 Port 的話,就可以看到取得 SSL 憑證有成功,然後在 設定 內,記得要把網域對應那一組SSL,這樣子完工囉~