DNS分析(解决域登陆缓慢)

【转】DNS分析(解决域登陆缓慢)

(2008-07-01 13:54:30)
转载
标签:

杂谈

 

   Windows 2000/XP客户端登录到Windows 2000域时非常慢,主要表现为当域用户在登录对话框中输入用户名和密码之后登录对话框一片灰白,而且要持续很久,象失去反应一样(正常情况是登录窗口一闪而过),登录过程和启动过程明显比正常情况长。

问题的分析

从现象表现来看,好像是客户端没能很快联系到域控制器,因为输入用户名和密码之后一片灰白没有反应,那为什么没能很快联系到域控制器呢?因为Windows 2000/XP客户端登录域时是先根据它的DNS设置找到DNS服务器,以查找DNS服务器里面的SRV记录,从中找到域控制器的位置(所以在客户端里面没有直接设置域控制器地址的地方),从这个登录过程看来,客户端没及时联系到域控制器是因为它没有在DNS服务器中找到域控制器的SRV记录。

那为什么Windows 98登录域时没有那么明显的慢呢?原来Windows 98(还包括Windows NT4.0和Windows 95)并不象Windows 2000/XP一样依赖于DNS的名称解析服务,它还是继续使用NetBIOS来进行名称解析以查找域控制器的,但是仍然建议你将所有计算机都指向 Windows 2000 DNS 服务器进行名称解析,这样启动过程和登录过程会更快。

按照上面的分析,我的客户端DNS的指向肯定不是为域控制器的那台Windows 2000 DNS服务器了(此域控制器也是域内的DNS服务器),事实也是如此。我把客户端的DNS设置成了上网服务器,因为这样才能共享上网,但登录域时却产生了问题。

问题的解决

既然问题的原因找到了(现在姑且认为是这样的原因^o^),那怎样来解决呢?因为上网时的DNS设置与登录域时的DNS设置不一样,上网时的DNS需要设为上网服务器,登录域时需要设为域控制器,而我们又不能把上网服务器和域控制器合二为一,难道就没别的办法了吗?

虽然这两台服务器不能合二为一,那能不能在它们之间架座桥梁呢?这一想,倒让我想起了DNS的转发功能,这样只要把客户端的DNS指向域控制器那台DNS服务器,域内的名称解析Windows 2000 DNS自己就搞定了,而Internet上的它不能解析就转发给上网服务器,这样不就行了吗?

于是就进入域控制器上的Windows 2000 DNS服务器的设置页面,想去把上网服务器的IP地址加入转发器列表,结果看到的“转发器”标签却是一片灰色不可设置!我的天,看来是天要亡我非用兵之过也!但再一想不对呀,微软总不会闲着没事干给出这个设置页面吧,既然他给出了,那就有它的用处。于是静下心来看了看这个灰色页面,发现一段外交式的声明: “因为这是根服务器,所以没有转发器”;另外“根目录提示”标签也是一片灰色,提示说“由于这台计算机为一台根服务器,不需要根暗示”。原来如此!居然缺省安装的Windows 2000 DNS服务器是一台根服务器,真是柳暗花明又一村,看来解决的方法就是让它不是根服务器,但又不能影响到域内的DNS查询,于是就删掉“.”区域,重启 DNS服务器,然后进行简单查询和递归查询都通过了,看来域内域外的解析都没问题了,马上在一台客户端测试,也能正常上网,OK,问题就这解决了,达到了登录域和上网两不误。

几点总结

第一,DNS服务是Windows 2000域的一项必不可少的服务,是它的有机组成部分,域内计算机的DNS都应该指向为域提供服务的Windows 2000 DNS 服务器。

第二,在我们安装第一台域控制器的时候,会自动要求安装DNS服务,但缺省安装的DNS服务中包含正向搜索区域下存在的“.”区域,通常应该把它删除,不然就无法在Internet 上执行根服务器的外部名称解析。在这种情况下,域控制器的DNS应该设为自己。

第三,首选服务DNS服务器和备用DNS服务器的关系:如果只有一个网络连接(比如一个网卡),那么只有首选DNS服务器没有响应时才会向备用DNS服务器请求,如果首选DNS服务器有响应,即使是错误的响应也不会再去请求备用DNS服务器,这也是为什么在我没有删掉“.”区域时,我把首选DNS服务器设为域控制器而把备用DNS服务器设为上网服务器也不成功的原因—如果这时域控制器没有开机,即它没有响应时,客户端会去请求备用DNS服务器的,这时就能够上网。如果有两个网络连接—比如有两个网卡或一个网卡和一个拨号连接—那么首选 DNS服务器不能解析就会向备用DNS服务器查询。

第四,本文问题的另一种解法是不需要设置转发器,而把域服务器(也是DNS服务器)的网关设为上网服务器就行。这是因为当你要解析一个Internet上的名称时,它在本服务器上找不到记录,会自动启用根目录提示的,然后通过网关找到了根服务器,这样就能解析了,不管用那种方法,域控制器的DNS设置都应该指向自己(本身运行DNS)。
 

你可能感兴趣的:(dns,域登陆缓慢)