在实验室使用电脑时,我们有时会同时连接网线和 Wi-Fi,以满足不同的网络使用需求。
一般情况下,很多人会认为:只要插上网线,Windows 就一定会优先使用有线网络。但实际使用中并不总是如此。有些电脑会优先走有线,有些电脑却仍然通过 Wi-Fi 上网。
这是因为 Windows 选择网络出口时,并不是单纯根据“有没有插网线”来判断,而是根据网络接口的跃点数,也就是 Metric,决定哪张网卡的优先级更高。
本文记录一下 Windows 10 中设置有线网络优先的方法。
一、Windows 如何决定使用哪张网卡?
当有线网卡和无线网卡同时连接时,两张网卡通常都会获得:
- IP 地址
- 默认网关
- DNS 服务器
- 默认路由
Windows 会比较不同网络接口的路由成本。
简单来说:
Metric 数值越小,网络接口的优先级越高。
例如:
1 | 以太网 Metric:10 |
这种情况下,Windows 会优先通过以太网上网。
当网线断开后,以太网对应的路由失效,系统会自动切换到 Wi-Fi,因此不需要每次手动关闭无线网络。
二、为什么不同电脑的优先网络不一样?
不同电脑可能出现不同结果,常见原因包括:
- 网卡协商速度不同
- 网卡驱动设置不同
- Windows 自动分配的 Metric 不同
- 有线网络只协商到 10 Mbps 或 100 Mbps
- Wi-Fi 连接速度高于有线连接
- VPN、虚拟网卡或安全软件修改了路由
- IPv4 和 IPv6 的接口优先级不同
因此,即使两台电脑连接的是同一个路由器,它们的网络出口也可能不一样。
三、为什么找不到“自动跃点数”选项?
网上很多教程会让用户进入:
1 | 控制面板 |
然后取消勾选“自动跃点数”,再手动输入接口跃点数。
但在部分 Windows 10 版本、网卡驱动或网络配置中,这个选项可能根本不会显示。
因此,与其继续在图形界面里寻找,不如直接使用 PowerShell 设置。这个方法更直接,也更容易检查结果。
四、通过 PowerShell 查看网卡信息
右键单击 Windows 开始菜单,选择:
1 | Windows PowerShell(管理员) |
也可以搜索 PowerShell,然后选择“以管理员身份运行”。
执行下面的命令:
1 | Get-NetIPInterface -AddressFamily IPv4 | |
输出结果类似:
1 | ifIndex InterfaceAlias ConnectionState AutomaticMetric InterfaceMetric |
其中需要重点关注:
ifIndex:网卡接口编号InterfaceAlias:网卡名称ConnectionState:连接状态AutomaticMetric:是否自动设置跃点数InterfaceMetric:当前接口跃点数
建议使用 ifIndex 设置,因为不同电脑上的网卡名称可能不一样。
例如,有的电脑显示:
1 | 以太网 |
有的电脑则显示:
1 | Ethernet |
接口编号则不会受到语言和名称变化的影响。
五、设置有线网络优先
假设查询结果中:
1 | 有线网卡 ifIndex:8 |
执行以下命令:
1 | Set-NetIPInterface -InterfaceIndex 8 -AddressFamily IPv4 -AutomaticMetric Disabled -InterfaceMetric 10 |
这里的设置含义是:
1 | 有线网卡 Metric:10 |
因为 10 小于 50,所以 Windows 会优先使用有线网络。
设置数值时没有必要追求某个固定值,只需要保证有线网卡的数值明显小于无线网卡即可。
例如下面这些组合都可以:
1 | 有线 5,无线 50 |
一般推荐使用:
1 | 有线:10 |
这样比较直观,也能避免两张网卡的 Metric 太接近。
六、同时设置 IPv6
如果电脑启用了 IPv6,建议也设置 IPv6 的接口优先级。
执行:
1 | Set-NetIPInterface -InterfaceIndex 8 -AddressFamily IPv6 -AutomaticMetric Disabled -InterfaceMetric 10 |
这样可以避免出现以下情况:
- IPv4 流量走有线
- IPv6 流量却走 Wi-Fi
如果只调整 IPv4,而系统或应用优先使用 IPv6,实际访问网络时仍然可能发现部分流量经过无线网卡。
七、检查设置是否生效
执行下面的命令:
1 | Get-NetIPInterface | |
正常情况下,可以看到类似结果:
1 | ifIndex InterfaceAlias AddressFamily ConnectionState AutomaticMetric InterfaceMetric |
如果设置完成后没有立即生效,可以尝试:
- 断开并重新连接 Wi-Fi
- 禁用再启用有线网卡
- 拔掉并重新插入网线
- 重启电脑
八、查看当前默认路由
可以使用下面的命令查看 IPv4 默认路由:
1 | Get-NetRoute -DestinationPrefix "0.0.0.0/0" | |
需要注意,Windows 最终选择路由时,通常不只看 InterfaceMetric,还会综合考虑路由本身的 RouteMetric。
可以大致理解为:
1 | 总路由成本 = 接口跃点数 + 路由跃点数 |
总成本较低的路由通常会被优先使用。
因此,除了检查接口跃点数,还可以检查默认路由对应的接口和下一跳网关。
九、如何恢复自动选择?
如果以后不想手动指定优先级,可以恢复 Windows 自动设置。
假设有线网卡编号为 8,无线网卡编号为 14,执行:
1 | Set-NetIPInterface -InterfaceIndex 8 -AddressFamily IPv4 -AutomaticMetric Enabled |
恢复 IPv6 自动设置:
1 | Set-NetIPInterface -InterfaceIndex 8 -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 后仍然没有变化?
可以依次检查:
- PowerShell 是否以管理员身份运行
- 设置的
ifIndex是否正确 - 有线和无线是否都处于 Connected 状态
- IPv4 和 IPv6 是否都已设置
- 是否存在 VPN 或虚拟网卡
- 默认路由是否指向正确网关
- 网卡是否需要重新连接或重启