DNS的A、CNAME、MX、NS、TXT、SPF记录
前言
最近工作过程中需要设定邮件服务器,其中涉及到dns服务器的设定。
整理并且记录自己的理解。
种类
A、CNAME、MX、NS、TXT、SPF
下面挨个介绍一下。
A记录/AAAA记录
IPv4:
- 示例:ns1.exmaple.com. IN A 198.51.100.2
- 解释:【domain】 IN A 【IP地址】
IPv6:
- 示例:ns1.exmaple.com. IN AAAA 8fe0::8f61:ac8:30cd:a16e
- 解释:【domain】 IN AAAA 【IP地址】
※IN的意思是「Internet」,不是IN/OUT的「IN」。
干什么用呢?
我们在浏览器输入域名后,需要向DNS服务器请求,找到这个域名对应的服务器IP。上面示例就是这么一条记录。
虽然域名和IP都可以变更,但是相比来说域名变更更加简单和随意。所以当网站更换自己域名的时候,就需要修改这条记录。
CNAME
- 示例:sub.example.com. IN CNAME hoge.example.com.
- 解释:【別名】 IN CNAME 【原名】
干什么用呢?
给某一个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记录例子)
MX记录
- MX记录(Mail Exchange):邮件路由记录
在DNS上设定,用于将邮箱地址@符号后的域名指向邮件服务器。 - 示例:example.com. IN MX 10 mail.example.com.
- 解释:【domain】 IN MX 【优先度】 【邮件服务器】
干什么用呢?
当发信侧服务器给受信侧发邮件时,首先会要求DNS服务器解析受信侧邮箱地址中@后面部分的域名对应的MX记录(DNS的写法可以理解成example.com 的A记录下面,有一行上面示例的MX记录,当然邮箱服务器也有对应的A记录)。
这样,邮件就直接发到对应的MX记录的A记录里的IP了。
例子:给test@exmaple.com发邮件的话,
DNS会返回给发信侧198.51.100.3这个IP
exmaple.com. IN A 198.51.100.2
example.com. IN MX 10 mail.example.com.
mail.example.com. IN A 198.51.100.3
※如果是普通用户通过【exmaple.com】浏览主页,那么DNS继续返回 198.51.100.2 。这个其实也需要DNS判断请求服务器是邮件服务器还是普通的访问。
NS记录
- 指定域名解析服务器。
- 示例:example.com. IN NS ns1.example.com.
- 解释:【domain】 IN NS 【DNS服务器】
干什么用呢?
指定该域名由哪个DNS服务器来进行解析。
TXT记录
- 示例:ns1.exmaple.com. IN TXT "联系电话:XXXX"
- 解释:【domain】 IN TXT 【任意字符串】
干什么用呢?
一般指某个主机名或域名的说明,或者联系方式,或者标注提醒等等。
SPF记录
SPF记录是TXT记录的一个运用。后面的备注需要按照指定的格式才能有效。
- 示例:exmaple.com. IN TXT "v=spf1 ip4:198.51.100.1 ~all"
- 解释:【domain】 IN TXT 【送信侧邮件服务器确认规则】
干什么用呢?
从发信侧服务器设定到DNS上的这条记录中,读取信息,判断发信侧是否合法。
如果不符合规则,那么按照约定的规则处理掉。
跟MX记录正好相反。
MX:我是收件服务器,你找我时,请参考我设定到DNS服务器上的MX记录。
SPF:我是发信服务器,你接受邮件时,请参考我设定到DNS服务器上SPF规则。如果不是我发的信,你可以删掉或者接收。
SPF记录规则
格式:
版本 空格 定义 空格 定义 (空格 定义的循环)
跟着例子看的话,比较好理解。
example.com. 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。
结果及处理方法一览
结果 | 说明 | 服务器处理办法 |
---|---|---|
Pass | 发件IP是合法的 | 接受来信 |
Fail | 发件 IP 是非法的 | 退信 |
Soft Fail | 发件 IP 非法,但是不采取强硬措施 | 接受来信,但是做标记 |
Neutral | SPF 记录中没有关于发件 IP 是否合法的信息 | 接受来信 |
None | 服务器没有设定 SPF 记录 | 接受来信 |
PermError | 发生了严重错误(例如 SPF 记录语法错误) | 没有规定 |
TempError | 发生了临时错误(例如 DNS 查询失败) | 接受或拒绝 |
后记
有一个问题,调查后更新。
设定好SPF的记录之后怎么快速测试呢?
总不能每次都等DNS更新完再测试吧?
作者:今後次
链接:https://www.jianshu.com/p/b483300378af
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
DNS的A、CNAME、MX、NS、TXT、SPF记录相关推荐
- spf解释及如何添加spf记录
到这里可以根据你的要求生成你的域名SPF 记录:http://old.openspf.org/wizard.html 然后在域名解析为根域名增加一个TXT记录,写入从上面获得的值,等待解析生效即可 前 ...
- 专业名词解释 - DNS,A记录,子域名,CNAME别名,PTR,MX,TXT,SRV 记录,TTL
DNS DNS,Domain Name System或者Domain Name Service(域名系统或者域名服务).域名系统为Internet上的主机分配域名地址和IP地址.由于网络中的计算机都必 ...
- 微软dns能做cname吗_为什么域的根不能是CNAME以及有关DNS的其他花絮
微软dns能做cname吗 This post will use the above question to explore DNS, dig, A records, CNAME records, a ...
- DNS中的SPF记录
在垃圾邮件的伎俩中,伪造发件人地址,使其看起来象一个合法的地址,是常见的一种方法.特别是网络钓鱼的邮件,试图欺骗收件人透露信用卡号码.QQ密码.Paypal 密码等帐号资料.这些邮件的"发件 ...
- 什么是 DNS SPF 记录?
SPF 记录是一种常用于电子邮件认证的 DNS TXT 记录.SPF 记录包括一个获授权从该域发送电子邮件的 IP 地址和域的列表. 发送方策略框架(SPF)记录是一种 DNS TXT 记录,其中列出 ...
- 在DNS服务器中添加MX,A记录
一.添加MX记录 MX(Mail Exchanger,邮件交换)记录用以向用户指明可以为该域接收邮件的服务器.那么为什么要添加MX记录呢?首先用户来举一个例子.如用户准备发邮件给chhuian@mss ...
- windows server 2003 DNS 细谈系列之(二)记录类型、数据库
windows server 2003 DNS 细谈系列之(二)记录类型.数据库<?xml:namespace prefix = o ns = "urn:schemas-microso ...
- 命令查看spf_什么是SPF、邮箱域名SPF记录查询方法
新闻资讯 您的位置: 首页> 新闻资讯 什么是SPF.邮箱域名SPF记录查询方法 发布时间:2019-04-28 SPF(Sender Policy Framework) 是电子邮件系统中发送方 ...
- SPF 记录是什么以及它如何工作:SPF 记录全解释
SPF 记录是由域名管理员发布在 DNS 中的 TXT 记录.SPF 记录指定一个 IP 地址的白名单,在该白名单中的 IP 地址被允许来代表该域名发送邮件.当邮件到达目标服务器的时候,服务器会在 D ...
最新文章
- EcoTalks预告 | Max Rietkerk:自然斑图与生态系统的恢复力
- 分布式唯一id:snowflake算法思考
- SIGGRAPH2018黑科技:开源语义软分割改进图像编辑
- win7怎么安装nodejs_怎么解决win7安装软件提示
- c语言调用linux脚本,C语言执行shellcode的五种方法
- 如何使用JavaScript控制台改进工作流程
- 根据select不同的选项实现相应input框添加项的显示
- Linux SSH远程链接 短时间内断开
- 尾调用优化 java_基于Java8函数式编程求一个List的全部子集|尾调用优化解决递归性能问题...
- linux包含绝对路径头文件,linux-kernel - 访问用户空间内存访问函数(如access_ok(),get_from_user())需要包含的头文件的确切路径。 - 堆栈内存溢出...
- 【codevs4228】小猫爬山(最优化剪枝)
- linux内核percpu变量声明,Linux内核对per-cpu变量的实现
- 在Vmplayer中自定义桥接网络(Bridged Network)的配置
- 笔记本计算机的连接无线网络,笔记本电脑连接无线网络受限解决方法
- Lumion 11学会像真正的专业人士一样渲染
- 测试手机ram速度软件,8GB RAM极限是什么?我们拿两款手机测试了一下
- 炒币疯狂的背后,如何解决区块链技术落地问题?
- RAMMAP(运行内存清理工具)自动释放内存,并利用pyqt5制作图形界面
- 显卡、显卡驱动、Nvcc、Cuda Driver、CudaToolkit 、Cudnn到底是什么?
- jieba库的安装与使用方法
热门文章
- 架构设计分布式数据结构与算法面试题
- 悬浮窗_华为手机悬浮窗设置在哪里
- 没有可用软件包 jenkins。_Jenkins分布式构建与并行构建
- java mongodb 关闭连接_如何在mongodb上使用java驱动程序保持连接池关闭?
- java excel类库,jExcelApi Java 操作 Excel 的类库
- java web scala_spring boot+scala编写web接口
- 云麦小米华为体脂秤怎么样_测评华为智能体脂秤,比小米智能体重秤贵30元到底差别在哪里?...
- C#中宏定义#define、预处理#if #else #endif的使用
- STM32 USB虚拟串口原理(上)
- 枚举命名规范_UE4 C++基础教程 - 编码规范