我们正在尝试将我们托管的所有网站迁移到 CNAMES,因为我们计划在新年迁移服务器,并希望能够将一些客户迁移到一台服务器,而将其他客户迁移到其他地方。我们计划为客户提供一个唯一的 CNAME,然后我们可以在以后更改。(我们现在这样做还有其他原因,但这是主要原因)
我们已经用我们自己的几个域名测试了这个理论,似乎没问题。然而,当检查域名上的 MX 记录时,我得到的是 CNAME 值,而不是 MX 记录。
遗憾的是,所有这些域名都是通过控制面板完成的,但我猜他们只是在为我编写区域文件。
我想为 company.com 创建 2 个 CNAME
company.com. IN CNAME client.dns.ourserver.com
www IN CNAME client.dns.ourserver.com
MX 记录类似以下内容:
company.com IN MX 10 mail.company.com
我们有 mail.company.com 的 A 记录
正在做:
host -t mx company.com
返回 CNAME 值而不是 mx 记录。
这是预期的行为吗?
我已经设法使上述配置与 123-reg.co.uk 控制面板一起工作,但不确定这是否更多的是运气。
答案1
这是一个常见错误。您不能对根域使用 CNAME RR(例如 company.com)和为同一区域定义额外的资源记录。
看为什么我无法为根记录创建 CNAME 记录?和RFC1034详情请参阅第 3.6.2 节:
如果节点上存在 CNAME RR,则不应存在其他数据;这确保了规范名称和其别名的数据不会有所不同。
答案2
RFC2181 第 10.3 节规定您不能将 MX 记录指向 CNAME:
用作 MX 资源记录的值 ... 的域名不能是别名。
答案3
我刚刚转到 Heroku,它使用 CNAME 而不是 A 记录,而我要做的是,不是使用 my_domain.com 指向 heroku 创建 CNAME,而是使用 www.my_domain.com 指向 heroku,这样裸域/根域就不会转发,我的 MX 记录仍然有效。然后我添加了一个指针,将 my_domain.com 重定向到 www.my_domain.com。它似乎工作得很好。在我的域名提供商中,指针是使用“指针”设置创建的,我将其设置为“标准”、“URL”和“www.my_domain.com”
答案4
我开始意识到这两者可以完全分开
mydomain.com. - A Record - 01.0.0.1
mydomain.com - CNAME - www.cname.eg.com
除非您使用自己的服务器作为邮件服务器,否则它实际上不会影响任何东西。邮件将查找 mydomain.com MX 记录。只有当它像这样时才会受到影响
mydomain.com - MX - mail.mydomain.com
但如果是这样(意味着你正在使用单独的邮件服务器),它不会受到影响
mydomain.com - MX - mail.mycustommailserver.com
您不能将 IP 用于邮件服务器。