1、DNS介绍
域名服务器(DomainNameServer)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
2、DNS类型
①缓存DNS服务器:只提供缓存数据
②主DNS服务器(master):创建了区域的服务器,里边的数据是可读可修改的,就是我们常使用的DNS服务器,它的更新由管理员手动完成
③从DNS服务器(slave):不创建区域,它的数据是从主DNS服务器上同步过来的,不能修改,主要作用是帮助主服务器进行解析,加快解析速度。
3、DNS解析类型
正向解析:IP---->FQDN(完全合格域名)
反向解析:FQDN----->IP
4、DNS的查询
可以以不同的方式对DNS查询进行解析。
第一种是本地解析,本地解析的过程如图14-2所示。客户机平时得到的DNS查询记录都保留在DNS缓存中,客户机操作系统上都运行着一个DNS客户端程序。当其他程序提出DNS查询请求时,这个查询请求要传送至DNS客户端程序。DNS客户端程序首先使用本地缓存信息进行解析,如果可以解析所要查询的名称,则DNS客户端程序就直接应答该查询,而不需要向DNS服务器查询,该DNS查询处理过程也就结束了。
第二种是直接解析,如果DNS客户端程序不能从本地DNS缓存回答客户机的DNS查询,它就向客户机所设定的局部DNS服务器发一个查询请求,要求局部DNS服务器进行解析。如图14-3所示,局部DNS服务器得到这个查询请求,首先查看一下所要求查询的域名是不是自己能回答的,如果能回答,则直接给予回答,如是不能回答,再查看自己的DNS缓存,如果可以从缓存中解析,则也是直接给予回应。
第三种是递归查询,当局部DNS服务器自己不能回答客户机的DNS查询时,它就需要向其他DNS服务器进行查询。此时有两种方式,如图14-4所示的是递归方式。局部DNS服务器自己负责向其他DNS服务器进行查询,一般是先向该域名的根域服务器查询,再由根域名服务器一级级向下查询。最后得到的查询结果返回给局部DNS服务器,再由局部DNS服务器返回给客户端。
第四种是迭代查询,当局部DNS服务器自己不能回答客户机的DNS查询时,也可以通过迭代查询的方式进行解析,如图14-5所示。局部DNS服务器不是自己向其他DNS服务器进行查询,而是把能解析该域名的其他DNS服务器的IP地址返回给客户端DNS程序,客户端DNS程序再继续向这些DNS服务器进行查询,直到得到查询结果为止。
5、资源记录类型
DNS分为正向查找区域和反向查找区域,然后在分为,主要,辅助,存根区域,在这些区域里,又存在着很多的记录,下面,就让我们来看看这些记录:
SOA资源记录:
每个区在区的开始处都包含了一个起始授权记录(Start of Authority Record),简称SOA记录。SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。
NS资源记录:
名称服务器(NS)资源记录表示该区的授权服务器,它们表示SOA资源记录中指定的该区的主和辅助服务器,也表示了任何授权区的服务器。每个区在区根处至少包含一个NS记录。
A资源记录:
地址(A)资源记录把FQDN映射到IP地址,因而解析器能查询FQDN对应的IP地址。
PTR资源记录:
相对于A资源记录,指针(PTR)记录把IP地址映射到FQDN。
CNAME资源记录(别名):
规范名字(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道。
MX资源记录(邮件):
邮件交换(MX)资源记录为DNS域名指定邮件交换服务器。邮件交换服务器是为DNS域名处理或转发邮件的主机。处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者。转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议SMTP把邮件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队。
6、资源记录的格式:
name [ttl]IN typevalue
例如:www.magelinux.org. 86400 IN A 1.1.1.1
name:名称字段,此字段是资源记录引用的域对象名,可以是一台单独的主机也可以是整个域。字段值:"."是根域,@是默认域,即当前域,
ttl:生存时间字段,它以秒为单位定义该资源记录中的信息存放在DNS缓存中的时间长度。通常此字段值为空,表示采用SOA记录中的最小TTL值(即1小时)。
IN:此字段用于将当前湖泊记录标识为一个INTERNET的DNS资源记录。
TYPE:类型字段,用于标识当前资源记录的类型。
value: 对应name阶段的IP地址
7、区域类型及区域传送类型
区域类型:
主区域:master
从区域:slave
提示区域:hint 【定义根在什么地方】
转发区域:forward
区域传送的类型:
完全区域传送:axfr
增量区域传送:ixfr