我的 Windows 机器有两块网卡,都有默认网关。当向远程端点发送数据包时,Windows 如何确定应该访问哪个网关?
更准确地说,这是我的路由表:
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.0.0.1 10.0.0.191 10
0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.38 20
10.0.0.0 255.255.255.0 10.0.0.191 10.0.0.191 10
10.0.0.191 255.255.255.255 127.0.0.1 127.0.0.1 10
10.255.255.255 255.255.255.255 10.0.0.191 10.0.0.191 10
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.1.0 255.255.255.0 192.168.1.38 192.168.1.38 20
192.168.1.38 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.1.255 255.255.255.255 192.168.1.38 192.168.1.38 20
224.0.0.0 240.0.0.0 10.0.0.191 10.0.0.191 10
224.0.0.0 240.0.0.0 192.168.1.38 192.168.1.38 20
255.255.255.255 255.255.255.255 10.0.0.191 10.0.0.191 1
255.255.255.255 255.255.255.255 192.168.1.38 192.168.1.38 1
Default Gateway: 192.168.1.254
当我向 10.0.0.180 发送 ping 时,它会通过与 10.0.0.191 关联的网卡发送 arp,而当我 ping www.google.com 时,它会通过 192.168.1.254。它如何决定?
答案1
根据第三条规则,你对 10.0.0.180 的 ping 会到达 10.0.0.191
答案2
看一下这:
使用多个网关
如果您有多个接口,并且为每个接口配置了一个默认网关,则默认情况下,TCP/IP 会自动计算基于接口速度的接口度量。接口度量将成为已配置默认网关的路由表中默认路由的度量。速度最高的接口的默认路由度量最低。结果是,每当在多个接口上配置多个默认网关时,将使用最快的接口将流量转发到其默认网关。
如果多个相同速度的接口具有相同的最低接口度量,则根据绑定顺序,将使用第一个网络适配器的默认网关。当第一个网络适配器不可用时,将使用第二个网络适配器的默认网关。
在以前的 TCP/IP 版本中,多个默认网关的默认路由度量都设置为 1,并且所使用的默认网关取决于接口的顺序。这有时会导致难以确定 TCP/IP 协议正在使用哪个默认网关。
答案3
当 WiFi 和以太网同时连接时会出现此问题。根据之前的帖子,以太网速度更快,因此行为是 PC 默认希望通过以太网网关发送数据,并且如果一条路径不通向互联网,则不会进行负载平衡或利用两条路径。
我想在配置台式设备时使用 WiFi 访问。因此我进入每个适配器的 TCP 高级设置,取消选中自动度量 - 将以太网设置为 15。将 WiFi 设置为 1。问题解决了。就像 OSPF 度量用于首选路径选择一样。