前言
最近工作过程中需要设定邮件服务器,其中涉及到dns服务器的设定。
整理并且记录自己的理解。
种类
A、CNAME、MX、NS、TXT、SPF
下面挨个介绍一下。
A记录/AAAA记录
IPv4:
示例:. IN A 198.51.100.2解释:【domain】 IN A 【IP地址】
IPv6:
示例:. IN AAAA 8fe0::8f61:ac8:30cd:a16e解释:【domain】 IN AAAA 【IP地址】
※IN的意思是「Internet」,不是IN/OUT的「IN」。
干什么用呢?
我们在浏览器输入域名后,需要向DNS服务器请求,找到这个域名对应的服务器IP。上面示例就是这么一条记录。
虽然域名和IP都可以变更,但是相比来说域名变更更加简单和随意。所以当网站更换自己域名的时候,就需要修改这条记录。
CNAME
示例:. IN CNAME .解释:【別名】 IN CNAME 【原名】干什么用呢?
给某一个domain起多个名字。
类似于,,,虽然是不同名字的域名,但是可以指向同一个原名。可以让企业的对外展示更加灵活。
举例:
IN CNAME
IN CNAME
IN A 123.123.123.123 (这条是A记录例子)
MX记录
MX记录(Mail Exchange):邮件路由记录在DNS上设定,用于将邮箱地址@符号后的域名指向邮件服务器。示例:. IN MX 10 .解释:【domain】 IN MX 【优先度】 【邮件服务器】
干什么用呢?
当发信侧服务器给受信侧发邮件时,首先会要求DNS服务器解析受信侧邮箱地址中@后面部分的域名对应的MX记录(DNS的写法可以理解成 的A记录下面,有一行上面示例的MX记录,当然邮箱服务器也有对应的A记录)。
这样,邮件就直接发到对应的MX记录的A记录里的IP了。
例子:给test@发邮件的话,
DNS会返回给发信侧198.51.100.3这个IP
. IN A 198.51.100.2
. IN MX 10 .
. IN A 198.51.100.3
※如果是普通用户通过【】浏览主页,那么DNS继续返回 198.51.100.2 。这个其实也需要DNS判断请求服务器是邮件服务器还是普通的访问。
NS记录
指定域名解析服务器。示例:. IN NS .解释:【domain】 IN NS 【DNS服务器】干什么用呢?
指定该域名由哪个DNS服务器来进行解析。
TXT记录
示例:. IN TXT "联系电话:XXXX"解释:【domain】 IN TXT 【任意字符串】干什么用呢?
一般指某个主机名或域名的说明,或者联系方式,或者标注提醒等等。
SPF记录
SPF记录是TXT记录的一个运用。后面的备注需要按照指定的格式才能有效。
示例:. IN TXT "v=spf1 ip4:198.51.100.1 ~all"解释:【domain】 IN TXT 【送信侧邮件服务器确认规则】
干什么用呢?
从发信侧服务器设定到DNS上的这条记录中,读取信息,判断发信侧是否合法。
如果不符合规则,那么按照约定的规则处理掉。
跟MX记录正好相反。
MX:我是收件服务器,你找我时,请参考我设定到DNS服务器上的MX记录。
SPF:我是发信服务器,你接受邮件时,请参考我设定到DNS服务器上SPF规则。如果不是我发的信,你可以删掉或者接收。
SPF记录规则
格式:
版本 空格 定义 空格 定义 (空格 定义的循环)
跟着例子看的话,比较好理解。
. IN SPF "v=spf1 ip4:192.0.2.1 -all"
v=spf1 是版本。只出现一次。ip4:192.0.2.1 第一个定义-all 第二个定义
定义的格式。
种类
| all | ip4 | ip6 | a | mx | ptr | exists | include|前缀
"+" Pass(通过)
"-" Fail(拒绝)
"~" Soft Fail(软拒绝)
"?" Neutral(中立)
定义测试
测试时,将从前往后依次测试每个定义。
如果一个定义命中了要查询的 IP 地址,则由相应定义的前缀决定怎么处理。默认的前缀为+。
如果测试完所有的 定义也没有命中,则结果为 Neutral。
结果及处理方法一览
后记
有一个问题,调查后更新。
设定好SPF的记录之后怎么快速测试呢?
总不能每次都等DNS更新完再测试吧?
作者:今後次
链接:/p/b483300378af
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。