我可以只使用 A 记录吗?CNAME 记录实际上能带来什么?

我可以只使用 A 记录吗?CNAME 记录实际上能带来什么?

所以我理解 A 记录指向 IP,而 CNAME 记录只是指向其他 A/CNAME 记录的指针。仅使用 A 记录有什么缺点。CNAME 记录只是为了方便和组织吗?例如,5 个子域使用 A 记录指向同一个 IP,而不是使用 CNAME 指向主域。

答案1

如果您有控制权,A 记录会更好 - 解决速度更快且易于理解。

CNAMES 填补了您指向无法完全控制的资源的空白。

值得注意的是,CNAME 并非“记录只是指向其他 A/CNAME 记录的指针”——尽管这种误解很常见,而且它们的行为通常也类似,但这种误解会带来意想不到的后果。CNAME 代表规范名称——它将自身及其左侧的所有内容映射到另一个域。因此,如果您在同一级别拥有 MX 记录和 CNAME 记录,则 MX 记录将被忽略。

答案2

通常我推荐的 DNS 设置是给主机名 A 记录和服务名 CNAME 记录,假设您有一个 domain.com 域,从那里您有 host01 ~ host99 服务器和 www 或 mongodb 服务名称。

首先,最好将 mongodb 客户端设置为通过以下方式连接mongodb.domain.com,如果你需要切换 mongodb 的主机host31.domain.comhost45.domain.com你不需要 IP调包,只需更新您的 DNS 就可以了。

现在,如果mongodb.domain.com指向与以下相同的 IP 地址:host45.domain.com有一天你必须搬家主机45从达拉斯到里约热内卢,因此需要一个新的 IP 地址,您必须更新所有不相关的主机名(mongodb.domain.comrabbitmq.domain.com主-mdb.domain.comrs1-mdb.domain.com等)以反映 IP 同时更改host45.domain.com,这必定会在一周后被遗忘,并成为一个 IT 事件。

另一方面,如果你放置mongodb.domain.com CNAME host45.domain.com你需要做的就是更新主机45的记录,其他一切将效仿。

正如@davidgo 指出的那样,不拥有 SOA 的主机也可能会更改其 IP,因此 google.domain.com 应该CNAME www.google.com代替172.217.28.4

这就是我所做的,希望能帮助你们简化 IT 管理。

相关内容