概述
根据 DNS 协议规范 RFC1034 和 RFC2181, CNAME 记录具有最高的优先级,一个域名 example.com 配置了 CNAME 记录,即使在权威 DNS 服务器为这个域名添加了 MX、TXT 记录,当用户向递归 DNS(即运营商 DNS 和第三方公共 DNS)请求查询该域名的 MX 记录时,递归 DNS 也会返回 CNAME 记录。
CNAME 展平功能可直接将 CNAME 记录展平为 A/AAAA 记录,解决了部分递归 DNS 服务器无法兼容 CNAME 记录与 MX 等记录的问题,同时在大多数场景下可以有效减小 DNS 时延。开启该功能,您的域名在已经使用 CDN、WAF 等产品的情况下,也可以作为邮箱域名。
工作原理
当开启 CNAME 展平后,云解析 DNSPod 权威解析服务器在 Local DNS 查询 A/AAAA 记录时,将会通过递归查询的方式获取 CNAME 记录所对应的 A/AAAA 记录的 IP 地址,并将 IP 地址直接返回给 Local DNS,不再返回 CNAME 记录值,如下图所示:
说明:
云解析 DNSPod 权威解析服务器将会把查询到的 A/AAAA 结果按照 TTL 分线路缓存,如云解析 DNSPod 权威解析服务器得到的 CNAME 记录对应的 A/AAAA 记录 TTL 值为 60, 则 60 秒内云解析 DNSPod 权威解析服务器不会再去 CNAME 记录域名的权威服务器,查询相同线路的 A/AAAA 记录。
CNAME 展平结果由来自外部 DNS 服务商(如 DNSE3.COM 解析服务商)的 IP 地址组成,其 TTL 对应于外部记录和 DNSPod 所设置的 CNAME记录之间的较低值。
如果您的 CNAME 记录配置了非默认线路,请保证 MX 记录与 CNAME的 线路一致,举例说明:CNAME 记录的线路为境外,MX 记录的线路为默认,请求域名解析时会展平这条 CNAME 记录,但请求 MX 等记录还会返回 CNAME 记录,因为匹配请求时线路优先级更高,优先匹配到境外线路,可添加一条境外线路的 MX 记录。对于主机记录为 @ 的场景,可支持境外请求 MX 等记录,直接匹配到默认线路的 MX 等记录配置。

前提条件
该功能支持企业版和尊享版套餐。
操作步骤
开启 CNAME 展平
说明:
因为展平效果依赖公网请求递归服务器实现,公网波动或递归服务器故障都会导致展平失败,所以展平效果无法承诺 SLA ,请按需使用。
如果 CNAME 展平超过 1600ms, 则返回最近一层 CNAME 记录值,这是 CNAME 展平为解析成功做的兜底规则。
建议域名不要开启 DNSSEC, 因为 CNAME 到其他域名,加密链已不一致。
CDN 厂商可能会在您开启 CNAME 展平后提示“未配置 CNAME 记录”, 可与对应厂商反馈,建议其修改检测规则,指定 CNAME 类型。
如果您设置了智能解析,我们会在 ECS 字段把客户端IP传给递归服务器,如果递归服务器支持,则可获取智能解析结果。
可支持最多 20 个子域名开启 CNAME 展平,可支持 @ 子域名。
1. 登录 云解析 DNS 控制台,在左侧导航栏中选择权威解析,进入我的解析页面。
2. 在我的解析页面中,单击域名名称,进入记录管理页面。如下图所示:

3. 单击解析设置页签,选择 CNAME 展平,在此页面,您可单击开启展平全部 CNAME 记录,则会展平该域名的所有 CNAME 记录,也可以单击添加为特定子域名开启 CNAME 展平。

4. 在添加 CNAME 展平域名弹窗中,输入主机记录及选择线路类型,线路类型选择“全部”则会展平该子域名的所有 CNAME 记录,您也可以选择特定线路,例如北京电信,那么只会对该子域名北京线路的用户 DNS 请求开启 CNAME 展平,选择后,单击添加。

5. 添加完成后,即默认开启 CNAME 展平。在 CNAME 展平的域名列表中,可以查看 CNAME 展平状态,如下图所示:

管理 CNAME 展平
修改 CNAME 展平
1. 在 CNAME 展平的域名列表中,选择目标域名,单击编辑。

2. 在编辑 CNAME 展平域名弹窗中,可切换线路类型。单击修改,即可完成编辑。

删除 CNAME 展平
如果您需删除 CNAME 展平,在 CNAME 展平的域名列表中,选择目标域名,单击删除即可。
