9.4.6设置内部专用主DNS和外部主DNS
这种设置有时称为拆分式DNS,它使用多台主服务器来提高域的安全性,如图9-6所示。
通常名字空间的一部分在防火墙之外,而另一部分在防火墙内,而在不设防域区(DMZ)中,主服务器的公共名字空间通常放在外面。这种设置的实际价值对大型企业的意义是明显的。拆分式DNS为内部客户机提供查询内部地址的DNS服务器,这样就不必将所有的内部地址都向外公布,使外部客户机都能知道。管理员可以很精确地设置哪些内部主机将列在对外的DNS服务器,哪些主机则只列在内部的DNS服务器。
外部主服务器的域区文件中只包含打算让外部看到的主机记录,而内部主服务器则包含域的所有主机的记录。内部主服务器将所有它不能直接回答的查询指向对外主服务器,并在那里缓存。这台内部主服务器实际也是外部服务器的从属服务器,因此它不会单独来完成解析。将内部服务器隐藏起来,也减少了外部黑客的目标。通常,内部网与外部网通过防火墙连接起来,防火墙是一个有过滤作用的路由器,而不是这里显示的路由器。
对大公司来说,安全性是个大课题,而DNS服务器包含了极重要的数据:访问域中每一台主机的信息!正因为如此,最好有适当的措施来防止对主DNS服务器的访问,因为主服务器具有要传送到辅服务器的授权数据。黑客对此是很清楚的,而且他们知道如何探索这些数据以达到目的。也可以通过ISP提供外部服务来达到这个目的,在第10章中有关防火墙的叙述中将进一步讨论这种设计。
9.5windows 2000 和活动目录考虑
windows 2000 给该表带来很多更多的设计需求和可选方案。这里,支持的特征是包含在操作系统中而不是DNS自己的特点,可以有效地满足DNS的设计需求。
9.5.1私有网络
对于运转良好的网络连接,windows 2000 服务器提供的服务是很广泛的。路由和远程访问服务的特征可用来提供对多重地址机器首段连接的智能控制。而且,TCP/IP也可以通过IP协议、TCP和UDP端口来过滤包,以限制对机器某个端口提供服务的访问。如图9-7所示,未设置状态下允许所有的TCP/IP连接。
如果看一下高级TCP/IP属性的OPTION选项卡,就会发现windows 2000 中含有一个IPsec安全的实现。为使用该特性需要由域指定一个安全政策,而且为公共密钥还需要做大量的准备工作。在涉及外部网络类型的连接性或高度安全性的应用时,你很可能想仔细考虑一下这个可选方案。IPsec可用软件解码方式使用,或者最好用接口卡上的硬件实现,从而减小CPU的负担。这对DNS和其他服务器比对客户来说更重要。
9.5.2名字空间的保护和共享
一旦使用了活动目录,从DNS查询SRV和其他的记录类型可以得到的信息的本质特征是大多数系统管理员关心的问题。为此和习惯的原因,推荐把活动目录放在防火墙的后面,或者放在Internet上公共名字空间的外面。使用拆分设计的一个变种是通过转发和更新根提示记录把两个名字空间连在一起。
公共域名和内部域名没有必要完全相同,内部域名可看作是正式注册名的一个子集,也可以是一个独立的、私有的名字,甚至可以是并未注册过的名字。最后一种情况下假设所选的名字从不公开,如果这种假设并不方便,那么就象控制公共域名一样对待内部域名。
有时,经过一段时间很可能会增加域名的数量,这就需要在公共网络上使用活动目录技术。例如,通过可变目录为他们的客户提供服务的公司需要有一个公共的windows 2000 域结构。这种情况下,该公司很可能把它的域作成一个“仅作为公共使用”的结构并象前面讨论的一样另外保存一个内部活动目录。一段时间以后,元目录服务―给用户提供一个统一访问多目录服务的方式,有时给管理员提供一个统一的管理方式―将使这种情况变得更加方便和可操作。
windows 2000 支持的虚拟私人网络(VPN)的变种具有有效地支持企业内部网类型的能力,并可以与远程访问服务一起使用Internet支持位于远处的小办事处。尽管你的公司的企业外部网与外部公司的交流的特征超出了DNS设计和服务的范围,但这样可以支持更多的域区。你的公司有一个隔开的主要活动目录完全作为内部使用是很可能的,而且有另外一个用于商业间交流,后一个很可能在DMZ中。当然,它有一个单独的域名空间,但对DNS支持的考虑与前面相同。
9.5.3DNS服务器的放置
当活动目录用于多节点时,或用于大一点的校园时,很多设计工作已涉及到域控制器的放置问题。这种设计工作会影响DNS。在使用标准域区时这种影响是肯定存在的,而当使用活动目录与DNS域区集成时,这种影响尤其明显。如果域区是标准的,域控制器的位置将表明此处很可能需要本地DNS解析。域控制器的连接性、带宽、连续性等问题都与对DNS传送的支持有关。客户数量的问题、通过网络断开而获得独立操作的需要等表明该处应该有域控制器和DNS服务。
随着域区的集成,它们的数据将以域为单位自动传播到所有的域控制器上。无论数据是否用过,这种传输都会发生。因此,通过安装另一个DNS服务器来使用域区数据主要是一个DNS服务器的开销问题。可在本地主服务器上这样做。
因为在一个安全的内部网络上的节点更倾向于使用动态更新机制,使用微软提供的安全动态更新能力,域控制器上的主要DNS域区将用注册更新记录。如果使用动态更新体制,而不使用活动目录集成机制,注册和刷新将由一个单独的域区来管理。主要域区的放置问题将成为设计中应考虑的首要问题。
9.5.4辅服务器的使用
活动目录集成的使用给域控制器和它们的备份机增加了一些额外的负载。对DNS数据库的更新给备份机增加了负载。使用NoUpdateInternet清理参数(参见第7章)可抑制这种加载。在节点的大小批准后,为了方便客户使用,最好考虑为节点提供本地辅服务器,而把处理更新的权力保留给域控制器上的DNS服务器。
尽管在很多时候DNS辅服务器只需要本地节点和其他有高级用途的域的域区信息,但还是有一些更进一步的问题需要考虑。如果这些辅服务器用它们的根线索为外部解析服务,对防火墙的地址访问控制就更不好控制了。另一方面,如果把这些辅服务器配置成转发的,比如在DMI或ISP上特别设计的DNS服务器,这些辅服务器应该包含所有的内部域区。当DNS服务器不能提供一个权威的回答时,它将转发该查询请求。如果不包含所有的域区,辅服务器将提供一个参考或者递归查询,但在它的数据中不可能有权威的回答。在递归查询以前,它将转发查询请求,对于内部名字并不希望这样做,但所有节点都应记住这样使用转发并不是一个用于安全机制的方便的检查点,而且它还是一个潜在的瓶颈和失败点。
9.6小结
本章也说明,既使不考虑活动目录,也还有用于DNS服务的很多设计问题需要考虑。仔细筹划需求和负载因素、连接特点、连接性需要和安全策略是进行一个大型设计的第一步,然后,把大量符合要求的选项作为设计元素将有助于迅速减少适合设计的选项数目。仔细检查一下它们的操作特点、路由方式、负载的放置可进一步精化设计。
本章提供了一些可帮助你设计自己的DNS系统的信息。第11章将引导你进入下一步:建立DNS并运行它。
(本章完)