前言
近日有网友向我推荐了在群晖NAS上使用 Cloudflare 的 DDNS 方案,经过测试也确实比较简单方便.于是整理了两种方案分别适用于原生 DDNS 服务
和docker 部署
,将分为两篇教程来讲解.
本文将详细介绍在群晖NAS上使用
原生 DDNS
部署配置Cloudflare DDNS
动态域名解析.
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
部署配置流程
获取 API
1. 获取 区域 ID
登陆 Cloudflare 点击域名,在概述页面右侧获取区域 ID
.
2. 创建 API 令牌
点击获取您的 API 令牌
后创建令牌
,选择最下的自定义令牌
- 为令牌命名
- 权限选择
区域
-DNS
-编辑
- 其他保持默认即可
保存后生成 API 令牌,请复制保存好该令牌,后续将无法在次查询此令牌
.
配置群晖原生 DDNS
群晖原生 DDNS 并不支持 Cloudflare ,通过 joshuaavalon/SynologyCloudflareDDNS 项目提供的脚本和方案,可以将 Cloudflare 添加到原生 DDNS 列表中.
1. 开启并登陆群晖NAS终端
控制面板 - 终端机和 SNMP - 勾选启用 SSH 功能
macOS 使用终端, Windows 使用 PuTTY 或 Windows Terminal 来登陆群晖.
ssh xxxx@192.168.1.x
# xxxx为群晖的帐户
sudo -i
# 登陆成功后,切换为 root 帐户.
2. 下载 Cloudflare DDNS 脚本
下载 Cloudflare 的 DDNS 脚本文件,官方推荐存放于/sbin/cloudflareddns.sh
并赋予执行权限.
手动修改第六行的 proxy="true" 为 proxy="false" 避免被 CDN 代理.
新手用户不建议修改存放路径.如需修改,请注意下文所有相关路径都必须同时更改.
wget https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflareddns.sh
# 下载脚本
chmod +x /sbin/cloudflareddns.sh
# 赋予执行权限
3. 新增原生 DDNS 列表
复制粘贴以下命令并执行
cat >> /etc.defaults/ddns_provider.conf << EOF
[Cloudflare]
modulepath=/sbin/cloudflareddns.sh
queryurl=https://www.cloudflare.com
website=https://www.cloudflare.com
EOF
4. 登陆群晖 DSM - 控制面板 - 外部访问 - DDNS - 新增
- 服务供应商 - 选择 Cloudflare
- 主机名称 - 填写 DDNS 域名
- 用户名 - 填写区域 ID
- 密码 - 填写上文生成的 API 令牌
确定后稍等一会就会显示正常即配置成功
主机名称强烈推荐
不要
使用根域名
,单独为 DDNS 选择一个专用域名,如需使用根域名访问家中服务,可以添加根域名
的 CNAME 指向 DDNS 域名即可.具体可参考下图:
结语
更多关于 DDNS 教程,群晖 NAS 相关技巧,教程及信息,请持续关注本站群晖Synology专栏:
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
75 条评论
学习了,找了几篇文章 还是这篇文章对小白很友好
你好博主,请问这个可以支持cf的cdn
功能吗?谢谢
想了下,可能应该不影响吧,你试试看.
不支持.
proxied 功能需要在cloudflareddns.sh脚本里配置关闭
主机名称强烈推荐 不要 使用根域名。这是为什么强烈不推荐???
博主,用来你的方法后,ipv4能正常工作,但是没有办法解析ipv6地址,应该怎么改?
https://github.com/joshuaavalon/SynologyCloudflareDDNS/issues/7
https://github.com/joshuaavalon/SynologyCloudflareDDNS/issues/11
唉,没看明白啊,我把整个.sh文档复制粘贴过来,结果连IP4都更新不了了