You need to enable JavaScript to run this app.
导航

避免解析记录冲突或不生效

最近更新时间2024.04.16 18:54:19

首次发布时间2022.04.25 16:02:10

您在火山引擎云解析(DNS)中创建解析记录时,需要注意以下问题:

  • 同一个域名的多个解析记录之间可能存在冲突。
  • NS 记录会造成其他记录不生效。

解析记录冲突

在同一个域名中,如果您创建的解析记录和已有的解析记录存在冲突,您无法创建该解析记录。

说明

  • 只有主机记录相同的解析记录才有可能发生冲突。主机记录不同的解析记录不会发生冲突。
  • 解析记录的冲突只可能发生在相同线路中。不同线路中的解析记录不会发生冲突。
  • ✅ 表示不冲突。同一域名下的相同线路中,不冲突的解析记录可以共存。例如,example.com 域名下,主机记录为 @ 的 A 记录可以与主机记录为 @ 的 NS 记录共存。
  • ❌ 表示冲突。同一域名下的相同线路中,冲突的解析记录不能共存。例如,example.com 域名下,主机记录为 @ 的 CNAME 记录不能与主机记录为 @ 的 A 记录共存。
  • ↔️ 表示可重复。可重复的解析记录属于同一个记录集。

主机记录是 @ 时

主机记录为 @ 时,同一域名下线路相同的解析记录的冲突情况如下:

记录类型

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

↔️

主机记录是 @ 时,CNAME 记录与 NS 记录可以共存

警告

火山引擎不推荐您在同一个域名下的同一线路中同时创建 CNAME 记录和 NS 记录,因为根据 RFC 1912,CNAME 记录不能与其他解析记录共存。如果您的做法违反了 RFC 1912,您的域名解析可能在某些情况下不工作。

根据 RFC 1912,CNAME 记录不能与其他解析记录共存。但是,有些网站可能为二级域名和三级域名都设置了 DNS 解析记录。例如,某网站的域名同时包括 www.example.comexample.com。两个域名都配置了 DNS 解析和 CDN 加速服务。为了同时给 example.com 配置 DNS 服务器和 CDN 加速服务,网站管理员需要为 example.com 创建以下解析记录:

  • 一条 CNAME 记录,指向 CDN 加速服务提供的 CNAME。
  • 一条 NS 记录,指向火山引擎云解析(DNS)之外的第三方 DNS 服务器。

为了支持这种场景,在云解析 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 记录与 MX 记录可以共存

警告

火山引擎不推荐您在同一个域名下的同一线路中同时创建 CNAME 记录和 MX 记录,因为根据 RFC 1912,CNAME 记录不能与其他解析记录共存。如果您的做法违反了 RFC 1912,您的域名解析可能在某些情况下不工作。
例如,如果电子邮件服务器所使用的 Local DNS 服务器优先返回了 CNAME 记录,那么电子邮件收件可能会失败。

根据 RFC 1912,CNAME 记录不能与其他解析记录共存。但是,有些网站可能为二级域名同时配置了 CDN 加速服务和电子邮件服务。为了同时给 example.com 配置 CDN 加速服务和电子邮件服务,网站管理员需要为 example.com 创建以下解析记录:

  • 一条 CNAME 记录,指向 CDN 加速服务提供的 CNAME。
  • 一条或多条 MX 记录,指向电子邮件服务器。

为了支持这种场景,在云解析 DNS 中,当主机记录为 @ 时,同一域名下的 CNAME 记录与 MX 记录可以在同一线路中共存。对于同时存在 CNAME 记录和 MX 记录的域名,您可以使用 dig MX 命令获取 MX 记录。
例如,您为域名 example.com 创建了以下记录:

@.example.com      600           IN    CNAME    abc.example.com.
@.example.com      600           IN    MX   10   mx1.example.com.
@.example.com      600           IN    MX   10   mx2.example.com.

您可以使用以下命令获取 MX 记录。

dig example.com MX

主机记录是 @ 时,CNAME 记录与 TXT 记录可以共存

警告

火山引擎不推荐您在同一个域名下的同一线路中同时创建 CNAME 记录和 TXT 记录,因为根据 RFC 1912,CNAME 记录不能与其他解析记录共存。如果您的做法违反了 RFC 1912,您的域名解析可能在某些情况下不工作。
例如:

  • 如果您添加的 TXT 记录是用作 SPF 记录的,域名所对应的邮箱可能收不到邮件或发送的邮件被拒收。
  • 如果您添加的 TXT 记录是用于验证域名所有权的,验证可能会失败。

根据 RFC 1912,CNAME 记录不能与其他解析记录共存。但是,有些网站可能在为二级域名配置了 CDN 加速服务的同时,也需要为二级域名添加 TXT 记录用作 SPF 记录或验证域名所有权。为了支持这种场景,在云解析 DNS 中,当主机记录为 @ 时,同一域名下的 CNAME 记录与 TXT 记录可以在同一线路中共存。

NS 记录会造成其他记录不生效

云解析 DNS 为每个域名自动创建 NS 解析记录和 SOA 解析记录。NS 解析记录包含云解析 DNS 的全部 DNS 服务器。一般情况下,您无需更改这两条记录。因此,云解析 DNS 的控制台不会显示这两条记录。如果您把解析记录 导出为 .zone 文件,您会在 .zone 文件中看到 NS 记录和 SOA 记录。
例如,您为域名 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.comforum.test.example.com 的解析记录都不会生效。
如果您使用以下命令查询域名的 A 记录,您无法得到 A 记录。

dig a example.com