本章内容包括:
•主域名服务器。主域名服务器得到授权来响应对域区的查询,同时,它也是提供所有域区地址的来源。这一节描述主域名服务器的特性。注意有时一个主域名服务器也被称为一个主服务器。这个新说法来自于BIND版本8设置文件的改变。本章中任何地方涉及到的主域名服务器,都能与主服务器互换。
•辅域名服务器。辅域名服务器是备份服务器。它们不是域区源数据存放的地方,但它们也授权响应域名的查询。辅域名服务器通常从域的主DNS服务器获得域区数据。注意辅服务器也被称为从属服务器。
•缓存域名服务器。顾名思义,缓存域名服务器是用来缓存地址数据的。缓存是多数服务器都有的特性。缓存域名服务器专门用来缓存查询的地址,而不承担任何其他的工作。它们没有包含许多主机的域区文件,也不从其他DNS服务器传送数据。缓存域名服务器也回答查询,但没有授权。这一节将描述缓存服务器并解释为什么它们是有价值的。
•传递查询:前向服务器和从属服务器。前向服务器和从属服务器也是DNS服务器,它们和其他DNS服务器有非常特殊的合作关系来分担处理查询的责任。这一节介绍前向服务器和从属服务器,解释它们如何给管理员提供服务设计的选项。
•确定DNS服务器的类型。如果你遇到一台服务器,但不知道它起什么作用,这一节将介绍如何区分主服务器、辅服务器、前向服务器、从属服务器和缓存服务器。
一个域名服务器能够只扮演一个角色或同时扮演几个角色。本章提供了一个服务器能扮演的可能角色的概述。注意到一个DNS服务器能同时支持多个域,有时又对每个域都有一个角色,这是很重要的。有些角色,比如说仅作缓存,对整个服务器来说是必须设置的。那么,一个DNS服务器的种类当选择它的设置时就已经确定了。这种设置使得服务器能支持每一个域。
除了解释潜在的DNS服务器的作用,本章也揭示和讨论了一些有助于阐述主服务器、辅服务器、前向服务器、从属服务器和缓存服务器之间区别的体系结构。在实际问题和应用中能更好的理解这一点。对于这种关系的唯一的确定性是有些DNS服务器对每个域来说都是主服务器,剩下的就由自己指定了。
3.1主域名服务器
主域名服务器是DNS的主要成员,对Internet中域名数据的发布和查找起着非常重要的作用。主域名服务器总是地址数据的初始来源。主服务器对域中的域名有最高授权,并因为它们是域区间传送域区数据的唯一来源,就具有向任何一个甚至全部需要其数据的服务器发布域的信息的功能。一个辅服务器在向另一个辅服务器进行域区传送时也可以是“主服务器”,但是文件却在主域名服务器上。这种语言上的混淆在RFC2136中被澄清。它区分了从属服务器,主服务器和根主域名服务器(primarymasterserver)。
•从属服务器。一台授权的用来搜索域区传送的服务器。并且在域区中用NS记录来命名。
•主服务器。一台设置为向一个或多个从属服务器传送数据源的授权服务器。
•根主域名服务器。在域区传送互联(transfer-dependency)图中作为根的主服务器。根主域名服务器在域区SOA记录中被命名。根据定义,每个域区只能有一台根主域名服务器
数据发布过程从管理员手工建立配置引导文件开始,他可以从UNIX主机的BINDDNS实现来复制,更可能的是在安装时通过DNS服务器管理接口输入所有服务器需要的引导配置数据。Windows2000DNS服务器将自动地把任何配置文件放在%windir%system32dns文件夹中。
需手工配置的DNS的基本数据信息包括:
•域的名字(如果域名需要在企业外部被解析,则必须由InterNIC批准)。
•每个准备提供域名解析的服务器的IP地址和名字。
•各域名服务器的主机名和地址。
•其他包括在这个DNS服务器域区的计算机的主机名和地址。
第11章提供了安装和配置Windows2000DNS服务器的指导。
3.1.1存储WindowsDNS引导配置数据
有两种方法可用来存储WindowsDNS引导配置数据:通过引导文件和通过注册表。缺省方式是通过注册表。想通过引导配置文件而不是注册表,则必须在“startup(开始菜单)”中的“LoadZoneData(装载域区数据)”下选择“FromFile(从文件)”选项来设置引导方法。这个选择菜单在DNS服务器属性的“Advanced(高级)”选项下。
不像DNS服务器软件以前的版本,Windows2000DNS服务器在选择或改变引导方法时会自动更新注册表和引导文件(在以前的版本中,同步是一项繁重的工作)。注册表的键值是HKLMSystemCurrentControlSetServiceDNS。第11章讨论了改变存储方法的影响。
在Windows2000中,也可以使用活动目录集成域区,但只能用于主域区。因为辅服务器不修改数据,所以没有必要让辅服务器直接访问主服务器的数据,它们仅仅在通常方式下进行域区传送。对于主域区,活动目录的集成意味着域区数据存储在目录里。这提供了一种存储和复制(传送)数据的更健壮的方式。如果使用活动目录集成域区,多个域控制器就能共享主域区信息。从整个存储到单个源记录,这种集成都提供访问控制,作为确保域区数据安全的方式。
3.1.2配置数据和域
MicrosoftDNS提供的配置文件可与UNIX方式的BIND配置兼容,这样,过渡到MSDNS服务器就容易多了。Windows2000中缓存文件的缺省名称为CACHE.DNS。
配置数据不仅要指定服务器存储域区文件的目录和缓存目录,还要包含该服务器将支持的域名的列表,以及指示该服务器对每个域是哪种类型的服务器;是主服务器、辅服务器,还是缓存服务器。如果服务器是主服务器,则引导配置信息包含每个域的源域区文件。如果服务器是辅服务器,则应包括主服务器的IP地址。这样,该服务器就知道到哪里请求更新数据。
如果一个主服务器在运行。对域所做的修改可以是增加或删除主机、子域、邮件服务器、域名服务器等等。如果使用引导配置文件使服务器启动和运行,则只能修改主服务器的源文件。域名服务器引导文件的结构如下所示(已插入了用分号“;”开始的注释行,以便说明引导文件的语句)。
此例是以UNIX管理员风格的形式给出的。本例中Windows2000忽略了目录。要注意这些文件,包括缓存文件,若不特别说明都有扩展名.DNS。此时不必担心所有的配置选项。介绍DNS安装的第11章将给出理解及使用这些选项所需的所有信息。另外,许多设置是自动的。
以上的缓存服务器指向根域(.)。其缓存文件包含了关于各主根服务器地址的条目。Windows2000DNS本身就带有这个根缓存文件,并且它的最新版本总是可以从InterNIC的ftp://rs.internic.net/domain/named.root下载,一定要将文件名改为缓存文件名(不要把根缓存文件和只用来进行缓存的服务器相混淆)。FTP站点可能是得到最新版本的最简便的方式。根缓存文件只有在Internet本身授权宣布要增加新的根域服务器的时候(几乎不会发生),或者你的DNS服务器只是用来支持一个与外界隔离的内部网络时才需更新。注意只有在准备公共的使用服务器进行网络查找时才用到这些文件。有些公司对Internet地址的解析分为内部的和外部的。这经常用于单独的内部或外部服务器。
上述例子示出了域名服务器引导文件的结构。host.db文件包含了example.net域的列表,hosts.rev文件包含了1.168.192.in-addr.arpa域的列表,这个域包含了Internet地址(in-addr)的映射,即192.168.1.0网络的IP地址到主机名的映射。省略的目录语句告诉UNIXBIND域名服务器这些文件所存放的路径是