当客户端程序要通过一个主机名称来访问网络中的一台主机时,它首先要得到这个主机名称所对应的IP地址,因为IP数据报中允许放置的是目地主机的IP地址,而不是主机名称。可以从本机的hosts文件中得到主机名称所对应的IP地址,但如果hosts文件不能解析该主机名称时,只能通过向客户机所设定DNS服务器进行查询了。
DNs共有的种查询方法,分别是递归查询和迭代查询。递归查询即由该计算机指定的DNS服务器代表客户端向其他DNs服务器进行查询,以便完全解析该域名,并将结果返回至客户端。选代查询即由该计算指定的DNs服务器向客户端返问一个可以解析该域名的其他DNs服务器地址,客户端再继续向其他DNs服务器进行查询。下面分别对这两种解析方法进行详细介绍。
当局部DNs服务器自己不能回答客户机的DNS查询请求时,那么该DNS服务器就需要向其他DNs服务器进行查询。此时有递归查询和迭代查询两种查询方式。如图1所示的是递归变询方式。由局部DNs服务器自己负责向其他DNs服务器进行查询,一般是先向该域的根域服务器进行查询,再由根域名服务器一级级向下查询。最后,将得到的查询结果返回结局部DNs服务器,再由局部DNs服务器返回给客户端。当局部DNs服务器自己不能回答客户机的DNs查询请求时,也可以通过迭代查询的方式进行域名解析,如图2所示。局部DNs服务器不是自己向其他DNs服务器进行查询,而是把能解析该域名的其他DNs服务器的IP地址返回给客户端DNS程序,客户端DNs程序再继续向这些DNs服务器发出查询请求,直到得到查询结果为止。
如果你禁止DNS服务器使用递归方式,则DNS服务器工作在迭代方式,即向原DNS客户端返回一个参考答复,其中包含有利于客户端解析请求的信息(例如根提示信息等),而不再进行其他 *** 作;原DNS客户端根据DNS服务器返回的参考信息再决定处理方式。但是在实际网络环境中,禁用DNS服务器的递归查询往往会让DNS服务器对无法进行本地解析的客户端请求返回一个服务器失败的参考答复,此时,客户端则会认为解析失败。
所以递归和迭代的不同之处就是当DNS服务器没有在本地完成客户端的请求解析时,由谁扮演DNS客户端的角色向其他DNS服务器发起解析请求。DNS服务xubenxin 51cto技术博客
xubenxin 51cto技术博客
DNS概述xubenxin 51cto技术博客
当网络上的计算机使用主机名沟通时,该主机名必须被转化为IP地址,主机名转化为IP地址的过称成为“主机名称解析”。xubenxin 51cto技术博客
主要的名称解析方式xubenxin 51cto技术博客
1WINS服务:一般用于NETBIOS名解析xubenxin 51cto技术博客
2DNS服务:一般用于FQDN(完全合格域名)解析xubenxin 51cto技术博客
xubenxin 51cto技术博客
DNS:域名系统,DNS客户机向DNS服务器发出名称解析请求,DNS服务器查询其DNS数据库以响应其请求。xubenxin 51cto技术博客
xubenxin 51cto技术博客
FQDN解析方式:xubenxin 51cto技术博客
1DNS服务xubenxin 51cto技术博客
2HOSTS文件:可编辑的文本文件,用于解析FQDN名称xubenxin 51cto技术博客
优点:查询效率高;xubenxin 51cto技术博客
缺点:人加重了管理负担,管理员必须手工添加,修改删除记录。现在DNS服务仍然支持HOSTS文件xubenxin 51cto技术博客
xubenxin 51cto技术博客
DNS相关概念xubenxin 51cto技术博客
DNS域名空间xubenxin 51cto技术博客
域名空间的结构是一棵倒置的树状结构。xubenxin 51cto技术博客
xubenxin 51cto技术博客
FQDNxubenxin 51cto技术博客
完全合格域名,采用DNS结构,长度不超过256个字符,支持UTF-8字符集(即所有通过键盘输入的字符)xubenxin 51cto技术博客
xubenxin 51cto技术博客
区域xubenxin 51cto技术博客
是指域名空间的一部分,能够将域名空间划分较小的区段,便于管理xubenxin 51cto技术博客
注: 1)一个区域可包含一个域也可包含多个域xubenxin 51cto技术博客
2)若包含多个域则这个域必须是连续的xubenxin 51cto技术博客
3)一个域对应一个区域文件xubenxin 51cto技术博客
4)可以把区域中的子域委派给其它DNS服务器管理xubenxin 51cto技术博客
xubenxin 51cto技术博客
区域文件xubenxin 51cto技术博客
每个区域的数据都存储了一个或多个区域文件,区域文件内存储了该区域的所有的主机名和IP地址的映射关系,一台DNS服务器可存储多个区域文件xubenxin 51cto技术博客
xubenxin 51cto技术博客
名称服务器xubenxin 51cto技术博客
名称服务器存储了一个或多个区域的信息xubenxin 51cto技术博客
主要名称服务器:主要名称服务器内的所有记录都是自己建立的,并且可以对这些记录进行添加修改删除等 *** 作即写 *** 作,主要名称服务器内存储了该区域的正本信息。一个区域只能有一台主要名称服务器;xubenxin 51cto技术博客
xubenxin 51cto技术博客
辅助名称服务器:是从另外一台DNS服务器复制过来的,它只能对这些数据进行读 *** 作,而不能写,存储该区域的副本信息;xubenxin 51cto技术博客
xubenxin 51cto技术博客
主(master)名称服务器:能够提供数据给另外的DNS服务器的名称服务器。xubenxin 51cto技术博客
注: 1)可以为一个区域设置多台辅助名称服务器;xubenxin 51cto技术博客
2)辅助名称服务器的作用:xubenxin 51cto技术博客
A、提供容错xubenxin 51cto技术博客
B、分担主服务器负担xubenxin 51cto技术博客
C、加快查找的速度xubenxin 51cto技术博客
3)多台DNS服务器时:xubenxin 51cto技术博客
客户机先向首选DNS服务器发送请求。xubenxin 51cto技术博客
xubenxin 51cto技术博客
DNS工作原理:xubenxin 51cto技术博客
1)客户机检查该主机名是否为自己xubenxin 51cto技术博客
2)客户机检查自己的DNS缓存xubenxin 51cto技术博客
3)客户机向自己的DNS服务器发出请求xubenxin 51cto技术博客
4) DNS服务器检查自己的DNS缓存xubenxin 51cto技术博客
5)DNS服务器检查自己的DNS数据库xubenxin 51cto技术博客
6)DNS服务器向Internetroot域的某台DNS发出查询请求xubenxin 51cto技术博客
7)RootDNS将com域DNS IP提供给发出请求DNS服务器xubenxin 51cto技术博客
xubenxin 51cto技术博客
DNS查询模式xubenxin 51cto技术博客
1递归查询:xubenxin 51cto技术博客
一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机;xubenxin 51cto技术博客
2迭代查询(反复查询):xubenxin 51cto技术博客
一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求;xubenxin 51cto技术博客
3反向查询:利用IP地址解析主机名的过程xubenxin 51cto技术博客
xubenxin 51cto技术博客
Caching -Only Server(只缓存服务器)xubenxin 51cto技术博客
是指一台并不负责管辖任何区域的DNS服务器,但它会帮客户端向其它的DNS服务器进行查询,将查找到的记录存储一份到缓存,并响应客户端的请求。xubenxin 51cto技术博客
xubenxin 51cto技术博客
缓存文件和TTLxubenxin 51cto技术博客
缓存文件:xubenxin 51cto技术博客
存储了Internet根域的DNS服务器的IP地址:xubenxin 51cto技术博客
%sys temroot%\system32\DNS\cachednsxubenxin 51cto技术博客
TTL(Time- to- live):xubenxin 51cto技术博客
DNS服务器在帮助客户端解析了主机名后,会将该记录转交给客户机的同时,存储一份到高速缓存中,以便下次使用,该记录会在缓存中驻留一段时间,称为TTL。默认为60分钟xubenxin 51cto技术博客
转发器xubenxin 51cto技术博客
从安全上考虑,为避免所有的DNS服务器都向外界查询,可指定一台DNS服务器做为转发器,并使得只有转发器才可向外界查询,而其它DNS服务器都须通过转发器向外界查询xubenxin 51cto技术博客
xubenxin 51cto技术博客
DNS服务安装和配置xubenxin 51cto技术博客
DNS服务器的安装xubenxin 51cto技术博客
条件:1)只能在服务器等级的计算机上安装xubenxin 51cto技术博客
2)该计算机最好使用静态IP地址xubenxin 51cto技术博客
步骤:添加删除程序——网络服务——DNS服务xubenxin 51cto技术博客
xubenxin 51cto技术博客
DNS客户端的设置xubenxin 51cto技术博客
TCP/IP属性—首选DNS,客户机可指定多台DNS服务器,解析时会按顺序请求xubenxin 51cto技术博客
xubenxin 51cto技术博客
DNS服务器的配置xubenxin 51cto技术博客
1新建区域xubenxin 51cto技术博客
区域类型:xubenxin 51cto技术博客
win2000中:xubenxin 51cto技术博客
A、AD集成区域xubenxin 51cto技术博客
B、主要区域xubenxin 51cto技术博客
C、辅助区域xubenxin 51cto技术博客
Win2003中:xubenxin 51cto技术博客
A、主要区域:存储了一个区域信息的正本,并且能够对这些信息进行写 *** 作xubenxin 51cto技术博客
a、在独立服务器或成员服务器上,区域内的数据存储在区域文件中xubenxin 51cto技术博客
b、在DC上,则区域内的数据存储在AD数据库中,该区域称为AD集成区域(AD整合区域),并且这些数据会随着AD数据库复制到其它区域xubenxin 51cto技术博客
B、辅助区域:存放了一个区域信息的复本,这些信息是只读的,不可写xubenxin 51cto技术博客
C、存根区域:存储了一个区域的副本信息,但只包含少数记录(名称服务器NS,起始授权机构SOA,粘连主机A)利用这些记录可以找到管辖此区域的DNS服务器xubenxin 51cto技术博客
xubenxin 51cto技术博客
补充:1、nslookup用于检测FQDN名能否被解析xubenxin 51cto技术博客
2、ipconfigxubenxin 51cto技术博客
参数: /displaydns:显示DNS缓存xubenxin 51cto技术博客
/flushdns:清除DNS缓存xubenxin 51cto技术博客
/registerdns手工向DNS注册xubenxin 51cto技术博客
2创建资源记录xubenxin 51cto技术博客
1)主机记录(A)xubenxin 51cto技术博客
主机记录记录了主机名和IP地址的映射关系xubenxin 51cto技术博客
2)起始授权机构(SOA)xubenxin 51cto技术博客
SOA记录了此区域的主要名称服务器,负责人等,创建区域时被自动创建xubenxin 51cto技术博客
3)名称服务器记录(NS)xubenxin 51cto技术博客
记录了负责该区域的部分或全部名称服务器,创建区域时自动建立xubenxin 51cto技术博客
4)指针记录(PTR)xubenxin 51cto技术博客
IP地址与主机名的映射xubenxin 51cto技术博客
5)别名记录(NAME)xubenxin 51cto技术博客
在某些情况下一个主机需要多个别名,以便该主机做为多种服务器xubenxin 51cto技术博客
6)邮件交换器记录(MX)xubenxin 51cto技术博客
记录了该区域的邮件交换器的IP地址,邮件服务器优先级:默认为10,数字越小越高xubenxin 51cto技术博客
7)服务器记录(SRV)xubenxin 51cto技术博客
记录区域内某些特殊服务器xubenxin 51cto技术博客
8)主机信息记录(HINFO)xubenxin 51cto技术博客
记录了某些主机的CPU和 *** 作系统类型xubenxin 51cto技术博客
xubenxin 51cto技术博客
动态更新xubenxin 51cto技术博客
win2000/2003DNS支持动态更新,即当客户端的主机名和IP地址改动时,更正信息会自动传送给DNS服务器,以便DNS服务器更新DNS记录xubenxin 51cto技术博客
注:1)客户端需具备自动更新功能xubenxin 51cto技术博客
2)2000/2003/XP等支持动态更新,98NT,等旧版OS不支持xubenxin 51cto技术博客
3)同时,DNS服务器应允许动态更新xubenxin 51cto技术博客
xubenxin 51cto技术博客
启动DNS服务器的动态更新xubenxin 51cto技术博客
选择区域—属性—常规—动态更新xubenxin 51cto技术博客
动态更新的类型xubenxin 51cto技术博客
1)不允许动态更新xubenxin 51cto技术博客
2)非安全动态更新:接收来自任何用户的更改信息xubenxin 51cto技术博客
3)安全动态更新:只接收具备权限的用户的更改信息(AD集成区域)xubenxin 51cto技术博客
注:1只有AD集成区域才支持安全动态更新xubenxin 51cto技术博客
xubenxin 51cto技术博客
DNS客户端的动态更新设置xubenxin 51cto技术博客
如果该客户端是非DHCP客户端即静态指定IP地址,则该客户端会在DNS服务器上更新A记录和PTR记录xubenxin 51cto技术博客
若该客户端为DHCP客户端,则由客户端更新A记录,DHCP服务器更新PTR记录xubenxin 51cto技术博客
不支持动态更新的客户端,如NT,98可通过DHCP服务器进行动态更新。xubenxin 51cto技术博客1、当客户机提出查询请求时,首先在本地计算机的缓存中查找。如果在本地无法获得查询信息,则将查询请求发给DNS服务器。
2、首先客户机将域名查询请求发送到本地DNS服务器,当本地DNS服务器接到查询后,首先在该服务器管理的区域的记录中查找,如果找到该记录,则利用此记录进行解析;如果没有区域信息可以满足查询要求,服务器在本地的缓存中查找。
3、如果本地服务器不能在本地找到客户机查询的信息,将客户机请求发送到根域名DNS服务器。
4、根域名服务器负责解析客户机请求的根域部分,它将包含下一级域名信息的DNS服务器地址返回给客户机的DNS服务器地址。
5、客户机的DNS服务器利用根域名服务器解析的地址访问下一级DNS服务器,得到再下一级域我的DNS服务器地址。
6、按照上述递归方法逐级接近查询目标,最后在有目标域名的DNS服务器上找到相应IP地址信息。
7、客户机的本地DNS服务器将递归查询结果返回客户机。
8、客户机利用从本地DNS服务器查询得到的IP访问目标主机,就完成了一个解析过程
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
解析通常需要遍历多个名称服务器,找到所需要的信息。然而,一些解析器的功能更简单地只用一个名称服务器进行通信。这些简单的解析器依赖于一个递归名称服务器(称为“存根解析器”),为他们寻找信息的执行工作。
查询时先查计算机上设置的DNS服务器,每条记录都有一定的生存期,在生存期内,记录将被服务器缓存下来,不需要再次递归查询,直接返回。
超过生存期,DNS服务器将向上级DNS服务器进行递归查询,直到顶级根域名服务器。
并不是所有记录都存在于同一个服务器上,而是分别存在于各个DNS服务器上,每个服务器负责解析一定的域名,经过一级一级的查询,最终查到添加IP记录的DNS服务商,返回IP地址。
刚好我也在处理这个漏洞,也是移动的,看对你有没有帮助建议您采取以下措施以降低威胁:
限制这台主机的递归查询
具体方法为:
1 如果你使用 bind 8,可以在“namedconf”文件(缺省路径是/etc/namedconf)的“options”里使用“allow-recursion”来进行限制。
例如,您可以只允许自己本地主机以及内部主机进行递归查询,其他主机则不允许递归查询:
options {
allow-recursion { 1921681960/24; localhost; };
};
注意:在修改完配置文件之后,需要重新启动named。
2
当有合法的解析器使用DNS服务器,或其它合法的DNS服务器将这个DNS服务器作为传递服务器(forwarder)时,不应关闭递归查询,如果不能关闭递归查询,就需要进行对进行递归查询的IP地址作出限制。如果递归查询请求来自不允许的IP地址,则DNS服务器将此查询以非递归查询对待。
3 如果使用其它版本的Name Server,请参考相应的文档。DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
解析通常需要遍历多个名称服务器,找到所需要的信息。
然而,一些解析器的功能更简单地只用一个名称服务器进行通信。
这些简单的解析器依赖于一个递归名称服务器(称为“存根解析器”),为他们寻找信息的执行工作。
查询时先查计算机上设置的DNS服务器,每条记录都有一定的生存期,在生存期内,记录将被服务器缓存下来,不需要再次递归查询,直接返回
超过生存期,DNS服务器将向上级DNS服务器进行递归查询,直到顶级根域名服务器
并不是所有记录都存在于同一个服务器上,而是分别存在于各个DNS服务器上,每个服务器负责解析一定的域名,经过一级一级的查询,最终查到添加IP记录的DNS服务商,返回IP地址更多追问追答 追问
我还是不太明白。
难道顶级服务器上就有全部域名吗?还是说DNS服务器在自己数据不全面的情况下,向高一级服务器发出申请,高级服务器再向辖下所有服务器发出指令查询,如仍没有再向更高级申请,直至顶级服务器?
我还是不太明白。
难道顶级服务器上就有全部域名吗?还是说DNS服务器在自己数据不全面的情况下,向高一级服务器发出申请,高级服务器再向辖下所有服务器发出指令查询,如仍没有再向更高级申请,直至顶级服务器?
追答
查询示意图
追问
呃这个的意思是根服务器、顶级服务器根据域名的各部分来分析得出域名被保存在哪台域服务器上,然后让发出申请的服务器去访问相应的域服务器来得到对应IP,最后对新得到的数据进行缓存。
我理解的对吧?
追答
意思差不多就是这样,每个DNS保存IP对应列表或者域名对应解析的其他DNS服务器
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)