cloudflare动态域名解析-并实现自定义内外网混合动态域名DDNS脚本

本文详细介绍了如何利用Cloudflare API创建动态域名解析脚本,适用于Linux和Windows系统,实现同一域名下多个内网和外网IP地址的自动更新。文中提供实战案例及完整脚本,适用于自建服务器和多网卡环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、获取CloudFlare的API令牌

直接进入地址:API 令牌 | [账户名]'s Account | Cloudflare

2、获取根域名ID

curl -X GET "https://api.cloudflare.com/client/v4/zones" \ -H "X-Auth-Email: [CloudFlare账户]" \ -H "X-Auth-Key: [API令牌]" \ -H "Content-Type: application/json"

例如下图的就是,后面是"name":kbai.cc域名,前面的"id":后面的就是根域名ID

3、获取各个二级域名ID

注意:与官网命令不同,官方文档自我感觉有BUG,可能不能获取所有二级域名ID,下面的命令自己研究出来的真实可用,而且多个相同名字的二级域名对应的ID是不同的!!

curl -X GET "https://api.cloudflare.com/client/v4/zones/[根域名ID]/dns_records" \ -H "Content-Type:application/json" \ -H "X-Auth-Key: [API令牌]" \ -H "X-Auth-Email: [CloudFlare账户]"

例如下图的就是,后面是"name":"b101.kbai.cc"域名,前面的"id":后面的就是二级域名ID,前面的"zone_ID":后面的就是根域名ID

### 配置自定义DDNS使用Cloudflare 对于希望利用动态域名服务(Dynamic DNS, DDNS选择Cloudflare作为DNS供应商的情况,可以按照如下方法设置: #### 准备工作 确保已注册Cloudflare账号,完成至少一个域名的添加。获取API Token,此Token需具备对目标域执行DNS记录编辑权限[^1]。 #### 创建脚本实现自动更新IP地址 编写Shell脚本来定期向Cloudflare API发送请求以同步当前公网IP至指定子域名下A记录。下面给出一段简单的Python代码用于演示目的: ```python import requests from os import environ as env CF_API_TOKEN = 'your_api_token' # 替换成自己的token ZONE_ID = 'zone_id_of_your_domain' RECORD_NAME = 'sub.yourdomain.com' def get_public_ip(): response = requests.get('https://api.ipify.org') return response.text.strip() def update_dns_record(ip_address): url = f"https://api.cloudflare.com/client/v4/zones/{ZONE_ID}/dns_records" headers = { "Authorization": f"Bearer {CF_API_TOKEN}", "Content-Type": "application/json", } data = {"type":"A","name": RECORD_NAME,"content": ip_address} resp = requests.put(url,json=data,headers=headers) print(resp.json()) if __name__ == '__main__': public_ip = get_public_ip() update_dns_record(public_ip) ``` 这段程序首先通过第三方服务查询最新的公共IPv4地址;接着调用Cloudflare官方提供的RESTful接口来创建或修改现有的A类型解析条目指向新的IP位置[^2]。 为了使上述过程自动化,可考虑借助cron定时任务或其他调度工具安排该脚本周期性运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开摆工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值