群晖的ddns服务配置支持cloudflare的解析

计划暂时放弃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

到此,你已经完成全部配置,可以测试联机,状态显示正常即可以正常使用。

类似文章

4条评论

    1. 这么晚了,还在线,感谢回复。
      但我这里面好像找不到RECID和ZONE_ID。不知道代码里面是用什么表达出来的。
      空的时候麻烦帮忙看下上面那段代码吧。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注