最近更新时间:2023.04.25 21:23:34
首次发布时间:2022.04.25 16:02:10
您在火山引擎云解析(DNS)中创建解析记录时,需要注意以下问题:
在同一个域名中,如果您创建的解析记录和已有的解析记录存在冲突,您无法创建该解析记录。
说明
说明
根据 RFC 1912,CNAME 不能与其他解析记录共存。云解析 DNS 为了方便您创建多条 CNAME 记录,自动为 CNAME 记录开启负载均衡并默认为 CNAME 记录设置了权重。您无法为 CNAME 记录关闭负载均衡。
✅ 表示不冲突。同一域名下的相同线路中,多个不冲突的解析记录可以共存。例如,example.com 域名下,主机记录为 @ 的 A 记录可以与主机记录为 @ 的 NS 记录共存。
❌ 表示冲突。同一域名下的相同线路中,多个冲突的解析记录不能共存。例如,example.com 域名下,主机记录为 @ 的 CNAME 记录不能与主机记录为 @ 的 A 记录共存。
↔️ 表示可重复。可重复的解析记录属于相同的类型。多个可重复的解析记录不能在同一域名下的相同线路中共存。但是,您可以通过在同一条解析记录中设置多个记录值的方法创建多个可重复的解析记录。例如,您可以在 example.com 域名下创建一条主机名为 @ 的 A 记录,然后在 A 记录中添加多个 IPv4 地址作为记录值。
主机记录为 @ 时,同一域名下线路相同的解析记录的冲突情况如下:
记录类型 | NS | CNAME | A | MX | TXT | AAAA | SRV | CAA |
---|---|---|---|---|---|---|---|---|
NS | ↔️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
CNAME | ✅ | ↔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
A | ✅ | ❌ | ↔️ | ✅ | ✅ | ✅ | ✅ | ✅ |
MX | ✅ | ❌ | ✅ | ↔️ | ✅ | ✅ | ✅ | ✅ |
TXT | ✅ | ❌ | ✅ | ✅ | ↔️ | ✅ | ✅ | ✅ |
AAAA | ✅ | ❌ | ✅ | ✅ | ✅ | ↔️ | ✅ | ✅ |
SRV | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ↔️ | ✅ |
CAA | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ↔️ |
主机记录不是 @ 时,同一域名下线路相同且主机记录相同的解析记录的冲突情况如下:
记录类型 | NS | CNAME | A | MX | TXT | AAAA | SRV | CAA |
---|---|---|---|---|---|---|---|---|
NS | ↔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
CNAME | ❌ | ↔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
A | ❌ | ❌ | ↔️ | ✅ | ✅ | ✅ | ✅ | ✅ |
MX | ❌ | ❌ | ✅ | ↔️ | ✅ | ✅ | ✅ | ✅ |
TXT | ❌ | ❌ | ✅ | ✅ | ↔️ | ✅ | ✅ | ✅ |
AAAA | ❌ | ❌ | ✅ | ✅ | ✅ | ↔️ | ✅ | ✅ |
SRV | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ↔️ | ✅ |
CAA | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ↔️ |
根据 RFC 1912,CNAME 记录不能与其他解析记录共存。但是,有些网站可能为二级域名和三级域名都设置了 DNS 解析记录。例如,某网站的域名同时包括 www.example.com 和 example.com。两个域名都配置了 DNS 解析和 CDN 加速服务。为了同时给 example.com 配置 DNS 服务器和 CDN 加速服务,网站管理员需要为 example.com 创建以下解析记录:
为了支持这种场景,在云解析 DNS 中,当主机记录为 @ 时,同一域名下的 CNAME 记录与 NS 记录可以在同一线路中共存。对于同时存在 CNAME 记录和 NS 记录的域名,您可以使用 dig NS
命令获取 NS 记录。
例如,您为域名 example.com 创建了以下记录:
@.example.com 600 IN CNAME abc.example.com. @.example.com 600 IN NS ns1.example.com.
您可以使用以下命令获取 NS 记录。
dig example.com NS
警告
火山引擎不推荐您在同一个域名下的同一线路中同时创建 CNAME 记录和 NS 记录,因为根据 RFC 1912,CNAME 记录不能与其他解析记录共存。如果您的做法违反了 RFC 1912,您的域名解析可能在某些情况下不工作。
例如,您为域名 example.com 创建了以下记录:
@.example.com 600 IN CNAME abc.example.com. @.example.com 600 IN NS ns1.example.com.
您可以使用以下命令获取 NS 记录。
dig example.com NS
云解析 DNS 为每个域名自动创建 NS 解析记录和 SOA 解析记录。NS 解析记录包含云解析 DNS 的全部 DNS 服务器。一般情况下,您无需更改这两条记录。因此,云解析 DNS 的控制台不会显示这两条记录。如果您把解析记录 导出为 .zone 文件,您会在 .zone 文件中看到 NS 记录。
例如,您为域名 example.com 创建了以下记录:
www.test.example.com 600 IN A 1.1.1.1 shop.test.example.com 600 IN A 2.2.2.2 forum.test.example.com 600 IN A 3.3.3.3 test.example.com 600 IN NS ns1.example.com.
test.example.com 是一条 NS 记录,指向云解析 DNS 之外的 DNS 服务器。www.test.example.com, shop.test.example.com 和 forum.test.example.com 的解析记录都不会生效。
如果您使用以下命令查询域名的 A 记录,您无法得到 A 记录。
dig a example.com