域名别名CNAME的详细解释与说明

如果你打算在域名中使用别名(CNAME)记录,最好先仔细阅读下面的文字,因为我们大多数人都没有理解域名别名(CNAME)记录的工作方式。

  域名别名(CNAME)并非简单的将一个域名的A记录转换成另一个域名的A记录。实际上域名别名(CNAME),是将一个域名的所有记录(A,MX等)都转向另外的域名。所以,对一个域名设置了别名记录,再给它设置其它的记录,是违反DNS协议的。

   例如:对域名"one.com"设置别名(CNAME)让它指向"two.com"。此时不能再给"one.com"设置邮件交换(MX)记录,这样做 是违反DNS协议的(这种错误在DNS配置中很常见)。如果将邮件发往"root@one.com",邮件客户端将查询"one.com"的邮件交换 (MX)记录,将取得"one.com"的别名(CNAME)记录"two.com",之后又向DNS查询"two.com"的邮件交换(MX)记录,成 功取得"two.com"的邮件服务器后,邮件将被发向该邮件服务器,如果该邮件服务器没有设置接受"root@one.com"的邮件,那么邮件就会被 退回。需要特别注意的是,并非所有的邮件客户端都能理解域名别名(CNAME),完成上述过程。即使所有设置都无误,有的邮件客户端也会发送失败。因此, 最好不要对你的根域直接设置别名(CNAME),邮件交换(MX)记录值最好不是别名(CNAME)。

  如上述过程,域名别名(CNAME)会带来再次的DNS查询,会造成延时,会带来额外的网络带宽消耗。因此,除非必要,否则最好不要使用别名(CNAME),大多数情况下并不需要设置别名(CNAME),可以直接设置成A记录。

  最后再次提醒广大网友,在没有完全理解域名别名(CNAME)的工作方式前,最好不要不要使用它。