具有多个 NIC 的 Windows 上的 DNS 解析

具有多个 NIC 的 Windows 上的 DNS 解析

我正在尝试弄清楚 DNS 解析在 Windows 上是如何工作的。我有一台带有两个 NIC 的 PC,每个 NIC 都连接到不同的 LAN(基本上第一个连接到互联网,另一个连接到公司网络)。每个 NIC 都配置了不同的域和 DNS:第一个具有 ISP 的默认设置,第二个具有公司私有域和 DNS 服务器。在互联网上解析域以及解析私有 DNS 的 FQDN 都可以正常工作。

但是,如果我尝试仅 ping 主机名(公司网络上的设备),Windows 只会尝试解析 ISP 的 DNS 上的名称,这会导致超时。从我在互联网上找到的文档中,我了解到 Windows 应该询问主 DNS,如果没有得到答案,则尝试其他接口上的 DNS。但事实似乎并非如此。我错过了什么吗?Windows 是否将主 DNS 服务器的否定答案视为明确答案?我认为这与优先考虑一个 NIC 或另一个 NIC 无关,因为它永远不会询问辅助 DNS。

答案1

https://docs.microsoft.com/en-us/archive/blogs/stdqry/dns-clients-and-timeouts-part-1

DNS 客户端的实际行为是,它将按照列出的顺序查询其 DNS 服务器,直到收到肯定或否定的答案。一旦收到肯定或否定的答案,DNS 客户端就会停止查询过程并将该答案返回给调用应用程序。只有当对 DNS 服务器的查询超时(或报告服务器错误)时,客户端才会使用列表中的下一个 DNS 服务器重试查询。换句话说:否定答案不会触发使用备用 DNS 服务器重试,只有超时(和其他错误)才会触发。

相关内容