Skip to content

当一台电脑有多个网卡(比如有线、无线、虚拟网卡等)时,它是如何决定“从哪个网卡上网”的?


一、什么是“多个网卡”?

“网卡”就是电脑用来连网的接口,一台电脑可能同时有:

网卡类型说明
有线网卡连接网线的(Ethernet)
无线网卡连接 Wi-Fi
虚拟网卡虚拟机、VPN、热点共享等虚拟出来的
蓝牙网卡支持蓝牙上网的设备

这些网卡都可以有自己的 IP 地址、网关、路由表


二、多个网卡同时插上,电脑如何决定走哪一条?

电脑其实有一套 “路由优先级机制”,用来决定:

“我发出去的网络请求,走哪个网卡?”

核心是:路由表(Routing Table)

Windows/Linux/Mac 都有“路由表”这个东西,它会根据“优先级”决定走哪个网卡。

你可以在终端查看:

  • Windowsroute print
  • Linux/macOSip routenetstat -rn

路由优先级的核心指标是:

项目解释
跃点数(Metric)数值越小,优先级越高
默认网关(Default Gateway)如果目标地址不知道,就从默认网关走
子网掩码越精准,越优先比如要去 192.168.1.100,192.168.1.0/24 优先于 0.0.0.0/0

三、举个真实的例子

场景:你的电脑同时连了:

  • 一个 Wi-Fi(192.168.1.2,网关 192.168.1.1,metric 50)
  • 一个有线网(10.0.0.2,网关 10.0.0.1,metric 25)

结果:

  • 默认走有线网卡(metric 更小)
  • 你访问百度、B站,都是从有线走出去的
  • Wi-Fi 还连着,但不走网流量

如果你拔掉网线,路由表会更新,流量就自动切到 Wi-Fi。


四、怎么手动控制“用哪个网卡上网”?

方法 1:禁用你不想用的网卡

  • 右键“网络连接” > 禁用某个网卡

方法 2:修改跃点值(metric)

  • Windows 网络设置 > 高级 > TCP/IP 设置
  • 手动设置 metric 数值(小的优先)

方法 3:绑定应用程序到指定网卡(高级)

  • 某些 VPN、游戏可以选择“走哪个网络”
  • 也可以用第三方软件如 ForceBindIP(Windows)

五、为什么有多个网卡?

场景用途
一边内网、一边外网比如一边连公司内网,一边上公网
开热点有线上网 + 无线开热点(虚拟网卡)
虚拟机、Docker会创建虚拟网卡
同时测试多个网络测速、诊断故障