DNS资源记录
DNS是域名系统(Domain Name System),在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析系统来完成,DNS就是进行域名解析的系统。
DNS分为正向查找区域和反向查找区域,又可以分为主要、辅助、存根区域,在区域里存在着很多的记录,今天我们来看看这些记录:
1、A记录
A记录也称为主机记录,是使用最广泛的DNS记录,A记录的基本作用就是一个域名与IP地址的对应关系,表现形式为 www.dragon.com 192.168.1.1 这就是一个A记录,A记录除了进行域名IP对应以外,还有一个高级用法,可以作为低成本的负载均衡的解决方案,比如说,www.dragon.com 可以创建多个A记录,对应多台物理服务器的IP地址,可以实现基本的流量均衡。
2、NS记录
NS记录和SOA记录是任何一个DNS区域不可或缺的两条记录,NS记录也叫名称服务器记录,用于说明这个区域有哪些DNS服务器负责解析,SOA记录说明负责解析的DNS服务器中哪一个是主服务器。
3、SOA记录
SOA名叫起始授权机构记录,NS记录说明了有多台服务器在进行解析,SOA记录说明了在众多NS记录里那一台才是主要的服务器。
4、MX记录
全称是邮件交换记录,在使用邮件服务器的时候,MX记录是无可或缺的,比如A用户向B用户发送一封邮件,那么他需要向DNS查询B的MX记录,DNS在定位到了B的MX记录后反馈给A用户,然后A用户把邮件投递到B用户的MX记录服务器里!
5、Cname记录
又叫别名记录,我们可以这么理解,我们小的时候都会有一个小名,长大了都是学名,那么正规来说学名的符合公安系统的,那个小名只是我们的一个代名词而已,这也存在一个好处,就是比暴漏自己,比如一个网站a.com 在发布的时候,他可以建立一个别名记录,把B.com发不出去,这样不容易被外在用户所察觉,达到隐藏自己的目的。
6、SRV记录
SRV记录是服务器资源记录的缩写,SRV记录是DNS记录中的新鲜面孔,那么SRV记录有什么用呢?SRV记录的作用是说明一个服务器能够提供什么样的服务!SRV记录在微软的Active Directory中有着重要地位,大家知道在NT4时代域和DNS并没有太多关系。但从Win2000开始,域就离不开DNS的帮助了,为什么呢?因为域内的计算机要依赖DNS的SRV记录来定位域控制器。表现形式为:—ldap._tcp.contoso.com 600 IN SRV 0 100 389 NS.contoso.com
ladp: 是一个服务,该标识说明把这台服务器当做响应LDAP请求的服务器
tcp:本服务使用的协议,可以是tcp,也可以是udp
contoso.com:此记录所值的域名
600: 此记录默认生存时间(秒)
IN: 标准DNS Internet类
SRV:将这条记录标识为SRV记录
0: 优先级,如果相同的服务有多条SRV记录,用户会尝试先连接优先级最低的记录
100:负载平衡机制,多条SRV并且优先级也相同,那么用户会先尝试连接权重高的记录
389:此服务使用的端口
NS.contoso.com:提供此服务的主机
7、PTR记录
PTR记录也被称为指针记录,PTR记录是A记录的逆向记录,作用是把IP地址解析为域名。由于我们在前面提到过,DNS的反向区域负责从IP到域名的解析,因此如果要创建PTR记录,必须在反向区域中创建。
8、关于SOA记录和NS记录
一个叫SOA记录起始授权机构, 一个叫NS记录域名服务器。SOA记录表明了DNS服务器之间的关系,SOA记录表明了谁是这个区域的所有者,比如Dragon.COM这个区域,一个DNS服务器安装后,需要创建一个区域,以后这个区域的查询解析,都是通过DNS服务器来完成的。现在来说一下所有者,我这里所说的所有者,就是谁对这个区域有修改权利,常见的DNS服务器只能创建一个标准区域,然后可以创建很多个辅助区域。标准区域是可以读写修改的,而辅助区域只能通过标准区域复制来完成,不能在辅助区域中进行修改。
NS记录实际上也是在DNS服务器之间,表明谁对某个区域有解释权,即权威DNS。但是这些DNS服务器有一个有意思的地方是这些DNS不存放任何区域,看上去更像是一个DNS CLIENT,它们被称为缓存DNS服务器。它们会缓存大量的解析地址,这样就会让你解析的时候选择它们会觉得很快。
还有一种情况,比如你先在万网申请了一个域名ABC.COM。一般情况是万网的域名服务器替你来解析如WWW.ABC.COM这样的主机记录。如果你想自己架设一个DNS服务器,让这台服务器从今往后替代万网的DNS服务器解析,那么你就需要在你的DNS上设置NS记录,然后将万网域名管理系统中的NS记录改成你的DNS IP。这样以后就是你自己的DNS服务器负责提供解析了,即使万网的DNS服务器出现故障,别人仍然可以找到你,你设置的DNS服务器地址就是你的权威DNS,通过NSLOOKUP工具可以看到。
DNS记录格式
DNS数据库包括DNS服务器所使用的一个或多个区域文件,每个区域都拥有一组结构化的资源记录。
资源记录的格式为 Domain TTL Class record-type record-specific-data
注:
Domain:资源记录引用的域对象名。可以是单台主机,也可以是整个域。Domain字串用“.”分隔。
TTL:生存时间记录,以秒为单位定义资源记录中的信息存放在高速缓存中的时间,通常值为空,表示资源记录不会被缓存。
Class:指定网络的地址类,TCP/IP网络为IN。
record-type:记录类型,标识这是哪一类资源记录,常见的记录类型有:A,主机地址;AAAA,IPv6主机地址;CNAME,别名。
record-specific-data:指定与资源记录有关的数据。资源记录的类型决定了类型字段的内容。
A记录:
将DNS域名映射到IPv4的32位地址中。
语法: Domain TTL Class A record-specific-data
www.baidu.com. IN A 192.168.1.1 www.baidu.com. IN A 127.0.0.1
AAAA记录:
将DNS域名映射到IPv6的128位地址中。
语法:Domain TTL Class AAAA record-specific-data
www.baidu.com. IN AAAA 1::1 www.baidu.com. IN AAAA 1::2
CNAME记录:
多个域名对应同一主机。
语法:Domain TTL Class CNAME record-specific-data
www.baidu.com. IN CNAME baidu.com
MX记录:
邮件交换器资源记录,其后的数字首选参数值(0~65535)指明与其他邮件交换服务器有关的邮件交换服务器的优先级。较低的值被授予较高的优先级。
语法:Domain TTL Class MX preference record-specific-data
mail.com. IN MX 10 baidu.mail.com. IN MX 20 sohu.mail.com.
NS记录:
域名服务器记录,指明域名由哪台服务器来解析。
语法:Domain TTL Class NS record-specific-data
mail.com. IN NS 10 nameserver1.mail.com.cn.
PTR记录:
指针,用于将一个IP地址映射为一个主机名。
语法:Domain TTL Class PTR record-specific-data
1.1.168.192.in-addr.arpa. IN PTR host.com.cn