使用与主机名不匹配的CNAMEreplaceMXlogging

今天,我们有5家公司都使用谷歌的电子邮件服务

example1.com. 3w IN MX 10 mail.Google.com. example2.com. 3w IN MX 10 mail.Google.com. example3.com. 3w IN MX 10 mail.Google.com. example4.com. 3w IN MX 10 mail.Google.com. example5.com. 3w IN MX 10 mail.Google.com. 

下周我们将使用另一个供应商(思科)。 我们可以指向MX中的A或CNAME吗?

 example1.com. 3w IN MX 10 myCNAMEToCisco.example.com. example2.com. 3w IN MX 10 myCNAMEToCisco.example.com. example3.com. 3w IN MX 10 myCNAMEToCisco.example.com. example4.com. 3w IN MX 10 myCNAMEToCisco.example.com. example5.com. 3w IN MX 10 myCNAMEToCisco.example.com. 

这个想法是,我可以将myCNAMEToCisco.example.com更改为任何其他供应商。 我的担心是,当客户说helo domain.com和220响应可能包含一个意外的主机或域名时,可​​能会有一些奇怪的validation。

以这种方式在电子邮件中使用CNAME或Alogging是否存在问题?

如果您将MXlogging指向CNAMElogging,那么肯定会造成问题,因为它违反了标准。 RFC2181§10.3提供了最清晰的解释:

10.3。 MX和NSlogging

用作NS资源logging的值或MX资源logging的一部分值的域名不能是别名。 这个规范不仅说明了这一点,而且在这两个位置上使用别名既不是可能的希望,也不能很好地实现可能导致这种方法的雄心。 该域名必须具有一个或多个地址logging的值。 目前这些将是Alogging,但是将来其他loggingtypes给出寻址信息可能是可以接受的。 它也可以有其他的RR,但从来没有一个CNAME RR。

searchNS或MXlogging会导致“附加部分处理”,其中与所查找的logging的值相关联的地址logging被附加到答案上。 这有助于避免在第一次创build时不必要的额外查询。

附加部分处理不包括CNAMElogging,更不用说可能与从别名派生的规范名称相关联的地址logging。 因此,如果使用别名作为NS或MXlogging的值,则不会使用NS或MX值返回地址。 这可能会导致额外的查询和额外的networking负担,每个查询。 DNSpipe理员通过parsing别名,并在更新或安装时将规范名称直接放入受影响的logging中来避免这种情况是微不足道的。 在某些特定情况下,NS查找结果中缺less额外的段地址logging可能导致请求失败。

您可能会通过search引擎发现一些 DNS和MTA软件支持这一点的轶事证据,但这应该被认为是例外而不是规则。 缺乏这种支持不会被大多数软件作者认为是一个错误。 总是避免在CNAME处指向MXlogging。


你现在面临的最大问题是你的例子中的MXlogging的TTL都是三个星期,你的变化是下周 。 强烈build议您请求切换延迟,并将您的TTL降低到十分钟附近的某个地方。 一旦切换完成,您可以再次提升TTL。