当 Windows 计算机具有多个默认网关时,它会如何表现?

当 Windows 计算机具有多个默认网关时,它会如何表现?

我有一台计算机(Windows XP)连接到两个网络接口,这两个接口连接到不同的网络,并且配置为接收 DHCP 配置,这意味着它们都将为计算机提供默认网关。
计算机有时表现正确并将数据包发送到正确的接口,有时则不然。
对于计算机在这种情况下的行为,有没有合理的解释?
有没有正确的方法可以让这两个接口保持这样的配置并正常运行?

答案1

如果 Windows 有多个接口连接到使用 DHCP 的多个网络,它会为所有这些接口安装默认网关。

默认情况下,Windows 将默认网关的度量设置为相同,从而实际上导致随机选择默认网关。

如果您想让 Windows 始终选择某个网关,您可以更改您不想使用的接口配置的接口指标:

  1. 转到网络适配器属性
  2. 选择 Internet 协议 v4。
  3. 单击常规选项卡上的高级按钮。
  4. 取消勾选Automatic metric
  5. 在字段中输入一个大于 10 的数字Interface metric

接口的默认自动度量值为 10。度量值越低,使用的优先级越高。因此,对于不想使用的接口,您必须输入高于 10 的度量值。

编辑:这些说明适用于 Windows 7,XP 可能有所不同。无论如何,您不应该使用 XP。

答案2

  1. 您的计算机不会同时从两个 DHCP 服务器应用 DHCP 配置。
  2. Windows 计算机可以有两个默认网关。您无法在 GUI 中设置第二个默认网关,但您可以在命令行中使用route命令添加它。在这种情况下,Windows 将使用度量值较低的路径。

您可以使用命令检查是否有两个默认网关route print。默认网关的网络地址和网络掩码都指定为 0.0.0.0

答案3

它要么使用它决定使用的第一个默认网关,有时是随机的并且产生奇怪的结果,要么完全失去连接能力。

在 Windows 中,这是一种完全错误的配置并会造成很多麻烦。

您运行一个脚本来route delete删除所有默认网关(0.0.0.0),但所需的接口会将流量传递到未知子网。

基本上,您需要一个默认网关,其余的将是通向内部或外部特定子网的网关。

答案4

Windows 不会自动为每个网络添加默认网关,需要通过 GUI、DHCP 或其他 IP 堆栈操作(例如“添加路由”)明确添加。理想情况下,应该只配置一个默认网关。

相关内容