应修改网络接口跃点数并添加静态路由:将Wi-Fi跃点数设为5、有线设为30,再执行route add 192.168.18.0 mask 255.255.255.0 192.168.18.254 if [有线ifIndex] -p,使外网走Wi-Fi、内网流量精准走有线。

电脑同时连着网线和Wi-Fi却上不了网,大概率是系统把流量全塞进了那个不能访问目标地址的网口——比如有线只通内网、Wi-Fi才通外网,但系统偏偏优先走有线,默认路由压根不经过Wi-Fi网关。
先确认是不是优先级惹的祸
按 Win+X → 选择“Windows Terminal(管理员)”或“PowerShell(管理员)”,输入:
Get-NetIPInterface | Where-Object {$_.ConnectionState -eq 'Connected'} | Sort-Object InterfaceMetric | Format-Table InterfaceAlias,InterfaceMetric,AddressFamily
重点看 InterfaceMetric 列:数值越小,系统越倾向用它发默认流量。如果“Ethernet”是15、“Wi-Fi”是25,而你公司内网只跑在有线上、上网必须走Wi-Fi,那问题就坐实了——有线抢走了本该属于Wi-Fi的默认出口。
方法一:用高级设置界面调顺序(Win10/Win11部分版本有效)
右键任务栏网络图标 → “打开网络和Internet设置” → 点击“更改适配器选项” → 按 Alt 键调出菜单栏 → “高级” → “高级设置”。
在“连接”列表里,把你想优先用的网络(比如Wi-Fi)拖到最上面,有线网卡往下移。这个顺序直接对应系统内部接口注册顺序,会影响默认路由生成逻辑。
【注意:Win11 22H2之后很多设备此界面已失效,调整后重启也不生效,此时必须跳转到方法二】
方法二:用PowerShell精准改InterfaceMetric(全版本通用)
第一步:记下你要调优的两个接口名
运行 Get-NetIPInterface | Where-Object {$_.ConnectionState -eq 'Connected'},抄下“InterfaceAlias”列对应的名称,例如“Wi-Fi”和“以太网”。
第二步:给Wi-Fi设更低度量值(比如5),有线设更高(比如30)
执行这两条命令(每条单独回车):
Set-NetIPInterface -InterfaceAlias "Wi-Fi" -InterfaceMetric 5
Set-NetIPInterface -InterfaceMetric 30 -InterfaceAlias "以太网"
第三步:强制刷新路由表
执行 netsh interface ipv4 set subinterface "Wi-Fi" mtu=1500 store=persistent → 这步不是改MTU,而是触发系统重算默认路由;同理再对“以太网”执行一遍。
第四步:验证是否生效
再跑一次 Get-NetIPInterface | Where-Object {$_.ConnectionState -eq 'Connected'} | Sort-Object InterfaceMetric,确认Wi-Fi的InterfaceMetric确实比有线小;然后 route print | findstr "0.0.0.0",看第一行默认路由的接口是否已切换到Wi-Fi对应的ifIndex。
方法三:加静态路由分流(内网+外网共存刚需)
如果你既要通过有线访问192.168.100.0/24内网服务器,又要通过Wi-Fi上公网,光调InterfaceMetric不够——它只能决定“默认走谁”,不能指定“某段IP必须走谁”。
方法一/二调完后,再开管理员终端,执行:
route add 192.168.100.0 mask 255.255.255.0 192.168.100.1 if 15 -p
其中192.168.100.0是你要定向访问的内网网段,192.168.100.1是有线网卡的默认网关,if 15 是有线接口的ifIndex(从 Get-NetIPInterface 输出里查)。
【关键:-p 参数必须加,否则重启后路由丢失】

















