DNS 请求超时然后在我的本地网络上成功。为什么?

Dan*_*Dan 5 domain-name-system

我有一个 W2K3 服务器,它是域控制器和 DNS 服务器。我想在我的网络上创建另一个名为“something.local”的 DNS 区域,然后创建“A”记录以将诸如“admin.something.local”和“www.something.local”之类的请求指向我网络上的机器。

我不断收到 DNS 超时,但在 2 次尝试后它成功了。为什么会发生这种情况?我该如何排除故障?

我从我的桌面运行:

nslookup admin.something.local
Run Code Online (Sandbox Code Playgroud)

并得到:

Server:  server.domain.com.au.local
Address:  192.168.0.10

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.

Name:    admin.something.local
Address:  192.168.0.191
Run Code Online (Sandbox Code Playgroud)

如果我以另一种方式返回:

nslookup 192.168.0.191
Run Code Online (Sandbox Code Playgroud)

我得到:

Server:  server.domain.com.au.local
Address:  192.168.0.10

Name: admin.something.local
Address: 192.168.0.191
Run Code Online (Sandbox Code Playgroud)
  • 我的 DNS 服务器地址是 192.168.0.10。
  • 新的 DNS 区域未连接到活动目录。
  • 我对 DNS 没有太多经验。
  • 昨天它工作正常。
  • 我曾尝试在我的桌面和 DNS 服务器上执行“ipconfig /flushdns”

ama*_*son 1

您的 DNS 或客户端很可能有一点物理资源限制。当将虚拟化与 DNS 服务器和/或 DNS 客户端结合使用时,这种情况更为常见。很可能,在 nslookup 中超时之前默认的 2 秒等待时间之后,就会返回对查询的响应。

在命令提示符下尝试以下操作:

nslookup
timeout=3
admin.something.local
Run Code Online (Sandbox Code Playgroud)

如果第一次有效,那么这可能就是问题所在。第二次起作用的原因是查询现在缓存在 DNS 服务器的内存中,从而允许它在不从磁盘读取区域文件的情况下进行响应。