我想在您的帮助下解决一个关于 Windows 上的 nslookup 的问题。请参阅下面的 CMD 命令(在 WinXP SP2 上运行)。
C:\>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : vchjXPsp3MUI
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter LAN1-hostvn1:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : VMware Accelerated AMD PCNet Adapter
Physical Address. . . . . . . . . : 00-0C-29-E0-68-00
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.11.120
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.11.1
DHCP Server . . . . . . . . . . . : 192.168.11.1
DNS Servers . . . . . . . . . . . : 172.27.0.12
Primary WINS Server . . . . . . . : 172.27.0.12
Lease Obtained. . . . . . . . . . : Wednesday, August 03, 2011 8:58:19 AM
Lease Expires . . . . . . . . . . : Thursday, August 02, 2012 8:58:19 AM
Ethernet adapter LAN2-bridged:
Media State . . . . . . . . . . . : Media disconnected
Description . . . . . . . . . . . : VMware Accelerated AMD PCNet Adapter
Physical Address. . . . . . . . . : 00-0C-29-E0-68-0A
C:\>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
C:\>nslookup
*** Can't find server name for address 172.27.0.12: Non-existent domain
*** Default servers are not available
Default Server: UnKnown
Address: 172.27.0.12
> chj.dev.nls
Server: UnKnown
Address: 172.27.0.12
Name: chj.dev.nls
Address: 172.27.0.120
>
你可以看到,我已经在 IP 配置中指定了 DNS 服务器,但是为什么 nslookup 会发出
*** Can't find server name for address 172.27.0.12: Non-existent domain
*** Default servers are not available
Default Server: Unknown
“不可用”和“未知”是什么意思?
DNS 服务器 (172.27.0.12) 工作正常,因为它按预期响应了 chj.dev.nls 的查询。DNS 服务器是 Win2003 SP2。
一些详细信息:
> set debug
> chj.dev.nls
Server: UnKnown
Address: 172.27.0.12
------------
Got answer:
HEADER:
opcode = QUERY, id = 4, rcode = NOERROR
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0
QUESTIONS:
chj.dev.nls, type = A, class = IN
AUTHORITY RECORDS:
-> dev.nls
ttl = 3600 (1 hour)
primary name server = nlserver.dev.nls
responsible mail addr = hostmaster.dev.nls
serial = 14716
refresh = 900 (15 mins)
retry = 600 (10 mins)
expire = 86400 (1 day)
default TTL = 3600 (1 hour)
------------
------------
Got answer:
HEADER:
opcode = QUERY, id = 5, rcode = NOERROR
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0
QUESTIONS:
chj.dev.nls, type = A, class = IN
AUTHORITY RECORDS:
-> dev.nls
ttl = 3600 (1 hour)
primary name server = nlserver.dev.nls
responsible mail addr = hostmaster.dev.nls
serial = 14716
refresh = 900 (15 mins)
retry = 600 (10 mins)
expire = 86400 (1 day)
default TTL = 3600 (1 hour)
------------
Name: chj.dev.nls
>
有什么想法吗?谢谢。
答案1
Nslookup 将尝试通过执行 IP 地址的反向查找来解析客户端上配置为主要 DNS 服务器的 DNS 服务器的 IP 地址的名称。如果您没有为网络/子网设置 rDNS 区域,您将收到“服务器未知”消息,因为 nslookup 将无法解析 IP 地址的名称。
这不是一个错误情况,不会对正常的 AD 和 DNS 操作造成任何问题。
答案2
您的服务器未返回其名称的反向查找。这就是您在此处看到“未知”的原因。您需要创建适当的反向查找区域,以允许您的服务器将其自己的 IP 地址反向解析回其名称。
答案3
好了,在我的内部 DNS 服务器添加反向查找后,Default Server
现在显示我的 DNS 服务器的域名。
示例输出:
C:\>nslookup
Default Server: nlserver.dev.nls
Address: 172.27.0.12
注意:如果有多个名称映射到 172.27.0.12 ,Default Server
将随机显示其中一个名称。