前提条件
要自建DDNS服务,首先必须要有自己的域名且域名已经接入 CloudFlare (即DNS为CF提供的地址),另外就是使用阿里云解析、DNSPOD云解析、Cloudflare云解析等服务,本次教程以 CloudFlare 为例。
1. 获取CFKEY
打开网页:https://dash.cloudflare.com/profile
在页面下方找到【Global API Key】,点击右侧的View查看Key,并保存下来
2. 设置用于 DDNS 解析的二级域名
在 CloudFlare 中新建一个A记录,如:ddns.yourdomain.com,指向 1.1.1.1
(可随意指定,如123.123.123.123等等,主要用于后续查看 DDNS 是否生效)
3. 下载 DDNS 脚本
wget -N --no-check-certificate https://raw.githubusercontent.com/yulewang/cloudflare-api-v4-ddns/master/cf-v4-ddns.sh
备用下载:wget -N --no-check-certificate http://pikachu.im/script/cf-v4-ddns.sh
这里我们把脚本下载到 root 目录
4. 修改 DDNS 脚本并填写相关信息
vi cf-v4-ddns.sh
# API key, see https://www.cloudflare.com/a/account/my-account, # 这里填写上一步获取的CFKEY CFKEY= #输入你需要解析用来DDNS解析的根域名 eg: example.com,比如我的域名是123.com,那么此处填写123.com CFZONE= # 登陆CF的Username, eg: [email protected](即CF的登录邮箱) CFUSER= # 填写用来DDNS解析的二级域名,与上面设置的要一致, eg: ddns.yourdomain.com(例 ddns.123.com) CFHOST=
5. 脚本授权并执行
chmod +x cf-v4-ddns.sh
./cf-v4-ddns.sh
如果脚本相关信息填写正确,输出内容会显示当前母鸡IP,登录 CloudFlare DNS选项 查看之前设置的 1.1.1.1 已变为母鸡IP
6. 设置定时任务
输入 crontab -e
,在文件里面添加一行:
*/2 * * * * /root/cf-v4-ddns.sh >/dev/null 2>&1
说明:每2分钟执行脚本检测本机IP,如跟上一次的IP相同,则退出;不同则通过API更新至 CloudFlare 的DNS。
如果需要日志文件,上述代码请替换成下面代码
*/2 * * * * /root/cf-v4-ddns.sh >> /var/log/cf-ddns.log 2>&1
如不想使用 Global API Key,可以参考另外一篇:使用CloudFlare做DDNS解析(API Token)
转自:https://blog.natcloud.net/cf-ddns.html