DNS解惑之资源记录(2)

1、区域解析库

每个域都要维护一个区域解析库,而区域解析库都是由一条条的记录组成的,而每一条记录就被称为资源记录(resource  record  RR).

我们知道大多数域名下面都不仅仅有www服务器,可能还会有mail、oa、CRM等服务,用来标识不同服务的资源记录类型是不一样的,也就是说资源记录有多种类型,常见的资源记录类型有7种:A/AAAA/PRT/SOA/NS/CNAME/MX

l  SOA记录:任何解析库的第一条都必须是SOA记录,start of authority 起始授权记录,一个区域解析库有且仅能有一个SOA记录,且必须在第一条。说明当前这个区域解析库为哪一个区域所用,由谁负责。

l  A记录:作用是把FQDN解析成为IPV4的IP地址

l  AAAA记录:使用是把FQDN解析成为IPV6的IP地址

l  PTR:pointer 指针记录,作用是把IP解析成为FQDN,反向解析。

l  NS:name server 专用于标识当前区域的DNS服务器

l  CNAME:canonical  name 别名记录

l  MX:mail  exchanger邮件交换器,当我们写邮件的时候收件人通常会这样写746620446@qq.com,其实我们想把邮件发送给746620446这个用户,但是首先肯定会是先找到QQ.COM然后通过QQ.COM再找到746620446这个用户,那么QQ.COM其实是一台服务器主机,这个记录就是用来标识QQ.COM对应的那台服务器主机的Ip地址,总结就是一名话,当有人给QQ.COM这个区域发送邮件时由谁来中转此邮件,毕竟不能一下直接发给746620446 这个用户,必须要有一个中转服务器,然后通过中转服务器再转发给746620446这个用户。

2、资源记录的通用格式

name   [TTL]   IN      rr-type    value

name:当前的区域的名字,例如magedu.com. 注意最后的点一定不能省略。

TTL可以省略,可以从全局继承,也可以自行定义,单位是秒,所谓的TTL就是DNS记录在客户端的缓存时长,默认单位是秒。

@可以用于引用当前区域的名字

IN代表internet,没有实际意义,可以当做固定格式。

rr-type当前资源记录的类型,rr是资源记录的缩写。

value由多个字段组成,其中以SOA的格式最为奇特。

3、SOA记录

SOA记录与其它记录不同的是就是value部分,SOA的value部分由很多的字段组成。

value:有以下三部分组成:

  1. 负责当前区域的主DNS服务器FQDN,也可以使用当前区域的名字,用@可表示当前区域的名字
  2. 当前区域管理员的邮箱地址,但是地址不能有@符号,一般用.来代替,例如15069028007.163.com
  3. (主从服务器协调属性的定义以及否定的答案的统一的TTL)

例如:

baidu.com.   86400    IN   SOA     www.baidu.com.   zhanghe.163.com.   (
                        2017102501          序列号
                        2H                  刷新时间
                        10M                重试时间
                        1W                 过期时间,一星期
                        1D                 否定答案的TTL,一天
)

NOTE:如果后面不加单位,默认是秒

4、A记录

name某主机的FQDN,例如www.magedu.com.

value:主机名对应主机的IP地址

例如:

www.magedu.com.    IN       A     1.1.1.1
www.magedu.com.    IN     A     1.1.1.2         #多条会出现轮询

同一个名字可以通过多条记录定义多个不同的值,此时DNS服务器会以轮询的方式响应。

同一个值也可能有多个不同的定义名字,通过多个不同的名字指向向一个值,,这种效果也可以通过CNAME实现

mx1.magedu.com.       IN        A     1.1.1.3
mx2.magedu.com.       IN        A     1.1.1.3

注意:

*.magedu.com. IN    A     1.1.1.4
magedu.com.       IN    A     1.1.1.4

避免用户写错名称给错误答案,可通过泛域名解析进行解析到某个特定地址。

5、AAAA记录

与A记录的作用是一样,用于IPV6而已,此处略过。

6、PTR记录

name  vlue

name是IP地址有特定的格式,把IP地址反过来写,比如1.2.3.4要写成4.3.2.1而且有特定后缀:in-addr.arpa.所以完成的写法为:

4.3.2.1.in-addr-arpa.

value:FQDN

例如:

4.3.2.1.in-addr.arpa.     IN    PTR      www.magedu.com.

注意:网络地址及后缀可以省略,主机地址依然需要反着写。

7、NS记录

name:当前区域的名字

value:当前区域某DNS服务器的主机名,例如ns.magedeu.com.

注意,一个区域可以有多个NS记录

例如:

magedu.com.       IN   NS      ns1.magedu.com.
magedu.com.       IN    NS       ns2.magedu.com.

注意:

相邻的两个资源记录的name相同时,后续的可以省略

对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录。

8、MX记录

name 当前区域的名字

value:当前区域的某邮件服务器(smtp服务器)主机名

一个区域内,MX记录可以有多个,但每个记录的value之意应该有一个数字(0-99),表示此服务器的优先级,数据越小优先级越高。

例如:

magedu.com.       IN    MX  10        mx1.magedu.com.
                  IN    MX  20        mx2.magedu.com.

注意:对mx记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录

9、CNAME记录

name:别名的FQDN

value:真正名字的FQDN

例如:

web.magedu.com.       IN    CNAME       www.magedu.com.
上一篇:(转)dubbo框架基本分析


下一篇:Instagram的持续部署技术