【教程】Windows多网卡设置优先级

  1. 1. 一、Windows 如何决定使用哪张网卡?
  2. 2. 二、为什么不同电脑的优先网络不一样?
  3. 3. 三、为什么找不到“自动跃点数”选项?
  4. 4. 四、通过 PowerShell 查看网卡信息
  5. 5. 五、设置有线网络优先
  6. 6. 六、同时设置 IPv6
  7. 7. 七、检查设置是否生效
  8. 8. 八、查看当前默认路由
  9. 9. 九、如何恢复自动选择?
  10. 10. 十、常见问题
    1. 10.1. 1. 设置有线优先后,Wi-Fi 还需要关闭吗?
    2. 10.2. 2. 两张网卡连接同一个路由器,会不会网速叠加?
    3. 10.3. 3. 为什么设置后某些访问仍然走 Wi-Fi?
    4. 10.4. 4. 为什么设置 Metric 后仍然没有变化?

在实验室使用电脑时,我们有时会同时连接网线和 Wi-Fi,以满足不同的网络使用需求。

一般情况下,很多人会认为:只要插上网线,Windows 就一定会优先使用有线网络。但实际使用中并不总是如此。有些电脑会优先走有线,有些电脑却仍然通过 Wi-Fi 上网。

这是因为 Windows 选择网络出口时,并不是单纯根据“有没有插网线”来判断,而是根据网络接口的跃点数,也就是 Metric,决定哪张网卡的优先级更高。

本文记录一下 Windows 10 中设置有线网络优先的方法。

一、Windows 如何决定使用哪张网卡?

当有线网卡和无线网卡同时连接时,两张网卡通常都会获得:

  • IP 地址
  • 默认网关
  • DNS 服务器
  • 默认路由

Windows 会比较不同网络接口的路由成本。

简单来说:

Metric 数值越小,网络接口的优先级越高。

例如:

1
2
以太网 Metric:10 
Wi-Fi Metric:50

这种情况下,Windows 会优先通过以太网上网。

当网线断开后,以太网对应的路由失效,系统会自动切换到 Wi-Fi,因此不需要每次手动关闭无线网络。

二、为什么不同电脑的优先网络不一样?

不同电脑可能出现不同结果,常见原因包括:

  1. 网卡协商速度不同
  2. 网卡驱动设置不同
  3. Windows 自动分配的 Metric 不同
  4. 有线网络只协商到 10 Mbps 或 100 Mbps
  5. Wi-Fi 连接速度高于有线连接
  6. VPN、虚拟网卡或安全软件修改了路由
  7. IPv4 和 IPv6 的接口优先级不同

因此,即使两台电脑连接的是同一个路由器,它们的网络出口也可能不一样。

三、为什么找不到“自动跃点数”选项?

网上很多教程会让用户进入:

1
2
3
4
5
6
控制面板
→ 网络和共享中心
→ 更改适配器设置
→ 网卡属性
→ Internet 协议版本 4
→ 高级

然后取消勾选“自动跃点数”,再手动输入接口跃点数。

但在部分 Windows 10 版本、网卡驱动或网络配置中,这个选项可能根本不会显示。

因此,与其继续在图形界面里寻找,不如直接使用 PowerShell 设置。这个方法更直接,也更容易检查结果。

四、通过 PowerShell 查看网卡信息

右键单击 Windows 开始菜单,选择:

1
Windows PowerShell(管理员)

也可以搜索 PowerShell,然后选择“以管理员身份运行”。

执行下面的命令:

1
2
3
Get-NetIPInterface -AddressFamily IPv4 |
Sort-Object InterfaceMetric |
Format-Table ifIndex, InterfaceAlias, ConnectionState, AutomaticMetric, InterfaceMetric

输出结果类似:

1
2
3
4
ifIndex InterfaceAlias ConnectionState AutomaticMetric InterfaceMetric
------- -------------- --------------- --------------- ---------------
8 以太网 Connected Enabled 25
14 WLAN Connected Enabled 35

其中需要重点关注:

  • ifIndex:网卡接口编号
  • InterfaceAlias:网卡名称
  • ConnectionState:连接状态
  • AutomaticMetric:是否自动设置跃点数
  • InterfaceMetric:当前接口跃点数

建议使用 ifIndex 设置,因为不同电脑上的网卡名称可能不一样。

例如,有的电脑显示:

1
2
以太网
WLAN

有的电脑则显示:

1
2
Ethernet
Wi-Fi

接口编号则不会受到语言和名称变化的影响。

五、设置有线网络优先

假设查询结果中:

1
2
有线网卡 ifIndex:8
无线网卡 ifIndex:14

执行以下命令:

1
2
Set-NetIPInterface -InterfaceIndex 8 -AddressFamily IPv4 -AutomaticMetric Disabled -InterfaceMetric 10
Set-NetIPInterface -InterfaceIndex 14 -AddressFamily IPv4 -AutomaticMetric Disabled -InterfaceMetric 50

这里的设置含义是:

1
2
有线网卡 Metric:10
无线网卡 Metric:50

因为 10 小于 50,所以 Windows 会优先使用有线网络。

设置数值时没有必要追求某个固定值,只需要保证有线网卡的数值明显小于无线网卡即可。

例如下面这些组合都可以:

1
2
3
有线 5,无线 50
有线 10,无线 30
有线 10,无线 100

一般推荐使用:

1
2
有线:10
无线:50

这样比较直观,也能避免两张网卡的 Metric 太接近。

六、同时设置 IPv6

如果电脑启用了 IPv6,建议也设置 IPv6 的接口优先级。

执行:

1
2
Set-NetIPInterface -InterfaceIndex 8 -AddressFamily IPv6 -AutomaticMetric Disabled -InterfaceMetric 10
Set-NetIPInterface -InterfaceIndex 14 -AddressFamily IPv6 -AutomaticMetric Disabled -InterfaceMetric 50

这样可以避免出现以下情况:

  • IPv4 流量走有线
  • IPv6 流量却走 Wi-Fi

如果只调整 IPv4,而系统或应用优先使用 IPv6,实际访问网络时仍然可能发现部分流量经过无线网卡。

七、检查设置是否生效

执行下面的命令:

1
2
3
Get-NetIPInterface |
Sort-Object AddressFamily, InterfaceMetric |
Format-Table ifIndex, InterfaceAlias, AddressFamily, ConnectionState, AutomaticMetric, InterfaceMetric

正常情况下,可以看到类似结果:

1
2
3
4
5
6
ifIndex InterfaceAlias AddressFamily ConnectionState AutomaticMetric InterfaceMetric
------- -------------- ------------- --------------- --------------- ---------------
8 以太网 IPv4 Connected Disabled 10
14 WLAN IPv4 Connected Disabled 50
8 以太网 IPv6 Connected Disabled 10
14 WLAN IPv6 Connected Disabled 50

如果设置完成后没有立即生效,可以尝试:

  1. 断开并重新连接 Wi-Fi
  2. 禁用再启用有线网卡
  3. 拔掉并重新插入网线
  4. 重启电脑

八、查看当前默认路由

可以使用下面的命令查看 IPv4 默认路由:

1
2
3
Get-NetRoute -DestinationPrefix "0.0.0.0/0" |
Sort-Object InterfaceMetric, RouteMetric |
Format-Table InterfaceIndex, InterfaceAlias, NextHop, RouteMetric, InterfaceMetric

需要注意,Windows 最终选择路由时,通常不只看 InterfaceMetric,还会综合考虑路由本身的 RouteMetric

可以大致理解为:

1
总路由成本 = 接口跃点数 + 路由跃点数

总成本较低的路由通常会被优先使用。

因此,除了检查接口跃点数,还可以检查默认路由对应的接口和下一跳网关。

九、如何恢复自动选择?

如果以后不想手动指定优先级,可以恢复 Windows 自动设置。

假设有线网卡编号为 8,无线网卡编号为 14,执行:

1
2
Set-NetIPInterface -InterfaceIndex 8 -AddressFamily IPv4 -AutomaticMetric Enabled
Set-NetIPInterface -InterfaceIndex 14 -AddressFamily IPv4 -AutomaticMetric Enabled

恢复 IPv6 自动设置:

1
2
Set-NetIPInterface -InterfaceIndex 8 -AddressFamily IPv6 -AutomaticMetric Enabled
Set-NetIPInterface -InterfaceIndex 14 -AddressFamily IPv6 -AutomaticMetric Enabled

恢复后,Windows 会再次根据网卡速度、连接状态等信息自动计算接口跃点数。

十、常见问题

1. 设置有线优先后,Wi-Fi 还需要关闭吗?

不需要。

Wi-Fi 可以继续保持连接。有线网络正常时,默认流量优先走有线;拔掉网线后,系统会自动切换到 Wi-Fi。

这也是同时保留两种连接的主要好处。

2. 两张网卡连接同一个路由器,会不会网速叠加?

通常不会。

普通 Windows 网络连接不会自动把有线和 Wi-Fi 的带宽合并。即使两张网卡同时连接,单个普通网络连接通常仍然只会选择其中一条路径。

要实现多线路聚合,需要路由器、服务器、驱动程序或特定软件的支持,不能仅靠调整 Metric 实现。

3. 为什么设置后某些访问仍然走 Wi-Fi?

可能原因包括:

  • 目标地址存在更具体的静态路由
  • VPN 添加了新的路由
  • IPv4 和 IPv6 设置不一致
  • 两张网卡连接了不同子网
  • 应用程序主动绑定了某个网络接口
  • 虚拟机或安全软件修改了路由表

系统选择路由时,会优先匹配更具体的路由,然后才比较 Metric。

因此,“有线优先”主要控制默认网络出口,并不意味着所有流量都必须经过有线网卡。

4. 为什么设置 Metric 后仍然没有变化?

可以依次检查:

  1. PowerShell 是否以管理员身份运行
  2. 设置的 ifIndex 是否正确
  3. 有线和无线是否都处于 Connected 状态
  4. IPv4 和 IPv6 是否都已设置
  5. 是否存在 VPN 或虚拟网卡
  6. 默认路由是否指向正确网关
  7. 网卡是否需要重新连接或重启