Windows 双网卡配置:通过跃点数实现网线访问局域网、Wi-Fi 访问公网

Windows 双网卡配置:通过跃点数实现网线访问局域网、Wi-Fi 访问公网

工作中遇到一个网络需求:Windows 电脑需要同时使用网线和 Wi-Fi。

网线连接公司局域网,用于访问服务器和其他设备;Wi-Fi 连接互联网,用于浏览网页、下载文件。

当前网线的网络配置如下:

配置项 当前值
网卡 Intel(R) Ethernet Connection (18) I219-V
IPv4 地址 10.188.12.151
默认网关 10.188.12.254
DNS 服务器 10.188.10.7、223.5.5.5
连接速度 100 Mbps

局域网中的其他设备使用 10.188.12.x 地址。

连接网线和 Wi-Fi 后,两张网卡都可能存在默认网关。Windows 会根据路由表选择网络出口。如果以太网默认路由的优先级高于 Wi-Fi,访问公网的流量就可能走公司局域网,影响正常上网。

希望实现的效果是:

  • 访问 10.188.12.x 时,使用网线。
  • 访问互联网时,使用 Wi-Fi。
  • 保留两张网卡原有的 IP、网关和 DNS 配置。
  • 两张网卡同时工作,无需手动切换。

可以通过修改 Windows 网卡的接口跃点数(Interface Metric)实现。

解决方案

Windows 根据路由表决定网络流量的出口。

当存在多条匹配的路由时,系统优先选择前缀长度更长的路由;前缀长度相同时,再比较有效跃点数。

跃点数越小,路由优先级越高。

因此,可以让 Wi-Fi 的接口跃点数小于以太网,使默认公网流量优先通过 Wi-Fi。

对于 10.188.12.x 这样的同网段地址,Windows 会优先匹配以太网的直连路由,仍然使用网线访问。

1. 查看当前网卡名称和跃点数

以管理员身份打开 PowerShell。

执行:

sql 复制代码
Get-NetIPInterface -AddressFamily IPv4 |
    Format-Table InterfaceAlias,InterfaceMetric,AutomaticMetric

输出示例:

diff 复制代码
InterfaceAlias   InterfaceMetric   AutomaticMetric
--------------   ---------------   ---------------
以太网            25                Enabled
WLAN              35                Enabled

可以看到,以太网跃点数为 25,Wi-Fi 跃点数为 35。

在默认路由的其他条件相同时,以太网可能被优先选择。

2. 修改以太网跃点数

将以太网接口跃点数设置为 50:

javascript 复制代码
Set-NetIPInterface `
    -InterfaceAlias "以太网" `
    -AddressFamily IPv4 `
    -AutomaticMetric Disabled `
    -InterfaceMetric 50

这里的 以太网 必须与第一步查到的网卡名称一致。

3. 修改 Wi-Fi 跃点数

将 Wi-Fi 接口跃点数设置为 10:

javascript 复制代码
Set-NetIPInterface `
    -InterfaceAlias "WLAN" `
    -AddressFamily IPv4 `
    -AutomaticMetric Disabled `
    -InterfaceMetric 10

修改后的配置:

网络接口 跃点数 用途
以太网 50 访问局域网
WLAN 10 访问公网

执行成功后,配置通常立即生效,无需重启电脑。

4. 验证跃点数配置

再次执行:

sql 复制代码
Get-NetIPInterface -AddressFamily IPv4 |
    Format-Table InterfaceAlias,InterfaceMetric,AutomaticMetric

预期结果:

scss 复制代码
InterfaceAlias   InterfaceMetric   AutomaticMetric
--------------   ---------------   ---------------
以太网            50                Disabled
WLAN              10                Disabled

说明两张网卡已经关闭自动跃点数,并使用手动配置。

5. 检查路由表

执行:

arduino 复制代码
route print -4

假设 Wi-Fi 地址是 192.168.1.100,默认网关为 192.168.1.1,路由表中可能包含:

复制代码
网络目标          网络掩码          网关           接口
0.0.0.0           0.0.0.0           192.168.1.1    192.168.1.100
0.0.0.0           0.0.0.0           10.188.12.254  10.188.12.151
10.188.12.0       255.255.255.0     在链路上       10.188.12.151

其中:

  • 0.0.0.0/0 表示默认路由,访问公网时会使用优先级更高的默认路由。
  • 10.188.12.0/24 表示局域网直连路由,访问该网段时使用以太网。

需要注意,route print 还会显示路由跃点数。Windows 比较默认路由时,考虑的是路由跃点数与接口跃点数共同形成的有效优先级,因此不能只凭 10 和 50 判断最终出口。

如果 Wi-Fi 默认路由的有效跃点数更低,公网流量就会优先通过 Wi-Fi。

6. 测试局域网连接

假设局域网设备 IP 为:

复制代码
10.188.12.100

执行:

复制代码
ping 10.188.12.100

如果设备允许 ICMP,正常情况下会收到回复:

ini 复制代码
来自 10.188.12.100 的回复: 字节=32 时间<1ms TTL=64

如果 Ping 失败,需要检查目标设备是否在线、IP 是否正确,以及设备防火墙是否禁止 ICMP。

7. 测试公网连接

执行:

复制代码
tracert -d 1.1.1.1

如果 Wi-Fi 网关为 192.168.1.1,第一跳通常会显示:

复制代码
1    192.168.1.1

说明公网流量经过 Wi-Fi 路由器。

如果第一跳仍然是 10.188.12.254,需要重新检查默认路由的有效跃点数。

8. 恢复默认配置

如果后续不再需要手动设置跃点数,可以恢复 Windows 自动管理。

恢复以太网:

javascript 复制代码
Set-NetIPInterface `
    -InterfaceAlias "以太网" `
    -AddressFamily IPv4 `
    -AutomaticMetric Enabled

恢复 Wi-Fi:

javascript 复制代码
Set-NetIPInterface `
    -InterfaceAlias "WLAN" `
    -AddressFamily IPv4 `
    -AutomaticMetric Enabled

执行后,Windows 会根据网络接口情况自动计算跃点数。

最终效果

访问目标 网络出口
10.188.12.100 以太网
10.188.12.200 以太网
公网 IP Wi-Fi
互联网网站 Wi-Fi

上述效果以 10.188.12.0/24 确实属于以太网直连网段、Wi-Fi 默认路由有效跃点数更低为前提。公司其他内网网段和域名解析还取决于现有路由与 DNS 配置。

通过修改接口跃点数,可以保留网线和 Wi-Fi 的原有 IP、网关和 DNS 设置,无需删除默认网关,也不需要安装第三方软件。

对于网线访问同网段局域网、Wi-Fi 访问公网的场景,这种方式改动少,配置也容易恢复。

相关推荐
Source.Liu2 小时前
【A11】拥有者模式平台架构笔记
windows·笔记·架构·rust
可爱系程序猿5 小时前
Windows 11 下惠普 M126nw 驱动报错溯源:完整包、WSD 端口与类驱动记录
windows·程序人生·电脑
技术不好的崎鸣同学6 小时前
第七章:模块踩踏以覆写导出函数绕过CFG
c++·windows·安全·系统安全
黄一一9112436 小时前
吾爱大佬开发,离线可用!PDF文件处理工具,本地网页版文件-浏览器里就能搞定,所有操作系统可用
windows·安全·阿里云·pdf·.net·开源软件
牛马工作号8 小时前
Docker Compose 部署 FreeRADIUS:从 AAA 原理到 Windows 有线 802.1X 认证实战
windows·docker·容器
李少兄1 天前
Windows 11 环境下 BAT 脚本无法执行的排查与修复指南
windows
解道Jdon1 天前
FigCraft把Figma用Rust从零重写了一遍
ide·windows·git·svn·eclipse·github·visual studio
zh73141 天前
Docker Desktop on Windows 挂载问题根因分析
windows·docker·容器
Surpass-HC1 天前
WSL2 windows-ubuntu
linux·windows·ubuntu