目录

Linux 服务器使用 Cloudflare 搭建 DDNS

在 Linux 服务器 IP 可能发生变动的情况下,使用 DDNS(Dynamic Domain Name Server / 动态域名服务)可以随时将本地服务器的 IP 更新至域名解析。DDNS 的作用和适用范围不再赘述,下面说明如何配置。

一、准备工作

注册一个 cloudflare 账号后,按照 cloudflare 给出的提示,将域名接入 cloudflare,让 cloudflare 接管你的域名。

二、获取账号 global key

打开网页:https://dash.cloudflare.com/profile

在页面下方找到【Global API Key】,点击右侧的 View 查看 Key,并保存下来

三、设置用于 DDNS 解析的二级域名

在 Cloudflare 中新建一个 A 记录,如:ddns.yourdomain.com,指向 1.1.1.1(可随意指定,如 123.123.123.123 等等,主要用于后续查看 DDNS 是否生效)

四、下载 DDNS 脚本,修改配置

wget  -N --no-check-certificate https://raw.githubusercontent.com/yulewang/cloudflare-api-v4-ddns/master/cf-v4-ddns.sh
vim cf-v4-ddns.sh

1.CFKEY 就是第一步获取的 global key

2.CFUSER 是登录 cloudflare 的邮箱

3.CFZONE_NAME 是你的一级域名

4.CFRECORD_NAME 则是用于 DDNS 的二级域名

5.CFTTL 是域名生效的 ttl,默认 120 即可

五、脚本授权并执行

chmod +x cf-v4-ddns.sh
./cf-v4-ddns.sh

如果脚本相关信息填写正确,输出内容会显示服务器当前 IP,登录 Cloudflare DNS 选项 查看之前设置的 1.1.1.1 已变为当前服务器的 IP。

六、设置 crontab 定时任务

# 编辑定时任务
crontab -e

# 将以下内容添加到crontab中
# 无日志
*/2 * * * * /root/cf-v4-ddns.sh >/dev/null 2>&1

如果需要日志文件,可将上述代码请替换成下述代码

*/2 * * * * /root/cf-v4-ddns.sh >> /var/log/cf-ddns.log 2>&1