安装DNS服务器
在Windows 2000服务器系统和Windows Server 2003中,均含有DNS服务器。安装DNS服务器的过程很简单,但是你必须确保安装DNS服务器的计算机具有静态的IP地址。下面给大家介绍一下如何在Windows Server 2003上安装DNS服务器:
-
点击开始,控制面板,再点击添加/删除程序,然后在弹出的添加/删除程序对话框上点击添加/删除Windows组件;
-
在弹出的Windows组件向导对话框,勾选网络服务下的域名系统(DNS),点击确定,然后点击下一步;
-
此时,Windows组件向导会安装DNS服务器,安装过程中可能会提示你插入安装光盘。
管理DNS服务器
安装好DNS服务器后,你可以点击管理工具下的DNS或者运行dnsmgmt.msc命令来打开DNS管理控制台,如下图所示:
在进行任何部署之前,都建议你预先配置DNS服务器的属性,右击DNS服务器名选择属性;
如下图所示,普通的DNS服务器总共具有接口、转发器、高级、根提示、调试日志、事件日志、监视七个标签;
如果DNS服务器是在域控制器安装,则具有第八个标签:安全,如下图所示,它用于控制用户对DNS服务器的访问。
在此我们逐标签进行介绍。
接口
接口标签允许你指定DNS服务器侦听DNS请求的本地计算机IP地址,默认情况下,DNS服务器侦听本地计算机上的所有IP地址。但是在某些情况下,你不希望DNS服务器侦听所有的IP地址。例如你的DNS服务器具有两个网络适配器,分别连接到Internet和LAN,则你可能不希望让Internet的客户访问你的DNS服务器,所以你可以只选择侦听连接到LAN的IP地址。
转发器
转发器标签允许当本地DNS服务器无法对DNS客户端的解析请求进行本地解析时(DNS服务器无法权威的解析客户端的请求,即没有匹配的主要区域和辅助区域,并且无法通过缓存信息来解析客户端的请求),配置本地DNS服务器转发DNS客户发送的解析请求到上游DNS服务器。此时本地DNS服务器又称为转发服务器,而上游DNS服务器又称为转发器。在这个标签中,你可以指定需要进行转发的DNS域名和转发到的上游转发器的IP地址。在Windows Server 2003中,提供了条件转发功能,可以让你将针对不同域名的解析请求转发到不同的转发器,如下图所示:
你可以针对某个DNS域配置多个上游转发器。列表中位置更高的上游转发器具有更高的优先级,本地DNS服务器会优先进行查询。你可以点击上移、下移按钮来调整上游转发器的优先级。
下部的在转发查询超时之前的秒数指定了本地DNS服务器(转发服务器)等待上游转发器回复的超时限制时间,当上游转发器超过这个时间没有进行回复时,本地DNS服务器将联系其他的上游转发器,默认设置是5秒。
转发器标签只有DNS服务器工作在递归模式时有效,这是因为如果DNS服务器工作在迭代模式时,它不需要转发不能本地解析的DNS客户端请求。
如果没有配置转发器而本地DNS服务器又不能对客户端的请求进行本地解析,则会使用根提示信息来解析客户端的请求,这样解析速度较慢;而通过配置转发器,可以将所有其他DNS域转发到最近的ISP的DNS服务器,从而可以高效的对DNS客户端的名字解析请求进行处理。缓存DNS服务器通常会配置DNS转发器,以获得更高的效率。
此外,转发器还用于高安全要求的网络环境。例如,你不愿意让内部网络中的DNS服务器直接访问Internet,以免引起安全问题,则可以配置此DNS服务器转发至内部网络中的某台上游转发器,然后此转发器又配置为转发至Internet上的DNS服务器,并且在边缘防火墙上限制为只允许此转发器到Internet的DNS访问,这样就可以避免内部网络其他DNS服务器和Internet的直接通讯。
下部的不对这个域使用递归则控制是否对此DNS域使用递归模式的名字解析。DNS服务器只有工作在递归模式下时才能使用转发器,但是你可以控制对某个DNS域不使用递归模式进行解析。如果对某个DNS域不使用递归,则本地DNS服务器完全于依赖上游转发器的解析,如果上游转发器无法解析本地DNS服务器转发的DNS解析请求,则本地DNS服务器将直接按照上游DNS服务器的答复向DNS客户端进行答复;默认情况下会启用递归模式,即当上游无法解析本地DNS服务器转发的DNS解析请求时,本地DNS服务器会尝试通过根提示信息来对DNS解析请求进行解析。
高级
在高级标签,你可以配置DNS服务器的高级属性。每个选项的含义为:
禁用递归(也禁用转发器)
在转发器标签中你可以为某个DNS域禁用递归,而此选项是服务器全局选项。当选择此选项时,DNS服务器会工作在迭代模式,同时禁止使用转发器。默认情况下,此选项未启用。
BIND辅助区域
BIND是Unix系统上的DNS服务器系统。Windows系统上的DNS服务器在区域传输时使用快速传输格式,这种格式可以进行数据压缩并且在单个TCP消息中可以传输多个资源记录,从而节约网络带宽和区域传输时间。但是,只有BIND 4.94及以上版本才支持快速传输格式,因此,默认情况下为了和低版本的BIND服务器兼容,启用了BIND辅助区域选项,此时,本地DNS服务器在进行区域传输时,不采用快速传输格式。
如果是在Windows系统的DNS服务器间进行区域传输或者辅助DNS服务器是BIND 4.94及以上版本,你可以取消此选项。
如果区域数据不正确,加载会失败
默认情况下,此选项被禁用。如果DNS服务器加载区域文件时发现区域数据出现问题,会产生警告错误,但是同样会加载区域文件,当区域数据加载完毕,DNS服务器会尝试使用此有疑问的区域数据来答复DNS客户端的解析请求。
如果你启用此选项,当DNS服务器发现区域数据文件出现问题时,则不会加载此区域文件。
启用循环
此选项确定如果对于客户端的解析请求具有多个匹配的资源记录,DNS服务器是否使用循环法来对答复给客户端的资源记录进行排序。默认情况下启用此选项,即DNS服务器使用循环法。
当创建资源记录时,在区域中存储此资源记录时会有一个静态顺序,循环法即按照循环顺序来对答复给客户端的资源记录进行排序,从而不同的客户获得不同优先级的资源记录列表,从而实现一种简单的负载平衡。如果不使用循环法,则DNS服务器将会按照资源记录原始存储顺序来答复客户,所有的客户都将获得相同优先级的资源记录列表。
例如,针对WinSVR.ORG的Web服务器的FQDN www.winsvr.org,有三个A记录,在区域文件中存储方式如下图所示:
www IN A 10.1.1.1
IN A 10.1.1.2
IN A 10.1.1.3
则当第一个客户请求解析FQDN www.winsvr.org时,DNS服务器会返回默认顺序的资源记录列表;而第二个客户请求解析时,DNS服务器会使用循环法处理资源记录列表,客户端得到的列表为:
www IN A 10.1.1.2
IN A 10.1.1.3
IN A 10.1.1.1
而第三个客户请求解析时,DNS服务器会再次使用循环法进行处理,客户端得到的列表为:
www IN A 10.1.1.3
IN A 10.1.1.1
IN A 10.1.1.2
从而可以实现WinSVR.ORG Web服务器一种简单的负载均衡。
启用网络掩码排序
启用网络掩码排序是Windows Server 2003的DNS服务器新增的功能。此选项确定如果对于客户端的解析请求具有多个匹配的资源记录,DNS服务器是否使用本地子网优先级排序来作为给出同一网络上首选IP地址的方法,此功能可以让客户端得到最为接近自己本地网络ID(通常是距离最近的)的资源记录。
DNS服务器按以下方式确定本地子网优先级:
-
DNS服务器确定是否需要使用本地子网的优先级排序。如果有多个资源记录与查询的主机名匹配,则DNS服务器可以按照客户端的子网位置对记录进行排序;如果只有一个资源记录匹配查询的主机名或者发出解析请求的客户端的IP地址没有与任何匹配的资源记录的网络ID匹配,则不对此列表进行按优先级的排序。
-
如果存在匹配网络ID的资源记录,则DNS服务器决定哪些记录与请求客户端的子网ID匹配。
-
DNS服务器重新对答复客户的资源记录列表进行排序,将与请求客户端的本地子网匹配的资源记录排在答复列表的首位,然后将答复列表返回给请求的DNS客户端。
例如,针对WinSVR.ORG的Web服务器的FQDN www.winsvr.org,有三个A记录,在区域文件中存储方式如下图所示:
www IN A 10.1.1.1
IN A 23.1.1.2
IN A 39.1.1.3
如果一个IP地址为23.1.1.3的DNS客户端向DNS服务器查询FQDN www.winsvr.org的IP地址,则DNS服务器通过本地子网优先级排序后返回给DNS客户的答复列表为:
www IN A 23.1.1.2
IN A 10.1.1.1
IN A 39.1.1.3
而针对另外一个IP地址为39.1.1.1的DNS客户端发起的解析请求的的答复列表为:
www IN A 39.1.1.3
IN A 10.1.1.1
IN A 23.1.1.2
而针对另外一个IP地址为61.139.0.1的DNS客户端发起的解析请求的的答复列表为:
www IN A 10.1.1.1
IN A 23.1.1.2
IN A 39.1.1.3
这是因为没有匹配的网络ID,所以DNS服务器返回默认的资源记录列表。
当同时启用启用网络掩码排序和启用循环功能时,启用网络掩码排序的优先级比启用循环功能的优先级更高,此时,启用循环只是作为启用网络掩码排序结果的辅助方式。如果启用网络掩码排序在匹配客户端解析请求的资源记录中的找到匹配客户端子网ID的资源记录,则对其他非匹配的资源记录进行循环排序,否则将对所有匹配客户端解析请求的资源记录进行循环排序。
保护缓存防止污染
默认情况下会启用保护缓存防止污染选项,此选项允许DNS服务器保护自己的缓存,让它不受到参考答复的影响。当此选项启用时,DNS服务器只是缓存和解析请求所对应的DNS域有关的记录,而从其他DNS服务器获得的参考答复不会进行缓存。例如,如果我针对FQDN www.winsvr.org发起解析请求,DNS服务器将其转发到上游DNS转发器,而获得了一个参考答复,但是此参考答复是和winsvr.org无关的,而是和DNS域isacn.org有关,当保护缓存防止污染选项启用时,DNS服务器不会缓存此参考答复,这防止了非法计算机冒充其他服务器给予错误答复的情况。
名字检查
名字检查选项用于设置DNS服务器处理的所有域名的编码方式,默认情况下是多字节(UTF8)。
各种方式的含义如下:
方式
描述
严格的RFC(ANSI)
按照RFC 1123中的定义进行名字检查,只能使用大小写字符(A~Z,a~z),数字(0~9)和连字符(-),DNS域名的首字符可以是数字。
非RFC(ANSI)
允许非标准的名字,并不遵照RFC1123规范,但是仍然使用ANSI字符。
多字节(UTF8)
允许使用Unicode字符作为DNS域名,从而允许使用非英文字符作为DNS域名,但是经过UTF-8编码后的域名长度不能超过RFC 2181中的定义长度(每节DNS域名不能超过63字节,完整DNS域名不能超过255字节)
所有名称
允许所有的名字类型
一般情况下,你不需要修改此选项。只有当区域数据复制到的辅助DNS服务器不支持UTF-8字符编码时,你才需要将名字检查方式修改为严格的RFC(ANSI)方式,否则就算辅助DNS服务器可以接收到UTF-8的区域数据,但是却不能将它们写入到本地存储的区域文件中。
至于其他两种方式,非RFC(ANSI)和所有名称,只有当某个应用程序必需时,你才需要配置为这两种方式。
启动时加载区域数据
默认情况下,DNS服务器设置为启动时从Active Directory和注册表中加载区域数据,此时,DNS服务器在初始化服务器时从活动目录数据库和服务器注册表中读取配置信息。你可以选择为从注册表中加载,此时DNS服务器在初始化服务器时从注册表中读取配置信息。
当选择为从文件中加载时,DNS服务器初始化时和BIND服务器一样,从启动文件中读取配置信息。为了使用这个选项,你首选必需从BIND服务器上复制一个启动文件到本地DNS服务器上,此启动文件通常命名为Named.boot,并且只能使用BIND 4格式的文件。当DNS服务器初始化时,从启动文件中读取的配置将覆盖从注册表中获取的配置,但是,对于启动文件中没有的配置信息,则使用从注册表中读取的值。
启用过时记录自动清理
默认情况下,启用过时记录自动清理选项是禁用的,因此,DNS服务器将不会自动删除启用了老化/清理配置的区域中过时的资源记录,当启用此选项时,DNS服务器将按照在清理周期中指定的时间间隔来自动删除启用了老化/清理配置的区域中过时的资源记录。
根提示
根提示标签中包含了%systemroot%System32DnsCache.dns文件中的定义,用于帮助本地DNS服务器解析Internet域名;当你在DNS服务器上部署了根DNS域“.”时,根提示信息会自动删除并禁用。一般情况下,你不需要修改根提示信息;不过当你在内部网络部署私有DNS根域时,可能需要将内部的根DNS服务器添加到根提示信息中。
Internet根DNS服务器的名字和IP地址基本不进行变动,上次的修改是在2002年11月5日。你可以从InterNIC的FTP服务器下载最新的根提示信息,下载地址为:
ftp://rs.internic.net/domain/named.cache
调试日志
调试日志标签允许你记录DNS服务器收发的数据包,用于调试分析。但是由于记录所有的数据包非常耗费系统性能,所有DNS服务器允许你根据数据包方向、传输协议、数据包内容、数据包类型等来选择记录的数据包。
启用调试日志时,必须指定记录数据包的日志文件名和最大文件长度。
事件日志
在安装DNS服务器以后,会在系统的事件日志中创建一个DNS服务器日志,你可以通过事件查看器来查看。事件日志标签用于选择DNS服务器事件日志记录的方式,默认情况下是记录所有事件,你可以根据你的需要进行选择。
监视
监视标签允许你通过两种简单的方法来测试DNS服务器的基本功能。为了完成简单查询,DNS服务器必须能够正确解析针对自己的正向和反向解析请求;而为了完成递归查询,DNS服务器必须能够连接到根提示信息中的根DNS服务器。
你可以配置DNS服务器按照配置的时间间隔自动进行测试,手动测试和自动测试的结果都将显示在测试结果列表框中。
安全
当在域控制器上安装DNS服务器时,会具有安全标签,用于控制用户对于DNS服务器及所属子对象的权限。
管理任务
在DNS服务器管理控制台中右击DNS服务器名,会列出和DNS服务器有关的管理任务,如下图所示:
配置DNS服务器
点击弹出DNS服务器配置向导,你可以通过它轻松的同时完成正向区域和反向区域的创建,如下图所示:
新建区域
点击弹出新建区域向导,你可以通过它创建一个区域,如下图所示:
为所有区域设置老化/清理:点击弹出服务器老化/清理属性对话框,如下图所示:
资源记录的老化/清理设置必须同时在服务器老化/清理属性和区域老化/清理属性中设置方可有效。需要注意的是,在服务器老化/清理属性上的修改会提示你是否将此设置应用到现有的活动目录集成区域,而不会应用到标准主要区域。对于标准主要区域,你需要手动设置区域老化/清理属性,但是,新建标准主要区域时,默认的老化/清理时间间隔会继承服务器老化/清理属性中的设置。
清理过时资源记录
当启用老化/清理配置时,会按照配置中定义的时间间隔自动清理过时的资源记录。你可以点击清理过时资源记录立即开始对过时资源记录的清理。
更新服务器数据文件
在DNS服务器初始化时,它会将区域数据从区域文件加载到内存中,对区域的任何修改都暂时保存在内容中,只有在预定义的更新间隔和DNS服务器服务停止时才会将内存中的修改保存在磁盘上的区域文件中。此命令将使DNS服务器立即将内存的修改保存到磁盘上的区域文件中。
但是,此命令仅对标准主要区域有效。对于活动目录集成区域,你必须使用dnscmd /ZoneUpdateFromDs命令来完成对区域数据文件的更新。
清除缓存
DNS服务器会将获得的解析请求答复缓存起来,默认情况下你无法看到这些缓存的答复。你可以在DNS控制台中选择查看菜单下的高级,此时在DNS服务器名下列出缓存的查找目录,里面包含所有缓存的答复。你可以在缓存的查找用删除单个缓存的答复,而清除缓存命令用于清除缓存的所有答复。
启动nslookup
nslookup是Windows系统中附带的一个用于解析域名的命令行工具,点击此命令用于启动nslookup命令行工具。另外,你还可以在所有任务中对DNS服务器服务进行相关操作,例如停止、暂停、重新启动等。