Windows 上的多个默认网关

Windows 上的多个默认网关

我有一个定制的成像仪器,我使用以太网电缆将其连接到该仪器,为了使其工作,我必须在连接到该设备的笔记本电脑的网络接口上设置静态 IP 和网关。通信通过 UDP 进行。

现在来谈谈问题。要使用 VPN,我还必须更改网关。这次是在 wifi 网络接口上。

当我这样做时,Windows 会显示一条有关正在使用多个网关的消息。我不确定这在多大程度上是一个问题。但是有时 VPN 似乎不起作用。

  1. 拥有多个网关会有问题吗?

  2. 网关对我的主机来说是否“通用”或者每个网络接口可以有不同的网关?

这实际上是一个 Parallels 虚拟机,但是我在硬件上(而不是在虚拟机中)直接运行它得到了相同的结果。

回报route print -4

===========================================================================
    Interface List
     12...00 1c 42 27 1c 2c ......Intel(R) 82574L Gigabit Network Connection
      1...........................Software Loopback Interface 1
    ===========================================================================
    
    IPv4 Route Table
    ===========================================================================
    Active Routes:
    Network Destination        Netmask          Gateway       Interface  Metric
              0.0.0.0          0.0.0.0      10.211.55.1     10.211.55.15     25
          10.211.55.0    255.255.255.0         On-link      10.211.55.15    281
         10.211.55.15  255.255.255.255         On-link      10.211.55.15    281
        10.211.55.255  255.255.255.255         On-link      10.211.55.15    281
            127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
            127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
      127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
            224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
            224.0.0.0        240.0.0.0         On-link      10.211.55.15    281
      255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
      255.255.255.255  255.255.255.255         On-link      10.211.55.15    281
    ===========================================================================
    Persistent Routes:
      Network Address          Netmask  Gateway Address  Metric
              0.0.0.0          0.0.0.0      192.168.1.2      90
              0.0.0.0          0.0.0.0      192.168.1.2      90
              0.0.0.0          0.0.0.0     192.168.11.2      90
    ===========================================================================

我很奇怪最后出现这两行相同的字的原因:

     0.0.0.0          0.0.0.0      192.168.1.2      90
      0.0.0.0          0.0.0.0      192.168.1.2      90

答案1

我有一个定制的成像仪器,我使用以太网电缆将其连接到它,为了使其工作,我必须在连接到该设备的笔记本电脑的网络接口上设置静态 IP 和网关。

你不需要。该设备已位于你的本地子网中,并且具有正确的网络掩码已经为您提供了一条到达它的路线。(例如,您的输出有一条10.211.55.0 / 255.255.255.0 / On-link路线。)

“默认网关”仅用于访问设备不是在本地子网上。

网关对我的主机来说是否“通用”或者每个网络接口可以有不同的网关?

“网关”是每个路线的单独名称。我假设您实际上是在问“默认网关”,即专门用于说明连接到这些路线的网关0.0.0.0/0

理论上,每个接口都可以有自己的默认网关,如果操作系统有额外的逻辑来选择路线,同时考虑来源数据包的 IP 地址。

但通常情况下,正如您在输出中看到的route,路由仅与其目的地匹配 - 因此如果您有多个“默认路由”,它们将在整个主机范围内优先考虑; 一个网关将用于所有内容(即使它最终是错误的选择!),其他网关将根本不被使用。

但也存在例外:

  • 思考Windows 在选择使用多个默认路由中的哪一个时会考虑出站接口。但是,我尚未找到有关此问题的任何官方文档,也没有通过实验验证过这一点 — 只是“听说过”。

    这可能仅适用于入站连接的响应(即,接受的套接字自动绑定到特定接口),但不适用于全新的出站连接。

  • FreeBSD 也是如此。我确信我听说过它支持多宿主并选择正确的接口,至少对于回复而言,但没有资料可以证实这一点。

  • 同时,Linux 明确允许按源匹配路由目的地 – 但仅适用于 IPv6,不适用于 IPv4。例如,Linux 上的默认 v6 路由实际上是::/0 from ::/0,您可以添加更具体的::/0 from 2001:db8::/48路由,通过不同的网关进行路由。

  • Linux 还支持“策略路由”,它在顶层添加了一个额外的逻辑层——可能会有多个路由,每个都有自己的 0.0.0.0/0“默认路由”,策略规则可以决定使用哪个表。设置这个通常有点令人头疼。(但它对 IPv6 的作用是一样的IPv4。

答案2

如果您的问题是“有时 VPN 似乎不起作用”,您可以通过 Wi-Fi 接口向您的 VPN 服务器 IP 地址添加静态路由。

相关内容