双网卡内外网同时访问
本文分享了Windows双网卡同时访问内外网的配置经验。作者通过解决实验室电脑的网络问题,总结出一套有效方案:保留内网静态IP和网关的同时,通过合理配置路由表实现内外网并行访问。关键步骤包括删除冲突的默认网关、设置外网默认路由(metric 10)、添加覆盖10.0.0.0/8的内网静态路由(metric 5),并提供了验证方法和一键配置脚本。文章特别强调了避免常见错误配置,如双默认网关冲突、内网
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 |
外网,访问互联网 |
核心痛点
- 必须保留内网网卡的静态IP和网关配置(实验室要求),不能删除网关。
- 两张网卡同时启用时,网络随机断开,内外网无法同时访问。
- 内网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路由表的匹配优先级遵循两个核心规则:
- 最长匹配原则:子网掩码越长、网段越具体的路由,优先级越高。
- 跃点数(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
确保外网访问正常,流量走无线网卡。
六、关键排坑总结
- 不要给两张网卡同时配置默认网关,这是冲突的根源。如果必须保留内网网关,就用静态路由来控制内网流量。
- 内网路由范围一定要覆盖所有需要访问的网段,比如SDP服务器不在当前网段时,要添加更大范围的路由(如
10.0.0.0/8)。 - 不要添加错误的
0.0.0.0/0永久路由,它会强制所有流量走内网,导致网络瘫痪。 - 跃点数的设置很重要,内网路由的优先级要高于外网路由,确保内网流量优先匹配。
七、一键配置脚本(管理员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和网关配置完全保留,符合实验室要求。
- 路由表无冲突,网络稳定不丢包,重启后配置依然有效。
如果你也遇到了双网卡路由配置的问题,或者需要根据自己的网段调整路由命令,可以直接对照上面的步骤操作,或者在评论区留言交流~
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)