群晖 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里面,二级域名的指向有没有修改。