Cloudflare 搭建DDNS 教程

screenshot 60

# 前言

我家里的联通宽带虽然有公网 IP,但时不时的还是会给我换一下,我使用的TPlink的路由器自带DDNS 功能,由于更新的频率并不高,实时性并不强。有的时候掉线了也不知道。

# 解决方案

所以呢,我在网络上搜索了一下,发现可以使用 Cloudflare 作为动态域名解析服务,为我的公网IP做解析,并且可以设置较短的时间间隔以保证实时性。

Cloudflare 上的操作

首先要获取 Global API Key,前往这个地址:https://dash.cloudflare.com/profile,获取你的key:

12164301945505

然后设置一个计划要设置 DDNS 的域名,这里填写 IP 可以随便填写,反正马上要更新掉的,关键是必须云朵是灰色的。

我这里以 test.tstrs.me 举例:

12165632365561

到这里,Cloudflare 上的操作就完成了。

家里服务器上的操作

首先下载脚本文件:

wget https://raw.githubusercontent.com/SaltyLeo/cloudflare-api-v4-ddns/master/cf-v4-ddns.sh

然后编辑它:

nano cf-v4-ddns.sh

对这几个字段补充完整,括号部分需要删除:

CFKEY=【填写 Global API Key】

CFUSER=【填写 CloudFlare 的登陆邮箱】

CFZONE_NAME=【你的一级域名,比如 tstrs.me】

CFRECORD_NAME=【你的二级域名,比如 test.tstrs.me】

授予可执行权限:

chmod 755 cf-v4-ddns.sh

最后运行一下:

./cf-v4-ddns.sh

如果一切正常,输出应该如下图所示:

12174132786813

设置定时更新

我之所以不用TPlink自带的DDNS就是因为它更新太慢了,不知道什么时候才能更新好,这个脚本呢,可以自由设置更新频率,我这边设置的是2分钟运行一次,这样哪怕出现网络波动,也就只会掉线2分钟,并不算太严重。

我这里使用 crontab 来操作定时任务使用命令 crontab -e 打开定时任务编辑器,填写以下命令,根据你的目录自行修改路径:

*/2 * * * * /root/cloudflare_ddns/cf-v4-ddns.sh >/dev/null 2>&1

# 后记

到这里DDNS 服务的配置和自动化就已经完成了,系统会每2分钟查询DNS数据,如果IP和当前IP一致,就不会更新,如果不一致,就会更新。

THE END