在 Synology DSM 配置 Cloudflare DDNS
查看【Synology 与 XPEnology】专题可浏览更多内容
启用 DiskStation SSH 功能
登陆 Synology DiskStation,打开「控制面板」,选择「终端机和 SNMP」,勾上「启动 SSH 功能」:
然后使用 SSH 登录到你的 DiskStation。
如果你不知道 SSH 是什么也没关系,下载个 SSH 客户端就行了,比如 Xshell 或者 FinalShell,找个免费能用的就可以。
初次使用 SSH 客户端时会询问配置 SSH 服务器的信息,一般只关注三点:名称、主机和端口。名称随意,主机填写你的 DiskStation 的 IP 地址,端口使用默认的 22。
然后就可以连接了,如果连接成功就会询问你登陆账号和密码,这个账号密码就是 DiskStation Manager 的账号密码,确认无误就会登陆成功。
获取支持脚本
这里使用的是开源项目:SynologyCloudflareDDNS
在 SSH 客户端内输入命令:
sudo wget https://mirror.ghproxy.com/https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflareddns.sh
文件下载成功后赋予权限:
sudo chmod +x /sbin/cloudflareddns.sh
修改配置文件
然后是修改配置文件:
cat >> /etc.defaults/ddns_provider.conf << 'EOF'
[Cloudflare]
modulepath=/sbin/cloudflareddns.sh
queryurl=https://www.cloudflare.com
website=https://www.cloudflare.com
E*.
如果你和我一样有强迫症可以使用命令手动编辑文件:
sudo vim /etc.defaults/ddns_provider.conf
将下面文本字段放入到 [CloudNS]
之前,这样之后列表中的 Cloudflare 选项就会按顺序在 CloudNS 之前,如果你并不熟悉 VIM 编辑操作还是使用上一条 cat
命令吧:
[Cloudflare]
modulepath=/sbin/cloudflareddns.sh
queryurl=https://www.cloudflare.com
website=https://www.cloudflare.com
好吧,我猜你可能还是想尝试一下:在使用 vim
命令后你就会进入到编辑器中,使用方向键把光标往下移动,直到 [CloudNS]
这行的开头,按 I
键进入编辑模式然后按回车空出一行来,接着将光标上移到空的那行。
然后复制上面那 4 行文本,在 SSH 客户端中右键粘贴,这时候在文本中应该是这样的:
...
[Variomedia]
modulepath=/usr/syno/bin/ddns/variomedia.php
queryurl=https://dyndns.variomedia.de
[Cloudflare]
modulepath=/sbin/cloudflareddns.sh
queryurl=https://www.cloudflare.com
website=https://www.cloudflare.com
[CloudNS]
modulepath=/usr/syno/bin/ddns/cloudns.php
queryurl=https://www.cloudns.net/
[Google]
...
如果此时你的界面和上面一样(内容过多前后太长的部分我用省略号省去),这就说明你成功了并且没有搞砸什么,这时候按 Esc
键,输入::wq
(注意是英文冒号加上 wq
) 就会保存退出了。如果搞砸了输入 :q!
强制退出不保存就可以了,也别太担心。
⚠️ 注意:如果你并不熟悉 VIM 编辑操作,保险起见还是使用前面
cat
命令吧,别为难自己。
到这里就可以关闭 SSH 客户端了,现在去 Cloudflare 网站上操作。
配置 Cloudflare 令牌
登陆 Cloudflare 面板,找到你要关联的域名并点击,在「概述」选项里的右侧会有一个「API」,记录下「API」下面的「区域 ID」:
然后点击「获取您的 API 令牌」。
点击「创建令牌」。
使用「编辑区域 DNS」的模板。
主要注意:
- 「权限」的第三个选项选择「编辑」;
- 「区域资源」选择「所有区域」,或「特定区域」选择你要关联的域名(如果你只想特定域名可以 DDNS);
然后点击「继续以显示摘要」继续。
点击「创建令牌」。
这个令牌只会显示这一次所以要保存好,否则就只能再创建一个了。
配置 DiskStation DDNS 功能
回到 DiskStation,在「控制面板」内找到「外部访问」:
点击「新增」。
- 服务供应商:选择「Cloudflare」;
- 主机名称:也就是域名,自定义一个;
- 用户名/电子邮件:填写刚才「概述」下「区域 ID」;
- 密码/密钥:填写刚才创建的令牌;
成功。
关闭自动开启「CDN」
脚本中默认会将「代理状态」设置为「已代理」,但你可能并不想这样做,所以可以使用命令修改脚本中的第 6 行:
sudo sed -i 's/proxy="true"/proxy="false"/' /sbin/cloudflareddns.sh
这样就不会自动开启代理状态。
最后
噢,对了,如果后续都不再需要,记得回到「终端机和 SNMP」取消「启动 SSH 功能」的勾选。