利用Cloudflare搭建DDNS教程(Ubuntu&Debian&Alpine系统)

红色彗星 2024-06-24 15:37:20 阅读 97

前言

这篇文章并非100%原创,属于记录,因为有很多东西,长时间不用,就忘记了,因此有了本文,各位也可以借鉴本文,本文只描述这个过程!

我们在搭建落地的过程中 如果是动态IP的VPS或者NAT小鸡,如果遇到商家没有给你配置DDNS那么就需要我们自己来配置

本文利用CF来搭建

本人使用的Alpine系统,Ubuntu和Debian更加简单

自建DDNS解决动态IP服务器访问问题

获取Global API Key设置用于 DDNS 解析的二级域名,流量不经过CDN(云朵变灰)下载 DDNS 脚本修改配置文件​​​​​​​设置定时任务

获取Global API Key

访问CF官网 右上角点自己头像 个人资料 再去左边找API令牌 Global API Key,在页面下方找到 Global API Key,点击右侧的 View 查看 Key,并保存下来

设置用于 DDNS 解析的二级域名,流量不经过CDN(云朵变灰)

添加一条A记录,例如:hkt.test.com,IP地址处写1.1.1.1   Proxy status设置成DNS only(不代理)

前置准备工作完成 接下来开始接入

Alpine系统多安装一个东西

apk add grep

下载 DDNS 脚本

Ubuntu&Debian 一键梭哈

Curl https://raw.githubusercontent.com/aipeach/cloudflare-api-v4-ddns/master/cf-v4-ddns.sh > /root/cf-v4-ddns.sh && chmod +x /root/cf-v4-ddns.sh

Alpine

Alpine 分两步执行

​Curl https://raw.githubusercontent.com/aipeach/cloudflare-api-v4-ddns/master/cf-v4-ddns.shchmod +x /root/cf-v4-ddns.sh​

修改 配置文件

下载好了在root目录里手动修改 这里我是FinalShell直接修改

各位自己用nano 还是vim  还是Xftp拖出来用N++看个人喜好

修改root目录下的cf-v4-ddns.sh文件

# incorrect api-key results in E_UNAUTH error# 填写 Global API KeyCFKEY= #你刚才获取的CF的Global密钥# Username, eg: user@example.com# 填写 CloudFlare 登陆邮箱CFUSER= #你的CF账号# Zone name, eg: example.com# 填写需要用来 DDNS 的一级域名CFZONE_NAME= #比如baidu.com# Hostname to update, eg: homeserver.example.com# 填写 DDNS 的二级域名(只需填写前缀)CFRECORD_NAME= #如果是123.baidu.com 这里就填123

首次运行脚本,输出内容会显示当前IP

./cf-v4-ddns.sh

进入cloudflare查看 确保IP已变更为当前IP

设置定时任务

Ubuntu&Debian

crontab -e*/2 * * * * /root/cf-v4-ddns.sh >/dev/null 2>&1# 如果需要日志,替换上一行代码*/2 * * * * /root/cf-v4-ddns.sh >> /var/log/cf-ddns.log 2>&1

Alpine

在 Alpine 中设置定时任务的步骤与 Debian 略有不同。Alpine 使用的是 crond 服务,配置文件为 /etc/crontabs/root。

编辑 /etc/crontabs/root  在文件末尾添加以下内容:

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

这行代码的意思是每隔 2 分钟执行一次 /root/cf-v4-ddns.sh 脚本,并将标准输出和错误输出重定向到 /dev/null。

保存退出

重启 crond 服务以使更改生效:

rc-service crond restart



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。