使用CNAME的DNS会破坏MX记录吗?


42

我们正计划在新的一年中迁移服务器,并希望将我们托管的所有网站迁移到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控制面板获得了上述配置,但不确定是否比其他任何方式都幸运。


这是一个常见的问题,之前已经被问过很多次了。请参阅此链接的例子:serverfault.com/questions/18000/...
拉塞尔Heilling

我确实在寻找答案时花了一点时间,但不知道自己是否在做其他事情。尤其是因为它与一个域名提供商一起运作良好。我的回答是很酷的,希望对某人有用。
johnwards

Answers:


54

这是一个常见错误。您不能将CNAME RR用于您的根域(例如company.com)也不能为同一区域定义其他资源记录。

请参阅为什么我不能为根记录创建CNAME记录?RFC1034的细节部分3.6.2:

如果节点上存在CNAME RR,则不应存在其他数据。这样可以确保规范名称及其别名的数据不能不同。


RFC2181第10.1节在加强上述内容方面也很重要。
哈坎·林奎斯特

也称为先端域名
Alex78191 '17

5

RFC2181第10.3节说,您不能将MX记录指向CNAME:

用作MX资源记录的值的域名不能为别名。


2
但是,那真的不是问题所在的情况吗?
哈坎·林奎斯特

2

我刚搬到使用CNAME而不是A记录的Heroku,而我要做的不是使用my_domain.com指向heroku来创建CNAME,而是使用www.my_domain.com指向heroku来进行CNAME,所以裸/根域未转发,我的MX记录仍然可以使用。然后,我添加了一个指针,将my_domain.com重定向到www.my_domain.com。看起来效果很好。在我的域名提供商中,使用“指针”设置创建了指针,我将其设置为“标准”,“ URL”和“ www.my_domain.com”


连续的工作!感谢您分享!
duhaime

0

我意识到这两个可以完全分开

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用于邮件服务器。


-1

我发现,如果您仅自上而下的记录顺序在CNAME上方订购MX记录,则SOME MX提供程序与SOME DNS提供程序实际上将与裸CNAME一起使用。

它正在使用Office 365 MX记录和裸CNAME记录在Name.com注册服务器上工作,该记录将HTTP定向到另一个域。在测试MX查询时,我注意到我的CNAME结果首先返回,与我的DNS条目顺序相对应,因此我想出了为什么不尝试首先订购MX并查看是否满足MX提供程序的原因。令我惊讶的是,随后通过了Office 365 MX验证,我可以确认入站和出站电子邮件的确在流动。在测试了多个Web客户端之后,HTTP的确也可以解析为指定的CNAME目标主机。

买权人-这显然违背了标准,因此可能不应该考虑任何关键性的事项。我假设记录顺序不在规范中,因此不能正式依赖...即在您忘记此黑客后可能会随时更改。

提示-MX Toolbox的免费页面非常便于检查尝试不同DNS设置的结果。

无耻的塞为我相应的帖子


2
作为无证的行为,这绝对不是我要指望的事情。
ceejayoz

2
这种行为只能被认为是一个错误,缓存名称服务器可能会缓存CNAME响应,而MDA则永远不会看到MX记录工具。ietf.org/ html / rfc5321#section
Jasen

-3

您可以在域的根目录上使用CNAME,但是,这些MX记录也必须在主机记录上进行配置,因此,如果您在yourdomain.com区域和yourdomain的根目录中配置了mx1.mail.com。 com是thisrecord.cname.com的CNAME,还必须确保在该CNAME主机上配置了mx1.mail.com;如果没有,所有邮件将丢失!


4
问题是,按照RFC1034,“如果节点上存在CNAME RR,则不应该存在其他数据” –由于根需要具有NS记录(无论如何都是有用的),所以总会有其他数据,这违反了RFC的这一部分。
Doktor J

我认为答案是正确的,除了MX记录应该在CNAME主机上(而不是在)上。
亚历山大·陶本科布
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.