有多个网络连接时的“主要”DNS

dri*_*iis 5 networking domain-name-system windows vpn

我有一台具有 LAN 网络连接的机器,用于访问互联网。这台机器还必须连接到 VPN 连接。当VPN连接时,Windows似乎有问VPN连接的DNS服务器第一,然后配置LAN连接的DNS服务器。由于 VPN 速度较慢,因此我需要将其作为性能问题的另一种方式。

那么,如何配置连接的哪个 DNS 服务器应该是 Windows 机器上的主要服务器?远程 VPN DNS 提供了一些不公开的名称解析,所以我仍然需要它。

我已经取消选中 TCP/IP 设置中的“使用远程网络上的默认网关”选项。

编辑

我正在 Windows 7 机器上进行试验,但我确实需要能够在 Windows Server 2003 和 Windows 7 上进行。

我认为我的路由表没问题。10.0.0.1 是我的本地网关,而 192.168.0.82 是 VPN 连接的网关。

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0         10.0.0.1         10.0.0.3     20
         10.0.0.0    255.255.255.0         On-link          10.0.0.3    276
         10.0.0.3  255.255.255.255         On-link          10.0.0.3    276
       10.0.0.255  255.255.255.255         On-link          10.0.0.3    276
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.0.0    255.255.255.0     192.168.0.82     192.168.0.89     21
     192.168.0.89  255.255.255.255         On-link      192.168.0.89    276
   217.157.12.231  255.255.255.255         10.0.0.1         10.0.0.3     21
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link          10.0.0.3    276
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link          10.0.0.3    276
  255.255.255.255  255.255.255.255         On-link      192.168.0.89    276
===========================================================================
Persistent Routes:
  None
Run Code Online (Sandbox Code Playgroud)

当我进入网络连接->高级设置更改网络绑定顺序时,我只能查看以下连接:本地连接和[远程访问连接],其中本地连接列在最前面。我使用的 VPN 连接没有列出(虽然它确实存在于“网络连接”窗口中)。

quu*_*uux 13

从您的问题的措辞来看,您的期望似乎是当 Windows 需要解析名称时,它会询问主 DNS 服务器。如果主 DNS 服务器不知道答案,它将询问辅助 DNS 服务器。

我希望以上不是你所期望的,但如果是,那么让我告诉你为什么这是一个错误。

DNS 不是这样工作的。解析器将故障转移到辅助 DNS 服务器的唯一时间是当主DNS 服务器根本不响应时。一个例子将阐明:

假设您有一个位于 1.1.1.1 的主 DNS 服务器和一个位于 2.2.2.2 的辅助 DNS 服务器。您的客户端按此顺序配置了它们。2.2.2.2 托管一个私有区域foocompany.local;1.1.1.1 主机没有自己的区域,并且对互联网主机进行根查找。

如果您的客户端尝试查找 someserver.foocompany.local,1.1.1.1 将返回 NXDOMAIN(例如“我查询了根服务器,他们说该域不存在”)。然后你的解析器不会询问 2.2.2.2 它知道什么,除非 1.1.1.1 未能在超时期限内(通常为 2 秒)回复。它只会停止寻找。此外,您的客户端将根据RFC2308缓存NXDOMAIN 结果。即使您更改 NIC 设置,使 2.2.2.2 成为主服务器,您仍将获得 NXDOMAIN 结果,直到该本地 NXDOMAIN 缓存过期。您可以通过在命令提示符下发出ipconfig /displaydns来验证这一点。

IIRC,Windows 的 DNS 解析器会在短时间内缓存 NXDOMAIN - 5 分钟。但这仍然很烦人。

无论如何。我意识到这与您的问题有点相关,但澄清这一点可能会为您的计划设计带来顿悟。EG:毕竟你可能希望VPN的DNS服务器首先解析。虽然它有点慢,但它知道更多,因为它可以解析 VPN 私有域公共 Internet 域;而本地 LAN DNS 解析器对 VPN 私有的那些域一无所知。

干杯!