人们不是嘲笑你的梦想
他们嘲笑的是你的实力

利用CloudFlare设置Dynamic DNS(DDNS)获取动态IP

前言

如果买了动态 IP 的 VPS 或服务器

IP 会经常改变

这时就可以通过 DDNS 来获取动态 IP

部分商家可能不提供 DDNS需要自己搭建

假设你已经有了一个域名 zhaozhuji.net

想要设置域名 ddns.zhaozhu.net 获取最新的动态 IP

以centos7为例

获取 API

如果域名没有使用 CloudFlare 的 DNS 解析服务

首先要在 CloudFlare 按提示添加域名 zhaozhuji.net

把域名的 DNS 服务器改为 CloudFlare

增加对应域名的 A 记录 ddns.zhaozhuji.net

TTL 可设为 2 分钟或自动

注意DDNS 使用的域名不要开启 CloudFlare 的 CDN

只用 CF 的 DNS 解析功能

也就是 status 一列对应域名的图标要是灰色的

添加好域名解析后

前往获取 Global API

https://www.cloudflare.com/a/profile

把 API 一长串字符复制保存下来

注意这串 API 不要泄露给其他人

设置脚本

获取脚本

在 VPS 中下载脚本到/usr/local/bin 目录,把脚本命名为 cf-ddns.sh,并修改脚本的权限

curl https://gist.githubusercontent.com/benkulbertis/fff10759c2391b6618dd/raw > /usr/local/bin/cf-ddns.sh && chmod +x /usr/local/bin/cf-ddns.sh
curl https://gist.githubusercontent.com/benkulbertis/fff10759c2391b6618dd/raw > /usr/local/bin/cf-ddns.sh && chmod +x /usr/local/bin/cf-ddns.sh

配置脚本

打开脚本

vi  /usr/local/bin/cf-ddns.sh

找到以下内容并修改

auth_email="user@example.com"
auth_key="c2547eb745079dac9320b638f5e225cf483cc5cfdda41" # found in cloudflare account settings
zone_name="example.com"
record_name="www.example.com"

在 auth_email 中填入 CloudFlare 账号的邮箱

在 auth_key 输入前面获取的 API

zone_name 填入域名 zhaozhuji.net

record_name 填入 DDNS 的域名 ddns.zhaozhuji.net

修改完后保存退出

然后我们运行脚本

bash /usr/local/bin/cf-ddns.sh

如果提示IP changed to: X.X.X.X,表明配置成功。

定时运行

脚本配置成功后需要让它定时运行

这里设置每 10 分钟运行一次 cf-ddns.sh 脚本

输入

crontab -e

然后会弹出 vi 编辑界面,在里面添加一行:

*/10 * * * *  /usr/local/bin/cf-ddns.sh >/dev/null 2>&1

保存并退出

输入

service crond status

可以看到 contab 的运行状态处于运行当中了

日志文件

脚本获取 IP 更改 CloudFlare 的 DNS 记录后

会在目录中生成 ip.txt、cloudflare.ids 和 cloudflare.log 三个文件

ip.txt 记录的是本机的 IP

脚本自动获取到 IP 后会先与 ip.txt 中的 IP 进行比较

当不一致时(检测到 IP 发生变化)才会更新 CloudFlare 的 DNS 记录

并且把新 IP 写入 ip.txt 文件中

如果 IP 没变化运行脚本会提示

IP has not changed

如果要强制运行脚本更新 DNS 记录,可以删除掉 ip.txt

rm /usr/local/bin/ip.txt

如果运行忽然出问题,可以试试把 cloudflare.ids 文件和 ip.txt 文件删除掉,再重新运行脚本

rm /usr/local/bin/cloudflare.ids
赞(0)
未经允许不得转载:四四的军火库 » 利用CloudFlare设置Dynamic DNS(DDNS)获取动态IP
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

隐藏
变装