公司路由问题排查
问题总结
-
现象:电脑插着网线,连接交换机和多台
192.168.1.x/192.168.253.x的设备,但无法访问公司内网的10.101.0.104。 -
根本原因: Windows 同时启用了**有线网卡**和**无线网卡**,系统中存在多条通往
10.101.0.0网段的**错误静态路由**,它们将流量错误地导向了有线网关(192.168.1.1、192.168.0.1等),而这些网关根本不知道如何到达10.101.0.104。真正能到达目标的是无线网关10.105.8.1,但对应的路由优先级较低,未被使用。
排查过程
1. 分析 ipconfig 输出
执行 ipconfig 后,发现关键配置:
-
有线网卡(以太网):配置了多个
192.168.x.233的 IP ,默认网关为192.168.1.1。 -
无线网卡(WLAN): IP 为
10.105.8.62,掩码/22,默认网关为10.105.8.1,且该网关明显属于一个可以路由到10.101.0.0的网络环境。
初步判断为:系统同时拥有两个默认网关,有线网关优先级更高,导致去往 10.101.0.104 的数据包被错误发送。
2. 检查路由表
执行 route print -4 | findstr "10.101.0.0",发现多达 8 条指向 10.101.0.0/24 的路由,跃点数(Metric)低的有多条错误的:
10.101.0.0 255.255.255.0 192.168.1.1 192.166.0.233 36
10.101.0.0 255.255.255.0 192.168.0.1 192.166.0.233 36
10.101.0.0 255.255.255.0 10.105.8.1 192.166.0.233 36
10.101.0.0 255.255.255.0 10.105.8.1 10.105.8.62 51只有最后一条(10.105.8.1 网关,接口 10.105.8.62,跃点数 51)才是正确的,但前面几条跃点数更低(36),且网关指向有线网络,导致流量被它们“抢走”。
3. 追踪路由验证
tracert 10.101.0.104 显示第一跳就全部超时,证实数据包根本没有发到正确的下一跳。
解决方案
目标
-
清除所有错误的静态路由。
-
添加一条**唯一、高优先级、强制走无线网卡**的正确路由,同时不影响无线网卡原有的上网功能。
操作步骤
1. 删除所有旧路由(管理员 CMD/PowerShell):
route delete 10.101.0.0该命令会一次性清除所有目标为 10.101.0.0/24 的路由条目。
2. 查看无线网卡索引:
netsh interface ipv4 show interfaces找到名称为 WLAN、IP 为 10.105.8.62 的接口,记录其 Idx 值(本例中为 13)。
3. 添加正确且持久的静态路由:
route add -p 10.101.0.0 mask 255.255.255.0 10.105.8.1 metric 5 if 13
- -p:永久生效,重启不丢失。
- metric 5:设置极低跃点数,确保优先级最高。
- if 13:强制数据包从无线网卡发出。
4. 验证:
route print -4 | findstr "10.101.0.0"
tracert 10.101.0.104现在应只有一条到 10.101.0.0 的路由,tracert 第一跳为 10.105.8.1,并最终到达目标。
为什么无线网卡原有上网功能不受影响?
-
静态路由仅针对**目标网段
10.101.0.0/24** 进行定向。 -
其余所有流量(包括访问互联网、其他内网资源)仍按系统原有的默认路由转发,即继续使用无线网卡默认网关
10.105.8.1,因此上网、访问其他系统完全正常。
技术原理总结
-
Windows 在多网卡环境下,路由选择基于**最长前缀匹配**和**跃点数**。当有多条路由匹配同一目标时,跃点数最小的那条会被优先使用。
-
用户环境中提前存在的静态路由可能是某些应用(如 VPN、虚拟机软件、或手动调试)添加的,因指向了无效网关导致问题。
-
解决思路就是:移除冲突路由,明确指定正确的下一跳和出接口。
如果将来再次出现类似“内网某个网段不通”的情况,可以使用 route print 和 tracert 快速定位路由冲突点,然后按需增删静态路由即可。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!







