一、DNS是什么
DNS(Domain Name System),即域名系统。它使用层次结构的命名系统,将域名和IP地址相互映射,形成一个分布式数据库系统。服务器端工作在UDP协议端口53和TCP协议端口53上。
www.kernel.org 依次为主机名、域名、类型
完整域名为 www.kernel.org.
二、域名解析过程
1, 客户机首先查看本地hosts文件,如果有则直接返回。否则进入下一步。
2, 客户机查看本地缓存,如果有则直接返回。否则进入下一步。
3, 将请求转发给本地DNS服务器。
4, 查看域名是否本地解析,如果是本地解析则返回,否则进入下一步。
5, 本地DNS服务器在缓存中查找,有则返回,无则进入下一步。
6, 向全球某一个根域服务器发起DNS请求,根据返回org域的地址列表。
7, 使用某一个org域的IP地址,发起DNS请求,org域返回kernel域服务器地址列表。
8, 使用某一个kernel域的IP地址,发起DNS请求,kernel域返回www.kernle.org主机的IP地址,本地DNS服务收到后,返回给客户机。
客户机和本地DNS服务器直接的查询方式,称为递归查询。
本地DNS服务器多次重复查询的方式,称为迭代查询。
在Linux系统当中,解析域名通常基于三种方式:
1,/etc/hosts、/etc/networks
2,DNS
3,NIS
三、RR(Resource Record)资源记录
格式定义:name TTL CLASS TYPE RDATA
Name TTL CLASS TYPE Resource Record (RR) Data
www 600 IN A 10.0.0.1
name:指示拥有资源记录的DNS域名,主机名。
TTL:该字段为可选项。缓存RR的时间(秒)。值为0的资源不会摆缓存。
CLASS:类别,有IN(Internet)、CS(CSNET)、CH(chaos)、HS(hesiod)等。
TYPE:类型,资源记录的类型
A:主机地址
AAAA:IPv6主机地址
NS:权威名称服务器
MD:邮件目的地(被废弃,使用MX)
MF:邮件转发器(被废弃,使用MX)
CNAME:别名的正则名称
SOA:标记权威区域的开始
MB:邮箱域名(试验)
MG:邮件组成员(试验)
MR:邮件重新命名域名(试验)
NULL:空RR(试验)
WKS:众所周知的业务描述
PTR:域名指针
HINFO:主机信息
MINFO:邮箱或邮件列表信息
MX:邮件交换
TXT:文本字符串
RDATA:用于描述资源的信息且长度可变的必要字段,随CLASS和TYPE的变化而变化。
四、RR中IN类(class)7种类型(type)详细介绍
1, A记录
A记录也称为主机记录,是使用最广泛的DNS记录,A记录的基本作用就是说明一个域名对应的IP是多少,他是域名和IP地址的对应关系,表现形式为
www.kernel.com 600 IN A 10.0.0.1 这就是一个A记录。A记录除了进行域名IP对应以外,还有一个高级用法,可以作为低成本的负载均衡的解决方案,比如说,www.kernel.com可以创建多个A记录,对应多台物理服务器的IP地址,可以实现基本的流量均衡。
2, NS记录
NS记录和SOA记录是任何一个DNS区域都不可或缺的两条记录,NS记录也叫名称服务器记录,用于说明这个区域有哪些DNS服务器负责解析,SOA记录说明负责解析的DNS服务器中哪一个是主服务器。因此,任何一个DNS区域都不可能缺少这两条记录。NS记录,说明了在这个区域里,有多少个服务器来承担解析的任务。
3, SOA记录
NS记录说明了有多台服务器在进行解析,但哪一个才是主服务器呢,NS并没有说明,这个就是要SOA记录了,SOA名叫起始授权机构记录,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记录中的新鲜面孔,在RFC2052中才对SRV记录进行了定义,因此很多老版本的DNS服务器并不支持SRV记录。那么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记录,必须在反向区域中创建。
以上只是一些简单的介绍,并特别说明了SRV记录的格式,如果掌握了这些为以后的AD管理会有很大的帮助!
五、域名服务器的类型
1, 主域名服务器
primary master server 是一个domain 信息的最根本的来源。它是所有辅域名服务器进行域传输的源。主域名服务器是从本地硬盘文件中读取域的数据的。
2, 辅域名服务器
就是slave server,或叫作secondary server。次级服务器使用一个叫做域转输的复制过程,调入其它服务器中域的内容。通常情况下,数据是直接从主服务器上传输过来的,但也可能是从本地磁盘上的cache 中读到的。辅域名服务器可以提供必需的冗余服务。所有的辅域名服务器都应该写在这个域的NS 记录中。
3, 缓存服务器(caching only server)
一个DNS服务器可以同时作为多个域的主域名服务器和辅助域名服务器,也可以只作为主,或只作为辅,或者做任何域的授权服务器而只使用自己的cache来提供查询解析。不论是主或辅都是这个域的授权服务器。所有的服务器都会将数据保存在cache中,直到针对这些数据的TTL值过期。
4, 转发服务器(forwarding server)
一台缓存名服务器本身不能进行完全的递归查询。相反,它能从缓存向其它的缓存服务器转发一部分或是所有不能满足的查询,一般被称作转发服务器。可能会有一个或多个转发服务器,它们会按照顺序进行请求,直到全部穷尽或者请求得到回答为止。转发服务器一般用于用户不希望站点内的服务器直接和外部服务器通讯的情况下。一个特定的情形是许多DNS 服务器和一个网络防火墙。服务器不能透过防火墙传送信息,它就会转发给可以传送信息的服务器,那台服务器就会代表内部服务器询问因特网DNS 服务器。使用转发功能的另一个好处是中心服务器得到了所有用户都可以利用的更加完全的信息缓冲。