如何给群晖添加Cloudflare DDNS
Dec172020
脚本地址:https://github.com/joshuaavalon/SynologyCloudflareDDNS
Synology Cloudflare DDNS脚本
是用于将Cloudflare作为DDNS添加到Synology NAS的脚本。该脚本使用了更新的API Cloudflare API v4。
如何使用
通过SSH访问Synology
- 登录到您的DSM
- 转到控制面板>终端和SNMP>启用SSH服务
- 使用您的客户端通过SSH访问Synology。
- 使用您的Synology管理员帐户进行连接。
在Synology中运行命令
- 将
cloudflareddns.sh
从此存储库下载到/sbin/cloudflareddns.sh
wget https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflareddns.sh
如果脚本无法下载可将,脚本放到国内服务器地址,如果SSL报错,取消https变成HTPP即可正常下载。
路径不是必须的,您可以随便放置。如果以其他名称或路径放置脚本,请确保使用正确的路径。
- 授予他人执行许可
chmod +x /sbin/cloudflareddns.sh
nano /sbin/cloudflareddns.sh #手动修改第六行的 proxy="true" 为 proxy="false" 避免被 CDN 代理.
将群晖的网络设置为全部自动获取,避免手动指定的网关无法正常连接api.cloudflare.com
群晖:控制面板-网络-网络界面-局域网1-编辑-自动获取保存。
控制面板-网络-常规-手动指定DNS,勾取消掉,关闭。
- 添加
cloudflareddns.sh
到Synology
cat >> /etc.defaults/ddns_provider.conf << 'EOF'
[Cloudflare]
modulepath=/sbin/cloudflareddns.sh
queryurl=https://www.cloudflare.com
website=https://www.cloudflare.com
EOF
queryurl
没关系,因为我们将使用脚本,但这是必需的。
获取Cloudflare参数
- 转到您的域名概述页面,然后复制您的区域ID。
- 进去域名界面> 获取API令牌>创建令牌。它应该具有的权限
Zone > DNS > Edit
。复制api令牌。如图所示
测试代码在SSH中运行测试一下:
设置DDNS
- 登录到您的DSM
- 转到控制面板>外部访问> DDNS>添加
- 输入以下内容:
- 服务提供者:
Cloudflare
- 主机名:
www.example.com
#在域名控制面板解析的域名,例如:www.example.com - 用户名/电子邮件:
<区域ID>
# 区域ID - 密码密钥:
<DDNSAPI Token>
# 最后一步创建的DDNS API 令牌。
- 服务提供者:
保存之后,发现,正常链接。