Windows 双网卡内外网同时访问

最近在实验室电脑上折腾双网卡内外网同时访问,踩了无数路由配置的坑,最终解决了内网服务器无法访问的问题。这里把完整的踩坑、排错和最终方案整理成一篇博客,给遇到同样问题的朋友做个参考。


一、我的场景与核心痛点

网络环境

网卡类型 IP地址 子网掩码 网关 用途
以太网(有线) 10.135.125.229 255.255.255.0 10.135.125.250 内网,访问实验室设备和服务器
WLAN(无线) 192.168.101.39 255.255.252.0 192.168.100.1 外网,访问互联网

核心痛点

  1. 必须保留内网网卡的静态IP和网关配置(实验室要求),不能删除网关。
  2. 两张网卡同时启用时,网络随机断开,内外网无法同时访问。
  3. 内网SDP服务器(10.142.254.109)无法访问,ping请求超时。

二、踩坑过程:从错误配置到路由冲突

坑1:双默认网关冲突

一开始两张网卡都配置了默认网关,路由表里出现了两条0.0.0.0/0路由,系统随机选择出口,导致网络不稳定。

坑2:内网路由范围不足

最初只添加了10.135.125.0/24的静态路由,但服务器在10.142.x.x网段,不在这个范围内,流量直接被转发到外网,导致ping超时。

坑3:错误的永久默认路由

为了强制内网流量走有线网卡,错误添加了一条0.0.0.0/0的永久路由,跃点数设为0,导致所有流量(包括外网)都被强制转发到内网网关,网络彻底瘫痪。


三、核心原理:Windows路由表匹配规则

Windows路由表的匹配优先级遵循两个核心规则:

  1. 最长匹配原则:子网掩码越长、网段越具体的路由,优先级越高。
  2. 跃点数(Metric):数值越小,优先级越高。

所以双网卡配置的核心思路是:

  • 外网默认路由(0.0.0.0/0)负责所有公网流量,优先级设为次高。
  • 内网静态路由(10.0.0.0/8)负责所有内网流量,优先级设为最高,且网段覆盖所有10.x.x.x地址。

四、最终正确配置方案(保留内网网关)

步骤1:删除错误的永久路由

首先删掉之前添加的错误0.0.0.0/0永久路由,这是网络瘫痪的根源:

route delete 0.0.0.0 mask 0.0.0.0 10.135.125.250

步骤2:添加外网默认路由

确保外网默认路由正常,优先级设为10:

route add 0.0.0.0 mask 0.0.0.0 192.168.100.1 metric 10

步骤3:添加覆盖全内网的静态路由

添加一条覆盖所有10.0.0.0/8网段的永久路由,优先级设为5,确保所有10开头的IP都走内网网关:

route -p add 10.0.0.0 mask 255.0.0.0 10.135.125.250 metric 5
  • -p表示永久路由,重启后依然有效。
  • metric 5比外网路由优先级更高,保证内网流量优先匹配。

五、验证配置是否生效

1. 查看路由表

执行route print,确认关键路由:

网络目标 网络掩码 网关 接口 跃点数
10.0.0.0 255.0.0.0 10.135.125.250 10.135.125.229 5
0.0.0.0 0.0.0.0 192.168.100.1 192.168.101.39 10

2. 测试内网SDP服务器

tracert命令追踪流量走向:

tracert 10.142.254.109

正常情况下,第一跳必须是10.135.125.250,说明流量已经正确走内网网卡。

3. 测试外网

ping www.baidu.com

确保外网访问正常,流量走无线网卡。


六、关键排坑总结

  1. 不要给两张网卡同时配置默认网关,这是冲突的根源。如果必须保留内网网关,就用静态路由来控制内网流量。
  2. 内网路由范围一定要覆盖所有需要访问的网段,比如SDP服务器不在当前网段时,要添加更大范围的路由(如10.0.0.0/8)。
  3. 不要添加错误的0.0.0.0/0永久路由,它会强制所有流量走内网,导致网络瘫痪。
  4. 跃点数的设置很重要,内网路由的优先级要高于外网路由,确保内网流量优先匹配。

七、一键配置脚本(管理员CMD执行)

:: 1. 删除错误的永久默认路由
route delete 0.0.0.0 mask 0.0.0.0 10.135.125.250

:: 2. 添加外网默认路由
route add 0.0.0.0 mask 0.0.0.0 192.168.100.1 metric 10

:: 3. 添加覆盖全内网的静态路由(永久生效)
route -p add 10.0.0.0 mask 255.0.0.0 10.135.125.250 metric 5

:: 4. 刷新DNS缓存
ipconfig /flushdns

八、最终效果

配置完成后,我的电脑实现了:

  • 同时访问互联网和内网服务器,不用来回切换网卡。
  • 内网网卡的静态IP和网关配置完全保留,符合实验室要求。
  • 路由表无冲突,网络稳定不丢包,重启后配置依然有效。

如果你也遇到了双网卡路由配置的问题,或者需要根据自己的网段调整路由命令,可以直接对照上面的步骤操作,或者在评论区留言交流~

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐