Wi-Fi与网线同时连接却无法上网?双网卡默认路由冲突排查指南 上周帮同事排查一个怪问题笔记本同时连着公司的网线和办公室Wi-Fi结果Wi-Fi信号满格却上不了网。拔掉网线网络立刻恢复重新插上又断。这种“Wi-Fi和网线同时连接时有一个无网络”的情况我一年会碰到几十次几乎每个项目组都有人中招。这篇不绕弯子直接把背后的原理、排查顺序和解决办法一次说清适合经常跑现场的IT支持、网络管理员也适合家里台式机插着网线又连Wi-Fi的普通用户。1. 现象还原明明都连着为什么反而“断网”1.1 你大概率遇到过的四种现场先归纳一下我实际处理过的典型场景你可以对号入座。第一种是家庭场景台式机用网线直连光猫同时用USB无线网卡连路由器Wi-Fi。光猫如果处于桥接模式且没有拨号有线接口只能拿到一个私有IP根本不能上外网可Windows默认会把上网流量优先交给有线网卡于是整台电脑看似“网络已连接”网页却打不开。很多人第一反应是Wi-Fi坏了但断掉网线之后Wi-Fi立刻恢复才意识到问题出在两条链路互相干扰。第二种是办公场景网线直连内网交换机Wi-Fi连另一个出口两边单独用都正常同时启用后外网时断时续内网偶尔也慢。这类问题往往藏得深因为两个接口都有IP、都有网关系统在两条默认路由之间反复摇摆表现就是“一会儿能上一会儿不能上”。第三种更隐蔽两个连接都显示“已连接”但某个软件总是超时比如钉钉能收消息浏览器却转圈刷新十次成功一次。这类情况通常不是路由选错而是DNS或网关配置冲突。第四种是帮别人看电脑时最容易被误导的网线其实已经坏了但Wi-Fi正常用户拔掉网线后“又好了”于是反复怪Wi-Fi信号不好。实测下来很多时候网线和Wi-Fi本身都没问题只是默认出口选错了或者物理链路存在“假通”。1.2 真正的根因系统只会挑一条默认路由要理解这个现象得先知道TCP/IP网络访问外网依赖什么。一台设备要上网必须有一条去往“0.0.0.0/0”的默认路由也就是把不知道往哪送的流量统一交给某个网关。你可以同时开启多张网卡但最终只有一条默认路由会被真正用于外网通信系统不会智能到“自动负载均衡”。Windows选择哪条默认路由主要看“接口跃点数”。跃点数值越小优先级越高。自动跃点通常按链路速度折算千兆有线网卡的优先级往往高于Wi-Fi所以只要网线插着有线接口就默认被选中。问题来了如果这个有线接口只有内网地址、没有外网网关或者网关根本不通外网所有出站流量都会被丢进“黑洞”。此时Wi-Fi那一侧明明是好的可因为默认路由被有线占住数据包根本不会从无线口出去。这跟网卡驱动、网线好坏都没有关系纯粹是路由表选择问题。你把有线网卡禁用Wi-Fi的默认路由立刻接管网络就恢复了再启用有线默认路由又马上切回去于是又断。这就是整类故障最核心的机制。提示同时插着网线和Wi-Fi并不代表两个都是可用出口。系统永远只挑一条默认路由另一条只是“待命”多数时候帮不上忙。1.3 先分清三类状态排查能少走弯路很多人把“连接成功”和“能上网”直接画等号这才是故障迟迟查不清的根源。建议把网络状态拆成三层看。第一层是物理连接状态。网线插好了、Wi-Fi关联上了系统显示“已连接”或“已识别网络”只说明二层链路存在也就是设备能和交换机、路由器握手。注意二层通并不意味着三层通。第二层是IP配置状态。设备拿到了IPv4地址、子网掩码、默认网关、DNS也不代表能上外网。因为网关可以存在但不转发比如光猫桥接模式下没做拨号地址能拿到网关也在就是没有互联网出口。第三层才是互联网连通状态。能ping通公共IP浏览器也能正常打开页面这才能叫“有网”。大多数人只看到了第一层所以才会觉得“明明有网却无网络”很灵异。后面所有排查手段都是为了把这三层逐层剥开看清楚。2. 动手前先诊断三分钟定位问题出在哪一边2.1 用命令看事实别凭直觉遇到这类问题我从不先改配置而是先跑一段命令把现状看清。Windows下第一步永远是ipconfig /all重点看两个适配器的信息以太网适配器、无线局域网适配器分别对应的IPv4地址、子网掩码、默认网关、DNS服务器。怎么判断谁有网关谁没网关一眼能看出来。没网关的网卡即使显示“已连接”也上不了外网。两块网卡如果落在同一个网段比如都拿到192.168.1.x就要格外警惕。DNS服务器如果同时出现好几套说明两张网卡都在从DHCP接收配置这本身就容易导致解析混乱。我自己遇到最典型的情况是以太网拿到192.168.100.8默认网关为空Wi-Fi拿到192.168.1.8默认网关192.168.1.1。看到这里答案基本已经摆到桌面上了系统默认把流量交给有线而有线根本没有外网出口。但先别急着改再用连通性测试确认一下。2.2 用ping和tracert确定哪条链路真通分别ping两个网关看哪条二层链路是通的ping 192.168.1.1 ping 192.168.100.1哪个能通说明哪个接口的网关是可达的。接下来ping一个公共IP比如ping 114.114.114.114公共IP能通但网页打不开问题基本锁定在DNS公共IP都不通说明默认路由已经选到了错误的链路上。这时候再用tracert看数据到底从哪张网卡出去的tracert -d 114.114.114.114重点看第一跳。如果第一跳是有线网卡的网关而Wi-Fi网关压根没被用到那就可以百分之百确认当前外网流量全部在走有线。Wi-Fi信号哪怕满格也只是个摆设。反过来如果第一跳是Wi-Fi网关但网页还是打不开那问题就在DNS或路由器WAN口。2.3 诊断结果速查现象、指向、下一步诊断做完对照下面这个判断以太网没有网关Wi-Fi有网关且能ping通 → 默认出口落在有线下一步调接口优先级或给有线补正确网关。两块网卡都有网关只有Wi-Fi通 → 有线接口虽然能拿到地址但网关不转发查有线上游设备。两块网卡都有网关只有以太网通 → 查Wi-Fi路由器WAN口状态以及无线是否被限速或禁用。两块网卡都拿不到外网网关 → 问题在上游先看光猫、主路由的拨号状态别在电脑上瞎折腾。另外还有一个非常直观的办法Windows自带“资源监视器”切到“网络”选项卡看TCP连接里当前进程的本地地址是哪个网段的IP。如果本地地址是192.168.100.x说明流量确实从有线网卡出去和tracert的结论能互相印证。这一步对不熟悉命令行的人来说特别友好。3. 让双连接“各回各家”接口优先级和路由配置实战3.1 Windows调整接口跃点数让优先权握在自己手里确认了问题所在之后最直接的办法就是手动调整接口跃点数。进入“网络和共享中心 → 更改适配器设置”右键你要优选的网卡比如Wi-Fi选择“属性”双击“Internet协议版本4(TCP/IPv4)”点“高级”切到“IP设置”页签把“自动跃点”的勾选去掉手动输入一个较小的数值比如1。同样的方法把不优先的网卡比如以太网的跃点改为10或更大。跃点越小优先级越高系统默认路由就会选择Wi-Fi。改完之后立即生效通常不需要重启。这里有个细节容易被忽略如果Wi-Fi是外网出口建议顺手在Wi-Fi的IPv4高级设置里指定一个可靠DNS比如223.5.5.5或119.29.29.29避免双网卡自动获取的DNS互相干扰。改完确认一下路由表route print -4找到0.0.0.0那条默认路由看“跃点数”列是否符合预期。符合了说明系统已经按你的意图选路。3.2 用命令设置metric锁定配置不被系统覆盖有些IT管理员不方便让用户进GUI也可以用命令完成。管理员身份运行PowerShell或CMD执行netsh interface ipv4 set interface WLAN metric1 netsh interface ipv4 set interface 以太网 metric10注意网卡名称一定要先通过ipconfig /all确认。中文系统里可能显示“WLAN”或“以太网”也可能显示“Ethernet”或“无线网络连接”带空格或中文时要用引号包住。设置完之后用route print -4验证默认路由的跃点。这条命令修改的是持久化配置重启后一般不会丢。但有一个坑如果网卡属性里“自动跃点”仍然被勾上netsh命令的结果有可能会被系统重新计算的结果覆盖。所以在图形界面里要么同时指定要么同时在两条链路上都手动设置不要一根网卡手动、另一根自动。3.3 macOS的“服务顺序”到底怎么调macOS的逻辑和Windows不同它通过“服务顺序”决定哪个网络接口优先。打开“系统设置 → 网络 → 更多 → 服务顺序”把Wi-Fi拖到以太网上面保存退出。此时外网流量默认从Wi-Fi走有线继续保留给内网。有个细节需要注意如果两个接口配置在同一网段macOS也会出现路由冲突表现和Windows类似。所以要么让两个接口分属不同网段要么干脆只保留一个。另外macOS在每次插拔网线时都可能重新计算服务顺序如果你已经手动调整过一般会保持但如果你在“网络”设置里做过“还原默认”需要重新拖一次。3.4 Linux双网卡metric和策略路由做分流Linux优先级的控制也是通过metric数值小的优先。先看当前路由ip route show如果默认路由已经走了以太网但你想让Wi-Fi作为外网出口可以把默认路由的metric改小sudo ip route replace default via 192.168.1.1 dev wlan0 metric 10 sudo ip route replace default via 192.168.100.1 dev eth0 metric 200注意replace是临时生效重启后会被NetworkManager或netplan覆盖。要持久化在NetworkManager里设置连接的路由metricnmcli connection modify 你的WiFi连接名 ipv4.route-metric 10如果是netplan管理的系统在对应接口的routes配置里加上metric值。先用nmcli connection show确认活动连接名再改别改错对象。更复杂的场景要用策略路由。比如“从有线网卡来的流量全部走内网从无线来的流量走外网”可以这样sudo ip rule add from 192.168.100.8 table 100 sudo ip route add default via 192.168.100.1 dev eth0 table 100 sudo ip route add 10.0.0.0/8 dev eth0 table 100这个做法适合有明确内网隔离需求的场景但初学容易把路由表搞乱建议先在测试机上验证不要直接在主力工作机上敲。改坏了就用ip rule del和ip route flush清理。3.5 办公场景进阶内网有线、外网Wi-Fi同时可用还有一种很常见的需求有线网口用来连内网Wi-Fi用来上外网。这个时候不是“禁用某块网卡”而是把默认路由指向Wi-Fi再为内网网段添加静态路由让特定目标走有线。Windows下用持久化静态路由route add -p 10.0.0.0 mask 255.0.0.0 192.168.100.1这里的10.0.0.0/8是你要访问的内网段192.168.100.1是内网网关。加完之后默认路由继续走Wi-Fi内网流量走有线两边互不干扰。想撤销就用route delete 10.0.0.0操作前建议先执行route print -4备份路由表方便出错时恢复。切忌把两个网卡配置成同一个网段否则静态路由形同虚设。3.6 为什么不能简单“网络桥接”经常有人问把网线和Wi-Fi桥接起来是不是两个就都能用了答案是否定的。两个接口连接的是不同子网、不同出口时桥接会把两边的二层广播互相传递容易导致DHCP混乱、ARP风暴网络环路风险也大。绝大部分家用和办公场景不需要桥接。系统自带的“网络桥接”更适合虚拟机多网卡通信这类特定用途不是用来解决“双线上网”的。真正要解决双连接冲突路由表和metric已经足够。4. 路由之外的暗坑IP网段、DNS和物理链路问题4.1 两个接口落在同一网段时的“打架”现象假设以太网和Wi-Fi都拿到了192.168.1.x/24这时候麻烦就大了。系统面对外网数据包时无法决定用哪一个IP作为源地址可能选择以太网接口发出数据但路由器看到源IP属于无线网卡又把回包送回无线口数据在路由器内部绕圈表现为网络时通时断、丢包严重。解决办法很简单让两个接口分属不同网段。比如有线用192.168.1.10/24Wi-Fi手动改成192.168.2.10/24前提是路由器或交换机支持对应网段。如果现场网络无法改干脆只保留一个接口。这个坑我在现场遇到过很多次排查半天最后发现就是两张网卡IP网段完全重叠。4.2 DHCP和静态IP混用最容易埋雷办公环境里很多人给有线配了静态IPWi-Fi又用DHCP自动获取。这种做法本身没问题但一旦两个IP落在同一网段且地址冲突就会出现有线时好时坏Wi-Fi时断时续系统还频繁提示“IP地址冲突”。建议统一策略。有线如果必须用静态IP先跟网络管理员确认可用的IP池、网关、DNS不要随便填。Wi-Fi则完全交给DHCP。更忌讳的是在同一块网卡上又开DHCP又手动填IP那会直接把配置刷掉。静态IP的网关也要和真实网络匹配见过有人把内网网关填成192.168.1.1实际网关是10.0.0.1结果整个外网全断。4.3 DNS配置冲突导致“能ping通却打不开网页”双网卡机器有一个很常见的故障模式ping公共IP全部通但浏览器解析不了域名。原因往往是两张网卡分别从不同DHCP服务器拿了两套DNS系统在解析时优先使用了错误的DNS或者DNS列表混乱。这种时候在优选网卡的IPv4设置里手动指定一组DNS另一块网卡改为“自动获得DNS服务器地址”再执行ipconfig /flushdns把DNS缓存清空再看效果。如果公司环境有内网域名要保留公司DNS再添加公共DNS做备用千万不要为了“干净”把公司DNS删掉否则内网系统全部打不开。4.4 设备管理器网卡正常不代表物理链路没问题很多人会困惑设备管理器里网卡明明显示正常为什么网卡灯不亮可“网线确认是通的”这种“设备正常但物理链路有故障”的情况很常见要分清楚四件事设备管理器正常只说明驱动加载正常不代表网线、水晶头、交换机端口都是好的。网卡灯不亮时优先查水晶头线序、线缆断线、交换机端口是否启用或协商失败。自制网线最常见的问题是568A和568B线序混用导致1-2、3-6两个线对不一致千兆网卡只能协商百兆甚至完全识别不了。如果手头有测线仪按线序逐芯测没有的话可以用交换机端口指示灯辅助判断。Windows里可以看网卡链路速度进入“以太网”状态如果显示“100.0 Mbps”而不是“1.0 Gbps”就要怀疑线缆质量或协商问题。Linux下用ethtool看得更清楚ethtool eth0重点看Speed、Duplex、Link detected几个字段。这些信息比单纯看灯准得多。4.5 光猫桥接模式的“假通”现场最后一个高频场景光猫被调成桥接模式电脑用网线直连光猫LAN口。这时候电脑能拿到光猫下发的192.168.x.x地址“已连接”状态是绿的但因为缺少PPP拨号过程整台设备没有互联网出口。此时Wi-Fi如果连着另一个能正常拨号的路由器自然是“Wi-Fi能上、网线不能上”。这种情况不用反复怀疑网线或网卡问题出在接入方式让路由器接光猫并负责PPPoE拨号电脑再接路由器或者直接在电脑上配置拨号连接。还有一种变体是办公室的AP面板、随身Wi-Fi等设备它们的LAN口可能只通内网不通外网插上去就是“无网络”。遇到时先确认这个有线口对应的业务是内网还是外网别默认网线口一定等于互联网口。5. 实战经验常见问题排查速查表与避坑记录5.1 现象和处理对照表现象最常见原因推荐处理插网线后整机没网拔掉网线Wi-Fi恢复有线接口没有外网网关但默认路由优先级高调整接口跃点数或给有线配置正确网关Wi-Fi满格但网页打不开网线正常Wi-Fi路由器WAN口未连接外网或未拨号检查路由器WAN口状态确认拨号成功双连接时网络每隔几分钟断一次两个接口的默认网关冲突固定一个接口为默认路由另一接口用静态路由分流内网能访问外网超时默认路由指向内网口默认路由指向Wi-Fi再添加内网静态路由网卡灯不亮但设备管理器正常水晶头、线序、交换机端口问题测线、换端口、重做水晶头能ping通IP但域名打不开DNS配置冲突或DNS错误手动指定有效DNS并刷新缓存5.2 我自己踩过的几个坑坑一误以为“两个连接同时开网速一定更快”。实际上系统只走一条默认路由另一条只是备选开了反而增加路由冲突概率。坑二用netsh设置metric后重启发现恢复原样。原因可能是网卡名称没写对比如英文系统显示“WLAN”中文系统显示“WLAN”或“无线网络连接”名称不一致命令执行到了错误接口。建议先ipconfig /all看准确名称再操作。坑三手动指定IP时没确认可用IP池结果设备和路由器不在同一网段网络反而更糟。改静态IP之前务必先查DHCP地址池范围、子网掩码和网关。坑四在路由器里同时开DHCP和无线中继导致两个接口拿到不同网段打印机、NAS全部找不到。这类问题不是网卡优先级能解决的得先统一网络规划。坑五客户现场“网线确认是通的”但交换机端口灯不亮最后发现是PoE交换机的端口策略限制了该端口的供电和协商。有些网管交换机端口默认关闭自动协商设备看起来正常却不通信。以后凡是网口灯不亮先查端口配置再怀疑线缆。5.3 什么时候应该直接禁用一块网卡如果你只是普通家庭用户唯一的诉求是正常上网强烈建议在Wi-Fi和有线之间只保留一条能通外网的链路另一块网卡在系统里直接禁用。这样既省电又省心也不会莫名奇妙冒出路由问题。如果你在办公场景保留有线访问内网、Wi-Fi访问外网并加上静态路由做分流这是最合理的方案。如果办公网络本身已经统一了内外网出口那同样建议只保留有线在Windows网络连接窗口里右键禁用无线网卡需要移动办公时再启用。如果用的是笔记本插着网线时顺手把Wi-Fi关掉或者按上面方法设置了以太网优先可以有效避免系统在两块网卡之间频繁切换导致的掉线。禁用网卡的操作很简单在网络连接窗口右键选“禁用”就行千万别用卸载驱动的方式去“禁用”那会给后续恢复带来一堆驱动问题。最后说一个我的工作习惯接手这类问题永远别先动配置先把路由表和网关看清。90%的“Wi-Fi和网线同时连接但有一个无网络”本质都是默认路由选错了出口剩下的10%才是IP网段、DNS或物理链路的问题。按ipconfig、route print、ping、tracert这个顺序走一遍再决定是调跃点数、加静态路由还是直接禁用一块网卡基本都能在十分钟内解决。上面这些配置方法我在自己电脑和客户现场反复验证过照着走一遍大概率能少走很多弯路。