解析记录冲突是什么
同一个主机名下不是所有记录类型都能共存:CNAME 一般要求独占,同名位置不能再有 A、AAAA、MX 等记录;而 A/AAAA、MX、TXT 之间通常在满足约束的前提下可以组合。所以新增记录时最容易踩的坑是「加了没生效」——多数情况下不是解析延迟,而是与已有记录冲突。最稳妥的习惯是动手前先查一遍该主机名现有什么记录,把同一主机名的用途拆到不同子域上。
基本信息
| CNAME 约束 | 同名主机通常不能再加其它类型记录(按解析商规则) |
|---|---|
| 可组合 | A/AAAA、MX、TXT 等在满足约束时可共存 |
| 冲突表现 | 新增记录保存失败,或保存成功但查询不到 |
| 检查习惯 | 先查询现有同名记录,再决定新增还是拆分 |
| 拆分方式 | 不同用途用不同子域名承载,避免互相挤占 |
| 注意点 | 根域名与泛解析的记录约束更严格 |
典型使用场景
- 接入 CDN 或对象存储静态站点,需要在主机名上加 CNAME
- 邮件域同时要配 MX 与 SPF/DKIM 的 TXT 记录
- 迁移期需要在同一主机名上并存新旧地址
- 接入第三方校验(域名所有权验证)需新增 TXT
- 申请证书时遇到 DNS 验证失败,需确认 TXT 是否被同名记录挤掉
组合与冲突速查
| 组合 | 是否可共存 | 说明 |
|---|---|---|
| CNAME 与 A | 通常不可 | CNAME 要求独占同名位置 |
| CNAME 与 MX | 通常不可 | 邮件场景要避免在邮件主机名上用 CNAME |
| A 与 AAAA | 可以 | IPv4 与 IPv6 地址并存 |
| MX 与 TXT | 可以 | 邮件域常见组合 |
| TXT 与 A | 可以 | 验证类记录与地址记录互不影响 |
检查同名记录现状
检查同名记录现状
dig +short CNAME www.example.com # 是否已有 CNAME
dig +short A www.example.com # 是否已有 A 记录
dig +short AAAA www.example.com # IPv6 记录
dig +short MX example.com # 邮件记录,注意主机名层级
dig +short TXT example.com # 验证与策略类记录
# 新增前把这几条都跑一遍,避免保存成功但查询不到为接入 CNAME 而覆盖原有 A 记录时,先确认该主机名上还承载哪些业务:覆盖动作可能让监控、内部系统、对端白名单里的地址全部失效,且往往在几小时后才被发现。
冲突问题与缓存问题容易混淆:保存后查不到时,先用指定权威服务器的查询确认记录是否真的写入,再考虑缓存。判断顺序错了会在缓存上花掉大量时间。