我有一台 ubuntu 服务器(server01.example.com),其 IPv4 地址是 10.11.12.6,example.com 域的 DNS 服务器是 10.11.12.2。
当我dig server01.example.com
从 Windows 7 机器上的 cygwin 中获取 DNS 服务器的正确答案时。当我 时nslookup 10.11.12.6
,我获取到“server01.example.com”。当我 时,nslookup server01.example.com
我获取到正确的响应。
当我输入ping
服务器的 IP 地址时,我得到了响应。当我ping
输入“server01”时,我得到了响应。
只有当我 ping 服务器的完全限定域名“server01.example.com”时,我才会收到“未知主机”的提示。有人知道到底发生了什么吗?
PS - 我的真实域名(显然)不是 example.com,但 IP 地址是真实的。
以下是我的 wireshark 捕获信息nslookup server01.example.com
:
53 25.194795 server01.example.com dc01.example.com DNS 83 Standard query PTR 2.12.11.10.in-addr.arpa
54 25.194899 dc01.example.com server01.example.com DNS 114 Standard query response PTR dc01.example.com
55 25.197525 server01.example.com dc01.example.com DNS 92 Standard query A rabbit.example.com.example.com
56 25.197586 dc01.example.com server01.example.com DNS 156 Standard query response, No such name
57 25.198567 server01.example.com dc01.example.com DNS 92 Standard query AAAA rabbit.example.com.example.com
58 25.198633 dc01.example.com server01.example.com DNS 156 Standard query response, No such name
59 25.199559 server01.example.com dc01.example.com DNS 79 Standard query A rabbit.example.com
60 25.199663 dc01.example.com server01.example.com DNS 115 Standard query response CNAME app01.example.com A 10.11.12.6
61 25.200667 server01.example.com dc01.example.com DNS 79 Standard query AAAA rabbit.example.com
62 25.200736 dc01.example.com server01.example.com DNS 99 Standard query response CNAME app01.example.com
答案1
当你执行某项nslookup [ip address]
操作时,你看到的就是ptr
记录。但是当你执行某项操作时,ping
它会使用A
记录。
你正在进行三项不同的测试:
dig
正在返回A
记录(但通过 cygwin,因此它不是对 Windows 查找机制的良好测试)nslookup
正在返回PTR
记录ping
使用 Windows 名称解析,它是hosts
、和netbios
其他dns
神奇东西的组合可能被安装。
尝试做一个nslookup
并nslookup server01.example.com
看看会发生什么。
答案2
这种行为时不时地发生在我身上。最近一次,我发现此 Technet 主题并尝试关闭 dnscache 服务,解决了该问题。
这看起来像是 Windows DNS 客户端/缓存中的一个错误。
net stop dnscache
net start dnscache
答案3
最简单的方法是从另一台相同的机器导出 winsosk 和 winsock2 的注册表。然后导入到故障机上。100% 有效... 之前备份故障机的注册表...
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock 和 winsock2
现在尝试使用 FQDN 进行 ping ....
然后重新启动你的机器