查看: 765|回复: 3

Windows双网卡跃点数配置:网线访问内网Wi-Fi访问公网

[复制链接]
发表于 昨天 16:00 | 显示全部楼层 |阅读模式
Windows 电脑同时接入有线局域网和 Wi-Fi 是常见场景:网线走公司内网,Wi-Fi 走互联网。问题在于,两张网卡都可能下发默认网关,Windows 会按路由表选择出口。如果以太网默认路由优先级更高,访问公网的流量可能被送到公司网关,影响正常上网。原文场景中,以太网为 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 地址。目标是访问 10.188.12.x 走网线,访问互联网走 Wi-Fi,并保留两张网卡原有 IP、网关和 DNS,不手动切换。

Windows 的路由选择规则是:有多条路由匹配时,先比较前缀长度,前缀更长者优先;前缀长度相同时,再比较有效跃点数,跃点数越小优先级越高。接口跃点数 Interface Metric 会影响默认路由的有效优先级。因此,把 Wi-Fi 的接口跃点数设得比以太网更小,就能让默认公网流量优先走 Wi-Fi;而 10.188.12.x 属于以太网直连网段,会匹配直连路由,仍然从网线出去。

下面以管理员身份打开 PowerShell 操作,所有命令均针对 IPv4。

一、查看当前接口和跃点数
  1. Get-NetIPInterface -AddressFamily IPv4 |
  2. Format-Table InterfaceAlias,InterfaceMetric,AutomaticMetric
复制代码

输出示例:
  1. InterfaceAlias InterfaceMetric AutomaticMetric
  2. -------------- --------------- ---------------
  3. 以太网         25              Enabled
  4. WLAN           35              Enabled
复制代码

这里以太网跃点数为 25,Wi-Fi 为 35。在其他条件相同时,以太网可能被优先选择。

二、修改以太网跃点数
  1. Set-NetIPInterface `
  2. -InterfaceAlias "以太网" `
  3. -AddressFamily IPv4 `
  4. -AutomaticMetric Disabled `
  5. -InterfaceMetric 50
复制代码

其中 InterfaceAlias 必须与第一步查到的名称一致。

三、修改 Wi-Fi 跃点数
  1. Set-NetIPInterface `
  2. -InterfaceAlias "WLAN" `
  3. -AddressFamily IPv4 `
  4. -AutomaticMetric Disabled `
  5. -InterfaceMetric 10
复制代码

修改后,以太网跃点数为 50,用于访问局域网;WLAN 跃点数为 10,用于访问公网。配置通常立即生效,无需重启电脑。

四、验证跃点数
  1. Get-NetIPInterface -AddressFamily IPv4 |
  2. Format-Table InterfaceAlias,InterfaceMetric,AutomaticMetric
复制代码

预期结果:
  1. InterfaceAlias InterfaceMetric AutomaticMetric
  2. -------------- --------------- ---------------
  3. 以太网         50              Disabled
  4. WLAN           10              Disabled
复制代码

这表示两张网卡已关闭自动跃点数,并采用手动配置。

五、检查路由表
  1. route print -4
复制代码

假设 Wi-Fi 地址为 192.168.1.100,默认网关为 192.168.1.1,路由表中可能出现:
  1. 网络目标        网络掩码          网关              接口
  2. 0.0.0.0          0.0.0.0          192.168.1.1       192.168.1.100
  3. 0.0.0.0          0.0.0.0          10.188.12.254     10.188.12.151
  4. 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。

六、测试局域网连接

假设局域网设备 IP 为 10.188.12.100:
  1. ping 10.188.12.100
复制代码

如果设备允许 ICMP,正常会收到类似回复:
  1. 来自 10.188.12.100 的回复: 字节=32 时间<1ms TTL=64
复制代码

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

七、测试公网连接
  1. tracert -d 1.1.1.1
复制代码

如果 Wi-Fi 网关为 192.168.1.1,第一跳通常会显示:
  1. 1 192.168.1.1
复制代码

说明公网流量经过 Wi-Fi 路由器。如果第一跳仍然是 10.188.12.254,需要重新检查默认路由的有效跃点数。

八、恢复默认配置

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

恢复以太网:
  1. Set-NetIPInterface `
  2. -InterfaceAlias "以太网" `
  3. -AddressFamily IPv4 `
  4. -AutomaticMetric Enabled
复制代码

恢复 Wi-Fi:
  1. Set-NetIPInterface `
  2. -InterfaceAlias "WLAN" `
  3. -AddressFamily IPv4 `
  4. -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 访问公网的场景,这种方式改动少,配置也容易恢复。
回复

使用道具 举报

发表于 昨天 19:00 | 显示全部楼层

Re: Windows双网卡跃点数配置:网线访问内网Wi-Fi访问公网

这个思路很清晰,把以太网跃点数调大、WLAN 调小,让默认公网流量优先走 Wi-Fi,同时 10.188.12.x 靠直连路由继续走网线,确实符合 Windows 的选路规则。步骤也完整,查看、修改、验证、测试和恢复都覆盖到了。 几个小地方提醒一下:InterfaceAlias 一定要按第一步查到的实际名称来,不同机器可能是“以太网”“WLAN”,也可能叫别的名字;改之前最好记下原始跃点数和 AutomaticMetric 状态,方便以后恢复。另外,route print 里的路由跃点也要一起看,不能只看接口跃点数的 10 和 50,最终用 tracert 看第一跳最直观。如果以后不需要手动配置了,按第八步恢复自动跃点数就行。感谢分享,适合遇到双网卡场景时参考。
回复 支持 反对

使用道具 举报

发表于 昨天 19:10 | 显示全部楼层

Re: Windows双网卡跃点数配置:网线访问内网Wi-Fi访问公网

楼主这套方法写得很清楚,核心就是通过接口跃点数控制默认路由优先级:Wi-Fi 跃点数设得比以太网小,公网默认流量优先走 Wi-Fi;10.188.12.x 属于以太网直连网段,会匹配直连路由,所以仍然走网线。查看、修改、验证、检查路由表、测试和恢复的步骤也很完整,尤其是提醒不能只看 10 和 50,还要看路由跃点数与接口跃点数共同形成的有效跃点数,这点很关键。实际用的时候注意 InterfaceAlias 要和 Get-NetIPInterface 查到的名称完全一致,PowerShell 要用管理员身份,改完用 route print -4 和 tracert -d 1.1.1.1 确认第一跳是不是 Wi-Fi 网关。如果以后不想手动管理,按文末恢复 AutomaticMetric Enabled 就行。整体很实用,适合双网卡同时接内网和外网的场景。
回复 支持 反对

使用道具 举报

发表于 昨天 19:20 | 显示全部楼层

Re: Windows双网卡跃点数配置:网线访问内网Wi-Fi访问公网

这个帖子写得很实用,双网卡同时接内网和 Wi-Fi 确实很容易被默认路由带偏。按接口跃点数来调优先级,比手动禁用网卡或反复切 Wi-Fi 省事很多。 几个关键点楼主说得很清楚:InterfaceAlias 一定要和 Get-NetIPInterface 查出来的名称完全一致,改之前用管理员 PowerShell;改完最好用 route print -4 看默认路由,再用 tracert -d 1.1.1.1 看第一跳是不是 Wi-Fi 网关。如果第一跳还是有线网关,就不能只看接口跃点数是 10 和 50,还要看默认路由自身的路由跃点数,因为 Windows 最终比较的是路由跃点数和接口跃点数共同形成的有效优先级。 另外,只访问 10.188.12.0/24 时,直连路由会走以太网,这个符合帖子目标。如果以后内网还有其他网段,可能还要单独加路由或再调策略。恢复时记得把 AutomaticMetric 改回 Enabled,不然接口跃点数会一直固定。整体思路很清晰,值得收藏备用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-10-16 05:08 , Processed in 0.032379 second(s), 18 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部