如何处理@与mail解析的冲突

邮箱,我所欲也;网站,亦我所欲也,二者可以得兼。

17/08/05 |
如何处理@与mail解析的冲突

域名邮箱是个好东西,不过配置的时候可能会遇到一些很梗的事情

这里拿阿里邮箱阿里云解析做例子,其他邮箱类似
如果你非要说我安利什么,那也没关系啦~

开始探究

使用阿里邮箱时,需要添加几条解析:

操作解析的域名 解析记录类型 优先级 解析记录值
@ MX 5 mxn.mxhichina.com.
@ MX 10 mxw.mxhichina.com.
pop3 CNAME pop3.mxhichina.com.
smtp CNAME smtp.mxhichina.com.
mail CNAME mail.mxhichina.com.
@ TXT “v=spf1 include:spf.mxhichina.com -all”

看上去没什么毛病,对吧?

那我们再来看一张关于在 RR 值(主机头)相同的情况下,域名解析类型冲突限制规则的表:

NS CNAME A URL MX TXT AAAA SRV
NS 可重复 X X X X X X
CNAME X X X X X X X
A X X 可重复 X 无限制 无限制 无限制
URL X X X X 无限制 无限制 X
MX X X 无限制 无限制 可重复 无限制 无限制
TXT X X 无限制 无限制 无限制 可重复 无限制
  • 在 RR 值相同的情况下,同一条线路下,在几种不同类型的解析中不能共存( X 为不允许)

    1、X:在相同的 RR 值情况下,同一条线路下,不同类型的解析记录不允许共存。如:已经设置了 www.example.com 的 A 记录,则不允许再设置 www.example.com 的 CNAME 记录;

    2、无限制: 在相同的 RR 值情况下,同一条线路下,不同类型的解析记录可以共存。如:已经设置了 www.example.com 的 A 记录,则还可以再设置 www.example.com 的 MX 记录;

    3、可重复: 指在同一类型下,同一条线路下,可设置相同的多条 RR 值。如:已经设置了 www.example.com 的 A 记录,还可以再设置 www.example.com 的 A 记录。

表格打的好累(:з 」∠)

然后再仔细对比看看,会不会发现点什么?嗯对,

MXA 记录 不会 起冲突
MXCNAME 记录 起冲突

可以清楚的是,
解析域名时广泛使用 ACNAME 记录
因为两者存在一定的冲突关系,所以,
这就是我为什么在引言中说可能而不是一定的原因

在这个动不动攻击网站的时代,
站长不太可能使用 A 记录 解析域名,而是选择使用 CDN 来缓解主机压力以及防止暴露主机IP信息
而大多数 CDN 需要将主机记录以 CNAME 记录形式 解析到他们的服务上
前面说过, MXCNAME 记录 存在冲突,

所以该怎么办呢?

  1. 使用像CloudFlare这类使用DNS解析的CDN服务商,
  2. 该用其他记录代替根@, 比如mail.example.com,
    不过这样会失去装x的意义(毕竟多了一级域名[doge])

文章中用到的专业术语可能不是很准确,望各位海涵
几年前的草稿, 因为偷懒没有写完一直存在本地,
补充了下然后发了, 如果文中内容有错误可以指出.
– 2020.04.02 @ Hstb