为什么我无法使用 FQDN ping 我的服务器?

为什么我无法使用 FQDN ping 我的服务器?

我有一台 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记录。

你正在进行三项不同的测试:

  1. dig正在返回A记录(但通过 cygwin,因此它不是对 Windows 查找机制的良好测试)
  2. nslookup正在返回PTR记录
  3. ping使用 Windows 名称解析,它是hosts、和netbios其他dns神奇东西的组合可能被安装。

尝试做一个nslookupnslookup 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 ....

然后重新启动你的机器

相关内容