内容纲要

🗂 | 查看 Synology 与 XPEnology 专题可浏览更多内容


启用 DiskStation SSH 功能

登陆 Synology DiskStation,打开「控制面板」,选择「终端机和 SNMP」,勾上「启动 SSH 功能」:

native support cloudflare dynamics dns solution for synology diskstation manager 1然后使用 SSH 登录到你的 DiskStation。

如果你不知道 SSH 是什么也没关系,下载个 SSH 客户端就行了,比如 Xshell 或者 FinalShell,找个免费能用的就可以。

初次使用 SSH 客户端时会询问配置 SSH 服务器的信息,一般只关注三点:名称、主机和端口。名称随意,主机填写你的 DiskStation 的 IP 地址,端口使用默认的 22。

然后就可以连接了,如果连接成功就会询问你登陆账号和密码,这个账号密码就是 DiskStation Manager 的账号密码,确认无误就会登陆成功。

获取支持脚本

这里使用的是开源项目:SynologyCloudflareDDNS

在 SSH 客户端内输入命令:

⚠️ 注意:不要输入 $ 符号,这里只是告诉你这是命令,后续同样如此

$ sudo wget https://cdn.jsdelivr.net/gh/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]
...

如果此时你的界面和上面一样(内容过多前后太长的部分我用省略号省去),这就说明你成功了并且没有搞砸什么,这时候按 Ctrl + C 键,输入::wq (注意是英文冒号加上 wq)就会保存退出了。如果搞砸了输入 :q! 强制退出不保存就可以了,也别太担心。

⚠️ 注意:如果你并不熟悉 VIM 编辑操作,保险起见还是使用前面 cat 命令吧,别为难自己。

到这里就可以关闭 SSH 客户端了,现在去 Cloudflare 网站上操作。

配置 Cloudflare 令牌

登陆 Cloudflare 面板,找到你要关联的域名并点击,在「概述」选项里的右侧会有一个「API」,记录下「API」下面的「区域 ID」:

native support cloudflare dynamics dns solution for synology diskstation manager 2然后点击「获取您的 API 令牌」。

native support cloudflare dynamics dns solution for synology diskstation manager 3点击「创建令牌」。

native support cloudflare dynamics dns solution for synology diskstation manager 4使用「编辑区域 DNS」的模板。

native support cloudflare dynamics dns solution for synology diskstation manager 5主要注意:

  1. 「权限」的第三个选项选择「编辑」;
  2. 「区域资源」选择「所有区域」,或「特定区域」选择你要关联的域名(如果你只想特定域名可以 DDNS);

然后点击「继续以显示摘要」继续。

native support cloudflare dynamics dns solution for synology diskstation manager 6点击「创建令牌」。

native support cloudflare dynamics dns solution for synology diskstation manager 7这个令牌只会显示这一次所以要保存好,否则就只能再创建一个了。

配置 DiskStation DDNS 功能

回到 DiskStation,在「控制面板」内找到「外部访问」:

native support cloudflare dynamics dns solution for synology diskstation manager 8点击「新增」。

native support cloudflare dynamics dns solution for synology diskstation manager 9– 服务供应商:选择「Cloudflare」;

  • 主机名称:也就是域名,自定义一个;
  • 用户名/电子邮件:填写刚才「概述」下「区域 ID」;
  • 密码/密钥:填写刚才创建的令牌;

native support cloudflare dynamics dns solution for synology diskstation manager 10成功。

关闭自动开启「CDN」

脚本中默认会将「代理状态」设置为「已代理」,但你可能并不想这样做,所以可以使用命令修改脚本中的第 6 行:

$ sudo sed -i 's/proxy="true"/proxy="false"/' /sbin/cloudflareddns.sh

这样就不会自动开启代理状态。

最后

噢,对了,如果后续都不再需要,记得回到「终端机和 SNMP」取消「启动 SSH 功能」的勾选。