计划暂时放弃dnspod,全面迁移到cloudflare,却发现群晖支持这么多ddns服务,唯独没有cloudflare,所以找了一下如何让群晖NAS的ddns支持cloudflare解析。
一、cloudflare上需要的准备:
1、复制cloudflare的Zone ID和Get your API token(在cloudflare的域名管理首页右下角)
2、点击Get your API token,进入后点击view,复制token备用
3、在终端中执行以下代码,返回结果中的id就是需要域名的record id,复制备用
curl -X GET "https://api.cloudflare.com/client/v4/zones/[Zone ID]/dns_records" \
-H "X-Auth-Email: [Email]" \
-H "X-Auth-Key: [API Key]" \
-H "Content-Type: application/json"
[Email]替換成你的cloudflare注册邮箱,[API Key]替换成你刚刚获取的API token
至此,cloudflare需要做的工作完成。
二、群晖上需要的准备:
1、打开群晖ssh服务,在终端中输入ssh admin@你的群晖ip,输入admin密码
2、获得群晖root权限,输入sudo -i ,再次输入admin密码
3、下载自动更新ip地址到cloudflare的代码(需要翻墙网络)
wget https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflaredns.sh
4、修改脚本中的参数:输入vi /sbin/cloudflaredns.sh 进入配置,只需要改三个地方:RECID、ZONE_ID、把PROXY改成”false”
按a进入编辑模式,编辑完毕按esc退出编辑模式,输入:wq按下Enter,保存并退出即生效,如果输错,重新再进行一次脚本。
5、给予脚本执行权限,输入chmod +x /sbin/cloudflaredns.sh
6、把cloudflaredns.sh加入群晖DSM后台的ddns选项中,在ssh中输入:
vi /etc.defaults/ddns_provider.conf
在随意两个服务中加上,按下键盘a进入编辑模式,复制粘贴上下面的内容
[Cloudflare]
modulepath=/sbin/cloudflaredns.sh
queryurl=https://www.cloudflare.com/
粘贴效果如图,然后输入:wq,按下Enter保存成功。
7、进入群晖DSM后台配置ddns
到此,你已经完成全部配置,可以测试联机,状态显示正常即可以正常使用。