双网卡同网段时需手动设置InterfaceMetric值避免路由冲突:主网卡设为10,副网卡设为40,并用route print -4验证默认路由指向主网卡。

当你在 Windows 11 中同时插入两块同网段的有线网卡(比如都连在 192.168.1.0/24 网络),系统会因路由表冲突导致部分流量走错路径、ping 不通设备、远程桌面连接失败或文件共享中断——这不是硬件故障,而是 Windows 自动计算的跃点数(Interface Metric)未区分主次,让两条“并行高速路”互相抢道。
确认当前双网卡跃点数冲突
以管理员身份运行 PowerShell,执行:Get-NetIPInterface | Where-Object {$_.AddressFamily -eq 'IPv4'} | Sort-Object InterfaceMetric | Format-Table InterfaceDescription, InterfaceMetric, ConnectionState。
观察输出中两块同网段网卡的 InterfaceMetric 值是否接近(例如都是 25 或 30)。若差值 ≤5,Windows 就可能随机选路,必须手动干预。
这一步不能跳过:自动跃点数由驱动协商速率生成,老旧千兆网卡有时反而比新 Wi-Fi 跃点更低,光看物理接口类型无法判断实际优先级。
手动锁定主网卡跃点为最低值
方法一:图形界面直接设(推荐给非技术用户)
打开“设置”→“网络和 Internet”→“高级网络设置”→“更多网络适配器选项”,右键你要设为主力的网卡(如“以太网 2”)→“属性”→双击“Internet 协议版本 4 (TCP/IPv4)”→点击“高级”→取消勾选“自动跃点”,在“接口跃点数”框中输入 【10】。
方法二:PowerShell 批量固化(适合多设备部署)
先用 Get-NetAdapter 查出目标网卡名称(如 “Ethernet”),再执行:Set-NetIPInterface -InterfaceAlias "Ethernet" -InterfaceMetric 10。
注意:该命令立即生效,无需重启,但仅对 IPv4 生效;若需 IPv6 同步控制,追加 -AddressFamily IPv6 参数并设相同 Metric。
强制副网卡退居二线
第一步:识别副网卡在系统内的精确名称
回到 PowerShell,运行 Get-NetAdapter | Where-Object {$_.Status -eq 'Up'},记下副网卡的 Name(不是“描述”,是类似 “Ethernet 3” 的短名)。
第二步:将其跃点数拉高到明确次级区间
执行:Set-NetIPInterface -InterfaceAlias "Ethernet 3" -InterfaceMetric 40。
第三步:验证路由表是否已收敛
运行 route print -4 | findstr "0.0.0.0",检查输出中第一行(默认网关)对应的“接口”列是否指向跃点 10 的那块网卡。若仍是 40 的网卡,说明存在静态路由残留,需用 route delete 0.0.0.0 清除后重试。
这一步做完,所有发往互联网的流量将 100% 经由跃点 10 的网卡出口,副网卡只响应本机直连子网请求,不再参与默认路由竞争。

















