想必各位使用 NAS 的使用者都會考慮繫結自己的域名實現遠端訪問,畢竟如果不配置遠端訪問的話出門在外想要檢視 NAS 中存放的檔案那就麻煩了。
群暉 DSM 系統已經內建多種 DDNS 服務提供商可以繫結自己的域名,但群暉並沒有提供 Cloudflare DDNS 服務,嚴格來說是沒有支援 Cloudflare API 自動解析域名。
Cloudflare 並非 DDNS 提供商,但提供的 API 介面也可以實現 DDNS 服務,在 GitHub 上已經有開發者為我們編寫了指令碼,只需要透過命令列執行指令碼即可在 DSM 中新增 Cloudflare DDNS 服務。
下面是必要條件:
-
有自己的域名
-
將域名託管在 Cloudflare
-
有動態公網 IP (路由器通常為 PPPoE 撥號上網而不是直接從光貓 DHCP)
具體操作步驟:
1. 在群暉 DSM 控制面板中找到終端機和 SNAP,在這裡將 SSH 連線功能開啟;
2. 使用終端軟體或者 Windows 11 自帶的命令提示符,輸入 ssh 群暉登入名 @IP 地址,例如:
接著輸入群暉賬戶密碼,Linux 系統輸入密碼是不顯示任何字元的,輸入完成後直接按回車即可,如果賬號密碼無誤即可成功登入。
接著輸入 sudo -i 回車,此時需要再次輸入群暉賬戶的密碼以進入 root 許可權進行敏感操作,成功進入後會顯示 root@群暉裝置名稱 :~#

3.接下來下載指令碼並賦予許可權:
# 下載指令碼
wget https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflareddns.sh
# 修改許可權
chmod +x /sbin/cloudflareddns.sh
4. 在群暉 DDNS 列表裡新增 Cloudflare:
cat >> /etc.defaults/ddns_provider.conf << EOF
[Cloudflare]
modulepath=/sbin/cloudflareddns.sh
queryurl=https://www.cloudflare.com
website=https://www.cloudflare.com
EOF

5. 以上步驟操作完成後群暉控制面板、外部訪問的 DDNS 設定裡就可以看到 Cloudflare 選項。
6. 進入 Cloudfalre 控制檯:https://dash.cloudflare.com/ 點選左側的管理賬戶、成員 API 令牌
7. 點選建立令牌,在 API 模板裡選擇編輯區域 DNS 模板,DNS 後的許可權讀取修改為編輯、特定區域後選擇你需要使用的域名,確認無誤後建立令牌並複製令牌。
注意:令牌僅會顯示一次,請複製後妥善保管,如果忘記請重新建立新令牌,無法找回已經建立的令牌的具體內容。

8. 返回 Cloudflare Dash 主頁,點選你需要使用的域名,此時右下角 API 區域有個區域 ID,複製完整的區域 ID 備用。

9. 進入群暉 DSM 控制面板、外部訪問、DDNS、新增,在下拉選單裡可以看到 Cloudflare
10. 具體配置資訊分別為:服務供應商 Cloudflare、主機名稱填寫域名、使用者是區域 ID、密碼是 API 令牌,填寫無誤後點擊聯機測試,如果顯示正常那就儲存。

11. 在外部訪問、路由器配置裡點選新增,然後設定埠號,埠號通常內外一致,比如群暉 DSM 預設使用的是 5000 埠,那我們外部埠也設定為 5000.
此時在新增裡選擇內建應用程式、管理使用者介面並將其資訊對映到路由器,如果不支援對映到路由器也沒關係,可以手動設定。

12. 在路由器裡找到埠轉發或 UPnP 等相關選項,新增條目:內部埠號 5000、外部埠 5000、協議 TCP、主機 IP 選擇 NAS 的 IP 地址並儲存。

13. 完成埠對映後回到群暉 DSM,在路由器配置裡點選測試聯機,如果測試連線結果都顯示 OK 那說明連線正常,此時你可以使用 http:// 你的域名.com:5000 進行訪問。
14. 如果你有域名 HTTPS 證書還可以配置 HTTPS 訪問,在 DSM 控制面板安全性裡找到證書,選擇 Synology 證書,將其替換為你自己的證書即可。

15. 替換證書後還需要設定 HTTPS 埠對映,比如 5001 到 5001,步驟和前面一樣,也需要在路由器配置裡額外添加個管理使用者介面的埠選項,然後在路由器裡埠轉發 5001 到 5001,配置完成後即可使用 https:// 你的域名.com:5001 訪問。