DNS 的原理就是一层层从根域名递归查询,其中让我觉得有疑问的就是 CNAME 。
反复使用命令查询七牛的官网,我知道他们一定会使用 CDN,CDN 也是 CNAME 使用最多的场景。
可以看到路径是这样子的 qiniu.com. => mid-lvs-public.qiniu.com. => jjh-lvs-public.qiniu.com. =>给了一个 A 记录 180.97.147.243 。
最终我们的请求肯定也都是发到 A 记录上,也就是将 qiniu.com 交到 180.97.147.243 ,这个 IP 对应的服务接受到请求才开始往客户端吐数据。
CNAME 提供一个窍门将解析 A 记录的权利交到下一个域名上,具体下一个域名对应的 ip 可能以后会变,但是对于上一个域名所对应的域名不会变,这个点很像 JAVA 中的一个接口,接口的实现可能会变,但是接口名和方法名提前就确定好了。
最近工作过程中需要设定邮件服务器,其中涉及到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
主DNS,缓存DNS,辅助DNS。
dns有两种,第一个是主的,域名分析的时候就用主的,就主的分析不出来时候,那么就开始用备用DNS服务器。
记录类型:
SOA (起始授权机构) 定义了该与众的权威名称服务器。
NS (名称服务器) 表示某区域的权威服务器鹤SOA中指定的该区域的主服务器的辅助服务器
A (主机) 列出了区域中的FQDN(完全合格的域名) 到ip 地址的映射PTR(指针) 相对于A资源记录,ptr记录是把ip地址映射到FQDN。
MX 邮件交换器记录,向指定的邮件交换主机提供消息路由SRV (服务) 列出了正在提供特定服务的服务器。
CNAME (别名) 将多个名字映射到同一台计算机上,便于访问。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)