我的 Windows PC 上有两个网络接口。
每个网络接口定义主 DNS 服务器和辅助 DNS 服务器,因此我可以在两个网络接口上定义 2 组 DNS 服务器。
查找服务器名称时,使用哪个 DNS 服务器以及为什么?
答案1
据我所知,Windows 实现了您可以更改的接口优先级。我认为它使用优先级最高的连接,然后是 DNS 服务器。
答案2
我还没有检查过这个,但我的假设是,将首先尝试具有默认网关的接口上定义的 DNS 服务器,然后再尝试另一个接口上的服务器。
最简单的检查方法是使用以下方法捕获网络流量Microsoft 网络监视器或类似的工具。
答案3
我发现了一个有用的文章这解释了在多个接口中选择 DNS 服务器的策略是什么:
在处理多个网络接口时,Windows 使用非常复杂的逻辑进行名称解析。
可以从多个点改变行为:
- 网络适配器优先级可以通过称为接口度量的参数进行管理,可以通过控制面板(适配器->属性->TCP/IPv4(IPv6)->属性->高级->接口度量)或 Power Shell 命令(Get-NetIPInterface 和 Set-NetIPInterface)为每个适配器更改该优先级。
- 从计算机配置->管理模板->网络->DNS 客户端的组策略编辑器 (gpedit.msc)。
- 从系统注册表(regedit.exe):HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters 一些参数是:-DynamicServerQueryOrder -DisableSmartNameResolution -DisableParallelAandAAAA
以上各参数都是独立的,但可能会互相干扰。
对于您的“为什么”问题,逻辑取决于什么对您最有利。例如,您希望内部或外部域的解析由您自己的 DNS 服务器解析,那么您将能够监控所有 DNS 流量,另一方面,这可能会导致隐私问题或给您自己的 DNS 服务器增加不必要的负载