3.1 DNS概述
在TCP/IP的网络中,网络通信的终点是套接字(Socket),其由目标主机的IP地址和要访问的TCP/UDP端口组成,也就是说,不管是在局域网还是互联网上,计算机在网络上通讯时是通过如“202.115.22.33”之类的数字形式的IP地址来识别目标主机。但当我们在访问Internet或Intranet时,我们打开浏览器,在地址栏中输入如“www.sina.com.cn”的域名后,就能看到我们所需要的页面。这给了人们一个困惑,难道计算机通讯时也能根据对方域名来直接找到目标主机么?
其实,当我们在浏览器的地址栏中输入要访问的网页的域名时,计算机系统会为我们做一个“翻译”工作,即将我们输入域名解析为目标主机的IP地址。而这种“翻译”记录的建立,在早期是通过一个hosts文件来完成的,但随着网络规模的扩大,通过管理员手动建立并分发的hosts文件已不适应网络中越来越多的名字解析的需求,此时,则需要一种能够动态地为客户机进行域名注册,同时能动态的为用户要访问的域名进行名字解析的服务,而DNS(Domain Name System)服务为我们提供了这个解决方案。
域名系统 (DNS) 是用于 TCP/IP 网络(例如,Internet)的名称解析协议,在IP的网络里,它是客户机/服务器通信的一个集成部分。
DNS是一个分布式数据库系统,它用来将用户容易记住的友好的名称FQDN(Full Qualified Domain Name:完全限定域名,其描述了主机到它域的精确关系,比如www.gocean.com.cn)解析为难记的IP地址(比如“202.186.250.41),并将这个映射存放在其数据库系统中,以定位计算机和服务。
因此,不管是在局域网还是广域网中,只要你将要用到如“www.gocean.com.cn”之类域名的时候,你都得首先确保已为此名字在DNS服务器中作好了相应的和IP地址的映射工作。而在互联网中,这个工作则由专门的服务器进行完成。
3.2 DNS查询的工作原理
当 DNS 客户端需要查询程序中使用的名称时,它会查询 DNS 服务器来解析该名称。客户端发送的每条查询消息都包括三条信息,指定服务器回答的问题:
1、指定的 DNS 域名,规定为完全合格的域名 (FQDN)
2、指定的查询类型,可根据类型指定资源记录,或者指定为查询操作的专门类型。
3、DNS 域名的指定类别。对于 Windows DNS 服务器,它始终应指定为 Internet (IN) 类别。
例如,指定的名称可以是计算机的 FQDN,例如,“host-a.example.microsoft.com”,而指定的查询类型可以是通过该名称搜索地址 (A) 资源记录。将 DNS 查询看作客户端向服务器询问由两部分组成的问题,例如“您是否拥有名为 ‘hostname.example.microsoft.com’ 的计算机的 A 资源记录?”当客户端收到来自服务器的应答时,它将读取并解译应答的 A 资源记录,获取根据名称询问的计算机的 IP 地址。
3.2.1 DNS的查询类型
在DNS中,通常可执行两类的查询。这两种类型如下:
1、递归查询(Recursive)。DNS 服务器承担全部的工作量和责任,为该查询提供完全的答案。它可使用其自身的资源记录信息缓存来应答客户查询,也可代表请求客户端查询或联系其他 DNS 服务器,以便完全解析该名称,并随后将应答返回至客户端。这个过程如上图中的第1和第10步,称为递归。
2、迭代查询(Iterative)。如果DNS服务器的高速缓存内或区域中没有需要的数据记录,则DNS服务器会向客户端提供去查询其它DNS服务器的指针让client去继续查询,直到出现了正确答案或超时、错误等为止。或第一台DNS服务器在向第二台DNS服务器提出查询要求后,如果第二个DNS服务器内没有所需数据,则它会提供第三台DNS服务器的IP地址给第一台DNS服务器让第一台DNS服务器向第三台DNS服务器查询。该过程这个过程如上图中的第2至第9步,称作迭代。
3.2.2 DNS的查找类型
区域查找类型确定DNS服务器将执行的任务。在你创建区域时,你要通过指定区域类型,来确定该区域将被用来解决正向查找查询还是逆向查找查询。而迭代查询和递归查询可以与下述查找类型相关联:
1、正向查找(Forward Lookup)。这种请求将FQDN映射为IP地址,为最常用的查找类型。
2、逆向查找(Reverse Lookup)。这种请求将IP地址映射为FQDN,当你只知道目标的IP地址,而不知其域名时,可以采用这种查找类型。
3.3 DNS创建的区域类型
域名系统 (DNS) 允许 DNS 名称空间分成几个区域(Zone),这些区域存储有关一个或多个 DNS 域的名称信息。对于包括在区域中的每个 DNS 域名,该区域成为该域的有关信息的权威性信息源。
区域是域名称空间中的一个连续部分,通过区域,可以让我们在域中精确的定位某一台主机。
为了创建区域,我们必须先要理解下面这些概念:
1、区域类型(Zone types)。DNS服务器上可以驻留不同类型的区域,你可以配置单个DNS服务器,使之支持或驻留多个区域。也可以配置多个服务器,让它们驻留一个或多个区域,用于提供容错和负载平衡的功能。
2、区域文件(Zone file)。资源记录存储于区域文件中。区域文件中存储的停息用于将FQDN解析为IP,或将IP解析为FQDN。每一个zone都有一个区域文件,文件位于:%systemroot%\system32\dns中。(%systemroot%表示当前系统的安装目录)。
3.3.1 识别区域类型
在DNS中,你可以创建并配置以下四种类型的区域:即主要区域(Primary zone)、辅助区域(Secondary zone)、存根区域(Stub zone)、活动目录集成区域(Active Directory interated zone)。
3.3.1.1 主要区域(Primary zone)
区域的主 DNS 服务器作为区域的更新点。新创建的区域通常是这种类型。可以按以下列两种方法之一使用主要区域:作为标准的主要区域或集成 Active Directory 的主要区域。
对于标准主要类型区域,只有一个 DNS 服务器能主持和加载区域的主副本。如果创建了一个区域并将其作为标准主要区域,则不允许区域有其他主服务器。只允许一个服务器接受动态更新和处理区域更改。
标准主区域包含区域文件的一个读/写版本,该文件存储为标准的文本文件,区域的任何变化都被记录在该文件中。
3.3.1.2 辅助区域(Secondary zone)
标准主模式隐含了一个故障点。例如,如果因为某种原因区域的主服务器对于网络不可用,则对区域无法做动态更新,无法为DNS客户进行正常的域名解析。这时候,如果我们为事先为主区域创建了辅助区域服务器,则该服务器可用于应答,则区域中名称的查询不受影响并能不受干扰地继续进行。
辅助区域包含了主区域的的只读副本,其通过区域复制得到主区域信息的变化。辅助区域能通过响应client查询请求来减少主zone的负担,从而实现容错和负载平衡。
辅助区域的区域文件被存储为一个标准的只读文本文件,该区域的任何的变化都被记录在相应主区域文件中,并被复制到辅助区域的区域文件中。
3.3.1.3 存根区域(Stub zone)
存根区域是一个区域副本,只包含标识该区域的权威域名系统 (DNS) 服务器所需的那些资源记录。存根区域用于使主持父区域的 DNS 服务器知道其子区域的权威 DNS 服务器,从而保持 DNS 名称解析效率。
存根区域由以下部分组成:
1、委派区域的起始授权机构 (SOA) 资源记录、名称服务器 (NS) 资源记录和粘附 A 资源记录。
2、可用来更新存根区域的一个或多个主服务器的 IP 地址。
存根区域的主服务器是对于子区域具有权威性的一个或多个 DNS 服务器,通常 DNS 服务器主持委派域名的主要区域。
使用存根区域可执行以下操作:
使委派的区域信息保持最新。
改进名称解析。
简化 DNS 管理。 在整个 DNS 结构中使用存根区域可为区域分发权威 DNS 服务器的列表,而不用使用辅助区域。但是,存根区域与辅助区域的用途不同,考虑冗余和负载共享时,存根区域不是备用区域。
3.3.1.4 活动目录集成区域(AD integrated zone)
可通过使用 DNS 服务器服务的目录集成存储和复制功能为区域添加更多的主服务器。为此,您需要更改区域并将它集成到 Active Directory。
与AD集成的DNS区域中只能创建于域控制器上,其区域数据库也保存在活动目录中,并随AD的复制而在整个域中复制。因为活动目录维护区域信息,所以你无需为了指定怎样更新与何时更新而配置DNS服务器。
3.4 安装和配置DNS
在上面我们详细介绍了DNS的概念及工作原理,接下来,我们就向大家说明如何在Windows 2003 Enterprise Edition服务器上配置DNS服务。
3.4.1 企业背景
你的公司网络正向Windows2003 转移。在进行这种转移时 ,部分工作涉及到配置DNS域的问题,要在全公司范围内使用这些域。你公司申请的域名有Nwtrade.com和nt2000.com, 并且为你的公司内的不同地理区域指派了子域。作为公司的网络管理员,你需要在公司内部建立DNS域名解析系统。为了进行容错和负载均担,你需要建立主区域和辅助区域。在系统建立完成后,你还需要确认这些服务器能否正常的工作,并能快速更正出现的问题。
3.4.2 配置步骤
1、安装DNS
2、建立主区域和主机记录
3、建立反向区域和指针记录
4、实现DNS的动态更新
5、建立标准辅助区域并配置区域传输
6、与WINS集成
7、DNS客户端的配置
3.4.2.1
安装
DNS
默认的,当你安装好Windows Server 2003之后,DNS服务并没有被添加进去。为了安装DNS,你可以在“控制面板”或“配置你的服务器向导”中进行安装。这里以“控制面板”中的安装方法为例。
1、以管理员身份登录到一台固定IP地址为192.168.0.100服务器,在“控制面板”上双击“添加/删除程序”,在其后出现的对话框中单击“添加/删除Windows组件”。
2、在“Windows组件” 向导中,选择单击“网络服务“,然后再单击“详细资料”,选择“域名服务系统(DNS)”前面的复选框,然后单击“确定”按钮进行安装。
3、安装完毕后,在“管理工具”中会出现“DNS”管理工具。
3.4.2.2 建立主区域和主机记录
1、首先确保本机已安装了DNS服务,则可以通过选“开始→程序→管理工具→DNS”来打开DNS控制台管理器(以下简称“DNS管理器”)。
2、在DNS管理器中,在“正向查找区域”上单击右键,选“新建区域”以进入新建区域向导中。
3、当向导提示到要让选择“区域类型”时,此处应选“主要区域”,并清除“在Acticve Directory中存储区域”前面的复选框,单击“下一步”按钮继续。
3、随后系统会询问“区域名”,在“名称”后的文字框中输入“nwtrade.com”;接着向导进入到“区域文件”提示窗口中,默认的,系统会自动选中“创建新文件,文件名为”一项,并在其后的文字框中自动填有“nwtrade.com.dns”(“nwtrade.com”部分即为上步所输入的“区域名”)的名字。
4、再根据系统提示选择其默认各项之后即可完成此区域的建立。此时在DNS管理器左边的“树”栏中的“LG→正向搜索区域”里即可以看到新建立的“nwtrade.com”区域。
5、接着在“nwtrade.com”区域上单击右键,选“新建主机”,在其后的对话框中的“名称”处输入主机名“www”,“IP地址”处输入IP地址“192.168.0.100”,再单击“添加主机”按钮,即成功地创建了主机地址记录 www.nwtrade.com。
3.4.2.3 建立反向区域和指针记录
1、在DNS管理器中,在“反向查找区域”上单击右键,选“新建区域”以进入新建区域向导中。
2、当向导提示到要让选择“区域类型”时,此处应选“主要区域”,并清除“在Acticve Directory中存储区域”前面的复选框,单击“下一步”按钮继续。
3、在“网络ID”中输入“192.169.0”,然后单击“下一步”。
4、接着会出现区域文件名的选项,按默认设置即可。单击“下一步”,完成反向查找区域的创建。
5、在“反向查找区域→192.168.0.x Subnet”上单击右键,选择“新建指针(PTR)”,输入主机的IP号和主机名,点击“确定”按钮完成指针记录的创建。
3.4.2.4 实现DNS的动态更新
Windows 2000 Server以上的版本支持DNS的动态更新。通过动态更新协议,允许客户计算机自动在DNS服务器中更新记录,而不需管理员的干涉。在进行动态更新的设置时,当区域为AD集成区域时,可设置为安全的动态更新,而对非AD集成区域,只能设置为非安全的动态更新。
对于Windows2000以前版本的系统,如Windows NT和Windows98,它们是不支持动态更新的,在这种情况下,我们可以将它们配置DHCP客户,然后通过DHCP服务的相关配置来帮助它们进行DNS的动态更新。
1、根据以上的实验步骤,我们在DNS服务器上再重建一个区域,取名为nt2000.com,然后在其属性的动态更新中设置为“非安全”。
2、为了对Windows2000以前版本作DNS的动态更新,我们进入管理工具中的DHCP服务,选择 DHCP 服务器,在其属性页中单击动态DNS,选中"启用 DNS 客户信息动态更新"并选中选项中的"当租约过期时取消正向搜索、对非动态 DNS 客户更新"两个选项。
3.4.2.5 建立标准辅助区域并实现区域传输
DNS 设计规范推荐对每个区域至少使用两个 DNS 服务器以实现最不的容错和负载平衡。对于标准主要类型区域,可以用辅助服务器来添加和配置该区域。对于目录集成的主要区域,辅助服务器是被支持的但不是必需的。
辅助服务器能够提供在区域被大量查询和使用的网络区减少 DNS 查询通信量的方法。另外,如果主服务器关闭了,则辅助服务器可以在该区域提供一些名称解析,直到主服务器可以使用为止。
因为主服务器总是保留区域更新和改动的主副本,所以辅助服务器依赖 DNS 区域传输机制来获取信息并使其成为最新信息。在Windows2000和Windows2003中,区域信息的更新由增量式区域传输(IXFR—incremental zone transfer)功能进行。这种功能只复制区域文件的变化,而不是复制整个区域文件。
为了完成辅助区域的建立和区域传输的配置,需按以下步骤进行:
1、以管理员身份登录到一台固定IP地址为192.168.0.125的DNS服务器,在上面新建一个区域,区域类型选择为:辅助区域,区域名取为同标准主区域的名字一样,这里取名为:nt2000.com,主区域的IP设为192.168.0.100,这样就完成了辅助区域的创建。
2、以管理员身份登录到主DNS服务器(IP地址为:192.168.0.100)上,进入DNS管理器,右击nt2000.com区域,选择“属性”,在属性对话框中:选择起始授权机构。在这里主要作辅助区域主动同主区域进行区域更新的配置,在这里,我们可以对序列号、刷新间隔、重试间隔及过期时间根据网络的实际需要作要应的修改。
3、点击“区域复制”标签,进入区域复制页设置与那些服务器进行区域传输,默认情况下将与网络中的所有DNS服务器进行区域传输,也可以设置为只与名称服务器列表中的服务器进行区域传输或与指定的服务器进行区域传输。在这里我们按默认设置,点击“通知”按钮。
4、进入“通知”页面,在这里的设置是当主区域的信息发生改变后会主动通知哪引起辅助区域服务器,从而使主区域和辅助区域的区域文件达到一致,以免对DNS客户提供正常的域名解析服务。这里我们选择“下列服务器”单选框,在IP地址中输入辅助服务器的IP地址“192.168.0.125”,点击“确定”按钮,完成区域传输的设置。
3.4.2.6 集成DNS和WINS
当 DNS 服务器与 WINS 服务结合使用后,在DNS域名空间无法查询的名称可以利用 WINS 管理的 NetBIOS 名称空间进行查询。
在一个区域中启动 WINS 查询功能具体步骤如下:
1、首先在 DNS 服务器中选择一个区域(如nt2000.com),在基属性页中单击WINS标签。
2、选中使用“WINS正向查找”复选框,在下方的 WINS 服务器中添加 WINS 服务器的 IP 地址。如果在区域传输时用户不想将这条记录复制给其它 DNS 服务器,则用户可以选中"不复制此记录。点击“确定”按钮,完成与WINS集成的配置。
3.4.2.7 DNS客户端的配置
在成功安装 DNS 服务器后,就可以在 DNS 客户机启用 DNS 服务,下面具体说明如何在客户机上设置并启用 DNS 服务。
1、在一台客户机的工作桌面上右击“网上邻居”,进入“网络连接”窗口。
2、在“网络连接”窗口中选择计算机所用的网卡(默认为本地连接),右击“本地连接”,进入本地连接属性页。
3、在“此连接所使用的下列项目”中,选择“Internet协议(TCP/IP)”,然后点击“属性”按钮。
4、在弹出的的“Internet协议(TCP/IP)属性”页中,选择“使用下列DNS服务”单选框,在“首选DNS服务器”中可输入主DNS服务器的IP或辅助DNS服务器的IP,或在“首选DNS服务器”和“备用DNS服务器”中分别输入二者的IP地址,单击“确定”,完成客户机配置。
3.4.3 练习思考
1、 DNS的ZONE有哪些类型,有什么特点?
2、 DNS的区域传输是怎样进行的?
3、 缓存DNS是怎样工作的,用在什么场合?
4、 如何验证DNS是否能正常工作?
5、 如何利用Nslookup 排除“域名系统服务器”(DNS Server)服务器中的问题。
3.5 本章复习
本章节详细介绍了DNS的概念、工作原理及配置方法。
DNS是一个分布式数据库系统,它用来将用户容易记住的友好的名称FQDN解析为难记的IP地址。
DNS的查询类型分为递归和迭代两类,其查找类型分为正向查找和反向查找。
在DNS中可以创建四种类型的区域:主区域、辅助区域、存根区域以及AD集成区域,其中AD集成区域可以实现安全的动态更新,其它区域只能实现非安全的动态更新。
为了保护主区域与辅助区域DNS信息的一致性,可以配置区域传输机制。Windows2000/2003采用的是增量的区域传输机制。
当 DNS 服务器与 WINS 服务结合使用后,在DNS域名空间无法查询的名称可以利用 WINS 管理的 NetBIOS 名称空间进行查询。
转载于:https://blog.51cto.com/lgzeng2360/161908