DDNS

Cloudflare DNS 配置指南

概述

Cloudflare 是全球领先的 CDN 和网络安全服务提供商,提供权威 DNS 解析服务,支持动态 DNS 记录的创建与更新。本 DDNS 项目通过 Cloudflare API 进行 DNS 记录的自动管理。

官网链接:

认证信息

1. API Token 认证(推荐)

API Token 方式更安全,支持精细化权限控制,是 Cloudflare 推荐的集成方法。

获取认证信息

  1. 登录 Cloudflare 控制台
  2. 进入”我的个人资料” > “API 令牌”或访问 https://dash.cloudflare.com/profile/api-tokens
  3. 点击”创建令牌”,选择”自定义令牌”模板
  4. 配置权限:
    • 区域:读取 (Zone:Read)
    • DNS:编辑 (Zone:DNS:Edit)
  5. 选择要管理的域名区域
  6. 复制生成的 API Token,令牌只显示一次,请妥善保存
{
    "dns": "cloudflare",
    "token": "your_cloudflare_api_token"  // Cloudflare API Token, ID 留空或者不填
}

2. Global API Key 认证(不推荐)

使用 Cloudflare 账户邮箱和 Global API Key,权限过大,安全性较低,仅建议特殊场景使用。

获取 Global API Key

  1. 登录 Cloudflare 控制台
  2. 进入”我的个人资料” > “API 令牌”
  3. 查看”Global API Key”并复制
{
    "dns": "cloudflare",
    "id": "your-email@example.com",    // Cloudflare 账户邮箱
    "token": "your_global_api_key"     // Cloudflare Global API Key
}

权限要求

确保使用的 Cloudflare 账号具有以下权限:

API Token 权限

Global API Key 权限

可以在 Cloudflare API 令牌管理 中查看和配置权限。

完整配置示例

{
    "$schema": "https://ddns.newfuture.cc/schema/v4.0.json", // 格式验证
    "dns": "cloudflare",                // 当前服务商
    "token": "your_cloudflare_api_token", // Cloudflare API Token
    "index4": ["url:http://api.ipify.cn", "public"], // IPv4地址来源
    "index6": "public",                     // IPv6地址来源
    "ipv4": ["ddns.newfuture.cc"],           // IPv4 域名
    "ipv6": ["ddns.newfuture.cc", "ipv6.ddns.newfuture.cc"], // IPv6 域名
    "ttl": 300,                             // DNS记录TTL(秒)
    "proxied": false                        // 是否启用 Cloudflare 代理
}

参数说明

参数 说明 类型 取值范围/选项 默认值 参数类型
dns 服务商标识 字符串 cloudflare 服务商参数
id 认证邮箱 字符串 Cloudflare 账户邮箱(仅 Global API Key) 服务商参数
token 认证密钥 字符串 Cloudflare API Token 或 Global API Key 服务商参数
index4 IPv4 来源 数组 参考配置 default 公用配置
index6 IPv6 来源 数组 参考配置 default 公用配置
ipv4 IPv4 域名 数组 域名列表 公用配置
ipv6 IPv6 域名 数组 域名列表 公用配置
ttl TTL 时间 整数(秒) 参考下方 300/auto 服务商参数
proxy 代理设置 数组 参考配置 公用网络
ssl SSL 验证方式 布尔/字符串 "auto"truefalse auto 公用网络
cache 缓存设置 布尔/字符串 truefalsefilepath true 公用配置
log 日志配置 对象 参考配置 公用配置

参数类型说明

ttl

ttl 参数指定 DNS 记录的生存时间(TTL),单位为秒。Cloudflare 的 TTL 设置根据记录是否启用代理而有所不同。

代理记录 (Proxied Records)

所有代理记录的 TTL 默认为 Auto,固定设置为 300 秒(5 分钟),此值无法编辑

由于只有用于 IP 地址解析的记录才能被代理,此设置确保分配的任播 IP 地址的潜在变化能够快速生效,因为递归解析器不会将其缓存超过 300 秒。

注意:实际体验记录变化可能需要超过 5 分钟,因为本地 DNS 缓存可能需要更长时间才能更新。

非代理记录 (Unproxied Records)

对于仅 DNS 记录,您可以选择以下 TTL 范围:

套餐类型 支持的 TTL 范围(秒) 说明
Free/Pro/Business 60 - 86400 最低 TTL 为 1 分钟
Enterprise 30 - 86400 最低 TTL 为 30 秒

参考:Cloudflare TTL 说明

故障排除

调试模式

启用调试日志查看详细信息:

ddns -c config.json --debug

常见问题

支持与资源

建议:推荐使用 API Token 方式,支持精细化权限控制,提升账号安全性,避免使用 Global API Key。