kk Blog —— 通用基础


date [-d @int|str] [+%s|"+%F %T"]
netstat -ltunp
sar -n DEV 1

NAME记录与MX/TXT记录冲突

https://help.laoxuehost.com/domain-name/cname-record-conflicts-with-mx-and-txt-record.html

在部署域名邮箱的时候都会发现,DNS 服务商会提示根域名 MX、TXT 记录和 CNAME 记录有冲突,不能共存。今天,我就来介绍一下这种情况为什么会发生,且如何完美解决。

CNAME 和 MX/TXT 记录冲突的成因

CNAME 记录和 MX、TXT 记录冲突的根本原因在于 CNAME (Canonical NAME) 记录的特殊性。根据 RFC 1034 的规定,根域名不能设置 CNAME 记录,这是由 DNS 服务本身的固有限制决定的。或许你可以在一些 DNS 服务商那里为根域名添加 CNAME 记录,但这些都是不符合 DNS 规范的。如果要将根域名设置为另一个域名的别名,需要设置 ALIAS 记录。在下一节我将具体介绍 ALIAS 记录。

如果根域名设置了 CNAME 记录,会和其他所有的记录相冲突,而最常见的冲突情形就是 MX 记录。对于同一个根域名,CNAME 记录和 A 记录、NS 记录、SOA 记录、TXT 记录等都会冲突,不过这些情形并不常见,所以一般不会造成太大的问题。

我们以同时在根域名设置 CNAME 记录和 MX 记录为例。向该域名的域名邮箱发信且使用 DNS 寻址时,如果先寻到了 CNAME 记录,就无法再获取到该域名对应的 MX 记录。这就会导致使用该域名搭建的域名邮箱在收件时会经常丢信漏信。同时,CNAME 记录不仅与 MX 记录冲突,也会与 TXT 记录冲突,这就会导致为根域名设置的 SPF-TXT 记录无法生效,因此发信时更容易进垃圾箱。

那么问题来了,如果我们要为网站开启 CDN,那么最常见的方式就是使用 CNAME 接入。如果还需要一并使用域名邮箱,那么就不得不造成 CNAME 记录和 MX 记录的冲突。有什么好办法呢?这里我们有三个办法,可以解决这个问题。

system, mail

« 邮件SPF防伪 一个存在10年的tcp建链失败的问题 »