群晖 Synology 的NAS,控制面板,外部访问中的DDNS里面,没有CloudFlare,所以这里简单整理一个添加支持CloudFlare DDNS的功能。

 

需要准备的工具和内容

需要一个域名,并有一个CloudFlare账号,以及这个域名使用CloudFlare的 NameServer 域名NS服务器

需要知道这个域名的概述中,找到 区域ID   (Zoom ID)

需要创建一个给这个域名可编辑DNS权限的API 的 token

需要给NAS开启SSH功能,并准备一个ssh工具,Putty或者Xshell之类的都可以。

 

教程部分

在已经使用CloudFlare的NS服务的域名,概述这里,找到区域ID   英文应该是(Zoom ID)

 

还有就是,推荐使用二级域名,点上图 DNS 这里,添加个二级域名,指向IP随便写一个,关掉代理的那个云

 

给这个域名创建个可以编辑DNS的API token

点这里:https://dash.cloudflare.com/profile/api-tokens

点创建令牌,选择API 令牌模板中的 编辑区域 DNS

权限基本不用管,默认应该就是区域,DNS,编辑

区域资源这里,可以选 包括,特定区域,你想用的域名

下面的不用管,默认就行,继续,继续,最后就弹出一行内容,复制这行内容,这个就是 API token,如图位置

 

注意,这个 API token 如果后期忘记了,点如图 投放 这里找回,不要点下面的 API密钥,如图

把上面提到的 区域ID 和 API token 保存好,后面要用。

 

打开群晖NAS的后台设置,控制面板 - 终端机和SNMP

开启ssh后确定

 

下载一个ssh工具,免费的比如 Putty,收费的比如Xshell

以xsell工具举例,打开创建一个新的会话,主机就是你的群晖NAS的ip,端口如果没修改就是22,接着点登录

用户名就是你的nas后台登陆账号,密码就是登录密码

登录之后打开显示一个这样的内容  thebs@SeriousTest:~$ 表示可以下一步了

显示这个之后,输入

sudo -i

这里输入你的后台登录密码,输入的时候不显示,输入完成后 Enter确定,如果密码没输入错误,前面会变成 root,大概这样

root@SeriousTest:~#

到这里表示启用root账户了,接下来的操作是下载脚本,加载脚本

复制粘贴下面的内容,这个是下载脚本并把脚本复制到/sbin/目录

wget https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflareddns.sh

上面脚本中,第六行有个 proxy="true",推荐用vi工具改成 ,如果你不会改,就直接用我下面修改好的

如果提示HTTP错误之类的,就用这个,这个已经改成 proxy="false"了

wget https://www.mfpud.com/static/MissFeather/SynologyCloudflareDDNS/cloudflareddns.sh -O /sbin/cloudflareddns.sh

给脚本执行权限

chmod +x /sbin/cloudflareddns.sh

给脚本添加到原生的DDNS服务

cat >> /etc.defaults/ddns_provider.conf << EOF
[Cloudflare]
        modulepath=/sbin/cloudflareddns.sh
        queryurl=https://www.cloudflare.com
        website=https://www.cloudflare.com
EOF

上面三个内容输入完成后和我下面的一样表示成功

 

打开群晖后台,控制面板,外部访问,DDNS

新增DDNS,主机名称写你的二级域名,用户名/电子邮件这里,写上图准备的区域 ID (zoom id),密码这里写 API token

点测试链接,如果正常表示成功了,最后确定就行,如图

 

最后,你可以打开cloudflare,看看域名的dns里面,二级域名的指向有没有修改。