服务对象与地域限制
PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。
代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。
本文要点
- 一个集合包含2–5个自定义NS名称,可供同账户多个区域复用;集合不可编辑,旧custom_ns配置仍受支持。
- 标准与Advanced集合都支持每个名称各1–3个IPv4和IPv6地址;Advanced集合所有名称的ip_count必须相同,且需Foundation DNS。
- 先准备每个名称自己的A/AAAA及必要的父区胶水记录,再指定集合并更新注册商或父区的NS委派;API成功不等于委派已经生效。
- 切换和删除要考虑传播及旧记录清理;官方这三份页面未提供DNSSEC/DS迁移方案、固定传播时限或具体价格。
先分清Enterprise Beta与Advanced的额外资格
10月14日公告推出新的账户级名称服务器集合。Beta面向Enterprise客户,只有API入口;集合与使用它的区域必须属于同一账户。标准集合与Advanced自定义集合是两种类型,后者还要求Foundation DNS订阅,不能只凭Enterprise身份就省略这项条件。
新集合独立于原有区域级、账户级和租户级自定义名称服务器。旧配置不能直接转换成新集合,同一区域一次只能使用一种配置;旧custom_ns仍受支持,同一账户可以保留两种方案。新的集合对象不再受旧制5个编号集合的限制。
集合可以重复分配,但创建后不可修改,只能创建或删除。需要改变名称时,应准备新的集合并明确重新指定区域;不能把新增或移除名称当作对已使用集合的区域进行自动更新。目前也不能将集合设为新增区域的DNS默认值。
规划名称、地址数量与ip_set,避免父子区冲突
每个集合需要2–5个唯一的小写名称;国际化域名使用Punycode。名称可来自任意域名,不要求那个域名本身已经是Cloudflare区域;同一名称也可在账户内的多个集合中使用。
ip_count表示每个名称要分配多少个IPv4地址和多少个IPv6地址,取值1–3,默认1。标准集合可以为各名称设不同数量;Advanced集合必须让所有名称的ip_count相同。不要把“最多3个”理解为每个名称必须各填3个。
ip_set省略时为1。相同ip_set与advanced值可能复用地址,改变其中任一个则使用不同地址组;标准1与Advanced 1也是不同组。区域不能与其父区、子域区域或另一账户中的同名区域使用相同NS地址;遇到这种分配冲突,应选择不同ip_set的集合。
Advanced集合的ipv4_groups和ipv6_groups分别按数组位置对应每个地址。a与b是两组互不重叠的数据中心,c覆盖全部Cloudflare数据中心并包含a、b。三组不是彼此独立的三份网络,任播冗余也不等于零故障保证。
创建集合,保存返回的ID与逐名称地址
通过POST /accounts/{account_id}/dns_settings/nameserver_sets创建集合,nameservers中列出各个name和所需ip_count,并按规划提供ip_set。标准集合省略advanced或设为false;Advanced集合设为true,同时满足Foundation DNS及数量一致的要求。
返回结果会给出集合ID,以及每个名称各自的ipv4和ipv6数组;Advanced结果还包含对应的网络组数组。后续记录与核对都应按名称保存这份映射,不能只把所有地址汇总成一个池。
账户内不能存在名称与地址完全相同的两个集合。文档另提供列表及单个集合查询方式;创建接口的具体令牌权限未在本次阅读的页面中单独确认,不应把下文的区域写权限当成创建接口的完整授权说明。
先准备A/AAAA,区分需要胶水记录的情况
Cloudflare不会替名称服务器集合创建或更新DNS记录,即使这些名称所属的域名也使用Cloudflare DNS。应在每个NS名称的权威DNS服务商处,建立包含该名称全部已分配地址的A和AAAA记录。
如果NS名称位于将使用集合的区域内部,例如example.com使用ns1.example.com,就属于in-bailiwick,需要在父区提供可用的胶水记录。域名使用Cloudflare Registrar时,官方要求联系Cloudflare Support添加胶水记录。
区域外的名称不会仅因被选为NS就天然需要父区胶水记录。胶水记录与名称自身的权威A/AAAA不是同一项配置;后者仍需正确。不要把“Cloudflare不单独验证父区胶水”误读为递归解析不需要可用胶水。
指定集合后,还要更新注册商或父区的NS
用PATCH /zones/{zone_id}/dns_settings,将nameservers.type设为custom,并将nameserver_set_id设为创建时返回的ID。该区域指定操作需要Zone DNS Settings Write或DNS Write令牌权限中的至少一种;标准和Advanced自定义集合都使用type: custom。
指定集合会替换区域原有的Cloudflare品牌标准或Advanced名称服务器,或原有名称服务器集合。如果集合地址与父区、子域区域或另一账户同名区域冲突,指定会失败,需要使用不同ip_set的集合。
随后在该区域的注册商处,把权威NS改为集合中的全部名称;若区域通过父区委派,则在父区更新NS。区域API配置和父区实际返回的委派是两个核对对象,完成其中一个不代表另一个已更新或传播完成。
核对激活条件:每个名称都要单独匹配
未使用multi-provider DNS时,要同时精确匹配三项:父区返回的NS名称集合等于所选集合;每个名称的实时A答案等于它分配到的IPv4地址;每个名称的实时AAAA答案等于它分配到的IPv6地址。这些条件用于激活并保持区域有效。
地址按名称分别验证。即使所有NS记录合起来覆盖了全部地址,把ns1的地址填到ns2上仍不能替ns1满足要求。Cloudflare不单独检查父区胶水,区域内NS仍需可用胶水,供递归解析器找到它。
使用multi-provider DNS时,父区NS中必须包含每个预期名称,每个名称也必须返回其全部已分配IPv4和IPv6地址;允许存在额外名称和地址。不能把这一宽松条件套用到未启用multi-provider的区域。
退出或删除时,先处理委派与旧记录传播
仍被区域使用的集合不能删除。官方退出示例先把区域的名称服务器类型改回cloudflare.standard或cloudflare.advanced,并在注册商更新名称服务器;同样要考虑通过父区委派的场景。
等委派或名称服务器变更传播后,再移除过时的A、AAAA和父区胶水记录,并等待这些删除传播。确认没有区域继续使用该集合且清理已传播后,才通过DELETE /accounts/{account_id}/dns_settings/nameserver_sets/{id}删除。
删除后,Cloudflare不保留旧集合的名称与地址对应关系,新集合可能取得不同地址。这也是不能先删旧集合、再假定原地址可原样重建的原因。
这三份页面没有给出DNSSEC的DS/密钥迁移步骤、固定传播时限或具体费用。已有DNSSEC签名区域仍需另行确认适用的迁移安排;本文不构成保证不停机的完整迁移配方,也没有自动停用或重开DNSSEC的通用指令。
资料来源
常见问题
Business或Free套餐也能使用这次Beta吗?已有自定义NS会失效吗?
官方将名称服务器集合Beta限定为Enterprise客户,且通过API使用;Advanced自定义集合还需Foundation DNS订阅。旧custom_ns仍受支持,同一账户可保留旧配置,但同一区域不能同时使用新集合与旧配置,也不能直接把旧配置转换成集合。
区域PATCH成功后,还需要去注册商设置吗?
需要。还要在注册商或负责委派的父区设置集合中的全部NS名称,并准备每个名称的A/AAAA及必要胶水。未使用multi-provider DNS时,父区NS和各名称的实时地址必须与指定集合精确匹配;API返回成功不代表这些外部配置或传播已经完成。
激活失败,可以把所有地址都填到一个NS名称上吗?
不能用这种方式满足逐名称要求。Cloudflare分别核对每个名称分配到的IPv4与IPv6地址,不接受靠集合内其他名称的地址补足。另需检查父子区或另一账户同名区域的地址冲突;这种情况应使用不同ip_set的集合。
有了Advanced任播组,就能免费且不停机迁移吗?
不能这样推断。Advanced集合要求Foundation DNS,页面没有公布本次具体价格,也没有提供DNSSEC/DS迁移方案、固定传播完成时间或零中断保证。应先确认账户资格和适用迁移安排,再按官方记录、委派与激活条件准备,不能把冗余设计当成迁移结果承诺。