DNS的A、CNAME、MX、NS、TXT、SPF记录

DNS的A、CNAME、MX、NS、TXT、SPF记录,第1张

最近工作过程中需要设定邮件服务器,其中涉及到dns服务器的设定。

整理并且记录自己的理解。

A、CNAME、MX、NS、TXT、SPF

下面挨个介绍一下。

我们在浏览器输入域名后,需要向DNS服务器请求,找到这个域名对应的服务器IP。上面示例就是这么一条记录。

虽然域名和IP都可以变更,但是相比来说域名变更更加简单和随意。所以当网站更换自己域名的时候,就需要修改这条记录。

给某一个domain起多个名字。

类似于,jd.com,jd360.com,jingdong.com虽然是不同名字的域名,但是可以指向同一个原名jd.com。可以让企业的对外展示更加灵活。

举例:

jd360.com IN CNAME jd.com

jingdong.com IN CNAME jd.com

jd.com IN A 123.123.123.123 (这条是A记录例子)

当发信侧服务器给受信侧发邮件时,首先会要求DNS服务器解析受信侧邮箱地址中@后面部分的域名对应的MX记录(DNS的写法可以理解成 example.com 的A记录下面,有一行上面示例的MX记录,当然邮箱服务器也有对应的A记录)。

这样,邮件就直接发到对应的MX记录的A记录里的IP了。

例子:给 test@exmaple.com 发邮件的话,

DNS会返回给发信侧198.51.100.3这个IP

※如果是普通用户通过【exmaple.com】浏览主页,那么DNS继续返回 198.51.100.2 。这个其实也需要DNS判断请求服务器是邮件服务器还是普通的访问。

指定该域名由哪个DNS服务器来进行解析。

一般指某个主机名或域名的说明,或者联系方式,或者标注提醒等等。

SPF记录是TXT记录的一个运用。后面的备注需要按照指定的格式才能有效。

从发信侧服务器设定到DNS上的这条记录中,读取信息,判断发信侧是否合法。

如果不符合规则,那么按照约定的规则处理掉。

跟MX记录正好相反。

MX:我是收件服务器,你找我时,请参考我设定到DNS服务器上的MX记录。

SPF:我是发信服务器,你接受邮件时,请参考我设定到DNS服务器上SPF规则。如果不是我发的信,你可以删掉或者接收。

有一个问题,调查后更新。

设定好SPF的记录之后怎么快速测试呢?

总不能每次都等DNS更新完再测试吧?

20210914更新:

SPF测试方法很多,google一下的话可以找到很多网站。

我常用的是 https://mxtoolbox.com/spf.aspx

打开SPF文件的最快速最容易的方法便是双击文件。这样做可以让Windows智能决定使用正确的程序打开SPF文件。

若出现无法打开SPF文件的情况,很可能是因为电脑上没有安装查看或编辑SPF文件扩展名的恰当程序。

若电脑打开了SPF文件,但使用的是错误的应用程序,则需要更改Windows注册文件关联设置。也就是说,Windows正在使用错误的程序关联SPF 文件扩展名。

SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。

按照SPF的格式在DNS记录中增加一条TXT类型的记录,将提高该域名的信誉度,同时可以防止垃圾邮件伪造该域的发件人发送垃圾邮件。

SPF是跟DNS相关的一项技术,它的内容写在DNS的txt类型的记录里面。mx记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟mx相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。

SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。

SPF的数据格式为:“v=spf1 [[pre] type [ext] ] ... [mod]”常见格式:v=spf1 include:spf.xundns.com ~allSPF格式的参数说明: “v=spf1 [[pre] type [ext] ] ... [mod]” v=spf1 SPF 的版本。如果使用 Sender ID 的话,这个字段就应该是 v=spf2 pre 定义匹配时的返回值。 可能的返回值包括: 返回值 描述 + 缺省值。在测试完成的时候表示通过。 - 表示测试失败。这个值通常是 -all,表示没有其他任何匹配发生。 ~ 表示软失败,通常表示测试没有完成。 表示不置可否。这个值也通常在测试没有完成的时候使用。 type 定义使用的确认测试的类型。 可能的值包括: 候选值 描述 include 包含一个给定的域名的测试 以include:domain 的形式书写。 all 终止测试序列。 比如,如果选项是 -all,那么到达这条记录也就意味着测试失败了。但是如果无法确定,可以使用"?all"来表示,这样,测试将被接受。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/350376.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-08
下一篇2023-05-08

发表评论

登录后才能评论

评论列表(0条)

    保存