返回列表 发帖

[原创]如何排出DNS故障-方法论

DNS的重要性不言而喻,DC更是离不开DNS,总结一下,当你DNS出问题的时候,如何去Troubleshooting.

注:本帖属于方法论,不会有很多的技术细节(Step by step)的内容涵盖其中,不过相关的文档还是会给出的。

1.DNS与AD的关系:Window Server 2003 DNS Integration with Active Directory http://www.microsoft.com/technet/community/events/ad/tnti-35.mspx

2.主要特征:DNS查询失败

3.思路分析:

1)DNS服务器在吗?

我们知道,当进行Dcpromo时,会显示一个网络安全框,要求你输入把一台DC添加到现有域(contoso.com)的权限帐号名称,域名和密码,然后dcpromo会查找一台contoso.com的dc并尝试使用帐号与密码登录,很显然,要加入一个域的第一步就是能够找到一台该域的DC.在WIndows 2003网络中,DNS作为AD域进行名称解析服务的核心,它的一个基本的功能就是帮助计算机找到DC,因此,下列两个条件是需要的,运行在DNS Server上的服务器软件和DNS Client(客户端).

当Windows Server 2003系统需要查找AD中DC登录时,更喜欢使用一个本地的DC,因此,一个Windows Client在查找一台DC时经常执行多个DNS查询。

2)nslookup做了什么?

成功联系一台DNS Server,并且它请求服务器反响解析服务器的IP地址到一个DNS名称。反向解析并不是AD登录必须的,但是如果没有反向解析nslookup会报错: DNS Request timeed out. Can't find server name  default servers are not avaliable.

3)为什么我配置了反向解析还是有报错?

注意:这里,你需要区分反向解析记录和反向解析区域,你配置了反向解析区域事实上其中并没有任何反向解析记录,因此,你需要手工添加一条反向解析记录,但是,在你配置了反向解析区域之后,在正向解析区域新建的任何A记录等都会自动在反向解析区域生成新的反向解析记录。

4)如何区分DNS服务器不可用和反向解析记录错误的差别。

如果你从nslookup上看,似乎二者是相同的报错:

***Can't find server name

for address 200.200.10.10

No response from server

***Default servers are not available

Deafult Server:Unknown

Address:200.200.10.10

最简单的办法就是尝试一个解析公网的IP地址(如何使DNS服务器能够解析公网的记录,可以配置转发,请参考这里:Conditional Forwarding in Windows Server 2003 http://support.microsoft.com/kb/304491/en-us  How To Install and Configure DNS Server in Windows Server 2003  http://support.microsoft.com/kb/814591/en-us

Server:Unknown

address 200.200.10.10

***Unknown can't find

5)使用nslookup模仿使用一台本地DC来登录

nslookup

set type=srv

_kerberos._tcp.<sitename>._sites.dc._msdcs.<domainname>.

如果上述命令失败,那么dcpromo也不能登录上去,dcpromo就会对DNS讲“发送所有该域内DC的信息”

_kerberos._tcp.dc_msdcs.acme.com

如果这时还是失败,去看看吧,十有八九你本地的网络连接的DNS配置(DNS Client)指向了公网的DNS地址。

KeJiaLi / lkj5210@hotmail.com ITPro, Windows Server: Directory Services @SHA

返回列表