centos 配置cloudflare DDNS
目标:每隔一定的时候检查公网IP,如果更换IP时能及时更新到域名解析上。
一台动态IP的VDS、VPS、NAT VPS
一个转入cloudflare 解析的域名
FinalShell SSH工具 https://www.hostbuf.com/t/988.html
操作实例以CENTOS为基准
一、域名解析和获取Cloudflare的Global API Key
1.打开http://www.cloudflare.com 登录你的会员账号,选择域名进入域名的控制面板,点击右边的 “获取您的API令牌” 查看“Global API Key”并把它复制下来存到记事本文件上备后期使用。
添加域名解析
在域名控制面板的 DNS 处增加一条A记录
二、DDNS 配置
下载一键脚本文件到你需要存放的目录里,并给755权限
1.安装需要的依赖
yum -y install curl net-tools wget #安装所需依赖
2.下载一键脚本文件到目录,目录根据实际用户等进行更改。并给文件775权限
wget https://github.com/xiaoduola99/Cloudflare_ddns/releases/download/v1.0/Cloudflare_ddns.sh
chmod 775 /root/Cloudflare_ddns.sh
3.修改配置文件中的字段值
#/*请先在CloudFlare上面解析一个你需要DDNS的记录,ip随便填写一个就行,否则将会报错*/ #/*如果你要更换DDNS域名或者没在CloudFlare添加解析就运行了脚本,请先删除cloudflare_ddns.ids这个文件后重新运行*/ #/*本地网卡获取ip是查看你网卡获取的ip,如果你连接的有路由器并且网卡获取的ip是内网的,请使用网络获取方式*/ auth_email="xxxx@xxx.com" #你的CloudFlare注册账户邮箱 auth_key="xxxxxx6991dfd31xxxxxxxxx" #你的CloudFlare账户Globel ID zone_name="xxx.com" #你的主域名 record_name="ddns.xxx.com" #你需要的完整的DDNS解析域名 record_type="A" #A或AAAA及ipv4或ipv6解析 ip_index="internet" #internet 或 local,通过网络获取 或 本地网卡获取ip #信息必填区
在SSH的文件浏览器里找到该文件并直接打开进行编辑,把必填区的值修改成你自己的信息。之前我做的是A记录的解析,所以这项填写 record_type=”A”;如果你的本机不是直接分配公网IP,获取IP方式选择为 ip_index=”internet”
4.运行脚本
在命令行中输入以下内容运行脚本,看看输出值,有没有出错。是否显示出正确的公网IP信息。及检查域名解析记录的IP地址是不是由127.0.0.1 变成了当前的公网IP。
5.定时自检更新IP
为了能一直解析新的ip,必须让脚本每隔几分钟运行一下,所以使用系统的定时任务来让脚本自动运行。
crontab -e
按i键进入编辑状态,添加下列命令
*/5 * * * * /root/Cloudflare_ddns.sh >/dev/null 2>&1
更新时间命令里是每5分钟,目录根据实际用户等进行更改
按ESC键退出编辑状态,按符号 : 键输出 wq 保存退出。
运行命令更新IP
./Cloudflare_ddns.sh