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