DNS服务器所提供的服务是完成将主机名和域名转换为IP地址的工作。为什么需要将主机名和域名转换为IP地址的工作呢?这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是便于识记的主机名和域名,如http://www.chinaitlab.com。而网络上的计算机之间实现连接却是通过每台计算机在网络中拥有的惟一的IP地址来完成的,这样就需要在用户容易记忆的地址和计算机能够识别的地址之间有一个解析,DNS服务器便充当了地址解析的重要角色。
了解DNS服务
DNS是域名系统(Domain Name System)的缩写,是一种组织域层次结构的计算机和网络服务命名系统。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与此名称相关的IP 地址信息。
用户在使用网络服务时喜欢在浏览器的地址栏中输入使用主机名和域名组成的名称,如computer.bookshop.com,因为,这样的名称更容易被用户记住。但是,计算机在网络上是使用IP地址来通信的。为了能够实现网络计算机之间通信,DNS服务器所提供的服务就是将用户所使用的计算机或服务名称映射为IP地址。
DNS服务的工作过程如下:
当 DNS 客户机需要查询程序中使用的名称时,它会查询 DNS 服务器来解析该名称。客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。
● 指定的 DNS 域名,表示为完全合格的域名 (FQDN) 。
● 指定的查询类型,它可根据类型指定资源记录,或作为查询操作的专门类型。
● DNS域名的指定类别。
对于DNS 服务器,它始终应指定为 Internet 类别。例如,指定的名称可以是计算机的完全合格的域名,如hosta.hello.company.com,并且指定的查询类型用于通过该名称搜索地址资源记录。系统将把DNS 查询当作客户机向服务器提出的两部分问题,如“对于名为 hostname.hello.company.com 的计算机,你有没有地址资源记录?”当客户机从服务器接收应答时,它读取并解释应答的地址资源记录,以了解它通过名称提问的计算机的 IP 地址。
DNS 查询以各种不同的方式进行解析。客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询。DNS 服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其他 DNS 服务器,以完全解析该名称,并随后将应答返回至客户机。这个过程称为递归。
另外,客户机自己也可尝试联系其他的 DNS 服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询,该过程称作迭代。
总之,DNS 的查询过程按两部分进行:首选,名称查询从客户机开始并传送至解析程序(DNS客户服务)进行解析;其次,不能就地解析查询时,可根据需要查询DNS服务器来解析名称。DNS 查询的过程如图4-1所示。
图4-1
DNS的查询过程
如查询过程的初始步骤所示,DNS 域名由本机的程序使用。该请求随后传送至 DNS 客户服务,以通过使用就地缓存的信息进行解析。如果可以解析查询的名称,则查询将被应答,并且此过程完成。其中,本地解析程序的缓存可从以下2个可能的来源获取名称
信息:
● 如果主机文件就地配置,则来自该文件的任何主机名称到地址的映射都将在DNS 客户服务启动时预先加载到缓存中。
● 从以前DNS查询应答的响应中获取的资源记录将被添加至缓存并保留一段时间。
如果此查询不匹配缓存中的项目,则解析过程继续进行,客户机查询 DNS 服务器来解析名称。
接下来查询 DNS 服务器,当本地的DNS不能就地解析查询时,可根据需要查询 DNS 服务器来解析名称。如图4-1所示,客户机将查询首选 DNS 服务器。在此过程中使用的实际服务器是从全局列表中选择的。当 DNS 服务器接收到查询时,首先检查它能否根据在服务器的就地配置区域中获取的资源记录信息作出权威性的应答。如果查询的名称与本地区域信息中的相应资源记录匹配,则服务器作出权威性的应答,并且使用该信息来解析查询的名称。
如果查询的名称没有区域信息,则服务器检查它能否通过本地缓存的先前查询信息来解析名称。如果从中发现匹配的信息,则服务器使用它应答查询。接着,如果首选服务器可使用来自其缓存的肯定匹配响应来应答发出请求的客户机,则此次查询完成。
如果查询名称在首选服务器中未发现来自缓存或区域信息的匹配应答,则查询过程可继续进行,使用递归来完全解析名称,包括来自其他 DNS 服务器的支持,以帮助解析名称。在默认情况下,DNS 客户服务要求服务器在返回应答前使用递归过程来代表客户机完全解析名称。在大多数情况下,DNS 服务器的默认配置支持递归过程,如图4-2所示。
图4-2
递归解析过程
为了使 DNS 服务器正确执行,首先需要在DNS 域名空间内存放其他DNS服务器的一些有用的联系信息。该信息以根线索的形式提供,它是记录初步资源的一个列表,可用来定位一些 DNS 服务器,这些服务器对 DNS 域名空间树的根具有绝对控制权。根服务器对 DNS 域名空间树中的根域和顶级域具有绝对控制权。DNS 服务器可通过使用根线索搜索根服务器来完成递归过程。
例如,当客户机查询单个DNS服务器时,考虑使用递归过程来定位名称 host.example.microsoft.com。此过程在 DNS 服务器和客户机首次启动,并且没有可帮助解析名称查询的当地缓存信息时进行。
首先,首选服务器分析全名并确定对于顶级域com具有绝对控制权的服务器的位置。随后,对com DNS 服务器使用迭代查询,以获取microsoft.com服务器的参考信息。然后参考性应答从microsoft.com服务器传送到example.microsoft.com的 DNS 服务器。最后,与服务器 example.microsoft.com 联系上。因为该服务器包括作为其配置区域一部分的查询名称,所以,它向启动递归的源服务器作出权威性的应答。当源服务器接收到表明已获得对请求查询的权威性应答的响应时,它将此应答转发给发出请求的客户机,这样,递归查询过程就完成了。
安装DNS服务器
当在Windows 2000 Server服务器上安装DNS服务器后,用户将本机IP地址或计算机名称指定给DNS服务器,则DNS服务器会自动与指定的计算机硬件建立连接,然后启用所需的设备完成数据运算和解析网络地址的工作。
安装DNS服务器的操作步骤如下:
(1) 打开“开始”菜单,单击“程序”→“管理工具”→DNS命令,打开DNS窗口,如图4-3所示。
图4-3
DNS窗口
(2) 单击“操作”→“连接到计算机”命令,系统将打开“选择目标计算机”对话框,如图4-4所示。
图4-4
“选择目标计算机”对话框
(3) 如果用户要在本机上运行DNS服务器,请选择“这台计算机”单选按钮。如果用户不希望在本机运行DNS服务器,请选择“下列计算机”单选按钮,然后在其下方的文本框中输入要运行DNS服务器的计算机的名称或IP地址。
(4) 如果用户希望立即与这台计算机进行连接,请启用“立即连接到指定计算机”复选框。
(5) 单击“确定”按钮,返回到DNS窗口,这时在控制台目录树中将显示代表DNS服务器的图标和计算机的名称,如图4-5所示。
图4-5
DNS服务连接到计算机后的窗口
创建DNS区域
在用户选定了运行DNS服务器的计算机后,便等于为该服务器选定了硬件设备。而实现DNS服务器的域名服务功能还需要软件的支持,其中最重要的便是为DNS服务器创建区域。该区域其实是一个数据库,它提供DNS名称和相关数据,如IP地址或网络服务间的映射。
1. 正向搜索区域
正向搜索区域使得DNS服务器能够向前查找,对于DNS服务器,必须配置至少一个正向搜索区域以便DNS服务器工作。在Windows 2000中,可以配置以下3种类型的正向搜索区域:
● 集成的活动目录:新区域的主副本,并把它存放在活动目录中,新区域使用活动目录来保存和同步复制区域文件。
● 标准主要区域:新区域的主副本,并把它保存在标准文本文件中,在创建的新区域所在的计算机上管理并维护主区域文件。
● 标准辅助区域:现存区域的一个副本,创建辅助区域可提供冗余并减少名字服务器上的负荷。辅助区域是只读的,并且被保存在标准文本文件中。为了创建辅助区域,必须配置主区域,并指定主DNS服务器,它将把区域信息转换成包含标准辅助区域的名字服务器。
创建正向搜索区域的操作步骤如下:
(1) 打开“开始”菜单,单击“程序”→“管理工具”→DNS命令,打开DNS窗口,选择要创建正向搜索区域的DNS服务器。
(2) 单击“操作”→“创建新区域”命令,系统启动“新建区域向导”对话框,如图4-6所示,该向导将引导用户创建新区域。
图4-6
“新建区域向导”对话框
(3) 单击“下一步”按钮弹出“区域类型”对话框,如图4-7所示。用户可以选择要创建区域类型对应的单选按钮,在本例中选择“标准主要区域”单选