☰
【踩坑记录】同一个 WiFi 下,A 电脑能访问 192.168.0.115,B 电脑死活不行 ——Windows 路由表缺失引发的故障排查
2026/10/1 15:43:30 网站建设 项目流程

公司内网,两台 Windows 办公电脑连着同一个 WiFi,要访问一台虚拟机上的开发服务:

http://192.168.0.115:5173/

A 一切正常,B 连 ping 都 ping 不通。两台机器 IP 看着也在同一网段,一开始是真没想明白。

两台机器的环境:

电脑 A电脑 B
IPv4192.168.1.16192.168.0.104
掩码255.255.254.0(/23)255.255.254.0(/23)
网关192.168.1.1192.168.1.1

目标虚拟机:192.168.0.115(服务器内VMware 虚拟网卡,MAC 00-0c-29-2b-44-a3),5173 端口,Vite 开发服务。

255.255.254.0 就是 /23,网段 192.168.0.0/23,范围 192.168.0.1 ~ 192.168.1.254。A 和 B 都在这个段里,理论上二层直接就能通,根本不用走网关。结果 B 就是不通,只能查了。

现象:包被交到了网关手里

B 上 ping 192.168.0.115

,不通。tracert 一下,问题就露出来了:

1 3 ms 4 ms 4 ms 192.168.1.1 2 218.18.4.119 reports: Destination host unreachable.

B 把包交给了网关 192.168.1.1,网关又把它转给了公网 IP(218.18.4.119,电信的),最后报不可达。

再看 A 的 tracert:

1 11 ms 3 ms 4 ms 192.168.0.115

第一跳直接就是目标。说明 A 和目标在同一个二层网络,直接 ARP 通信,压根没经过网关。

根因:B 的 WLAN 网卡没有 On-link 路由

对比两台机器的 route print -4。A 关键一行:

网络目标 网络掩码 网关 接口 跃点数 192.168.0.0 255.255.254.0 在链路上 192.168.1.16 286

B 呢?翻了一遍,只有默认路由和 127 开头的回环路由,WLAN 网卡一条 On-link(在链路上)都没有,连 192.168.0.0/23 都找不到。

Windows 配好 IP 后,会自动给所在子网加一条 On-link 路由,告诉系统:这个网段内的地址直接二层通信,别发给网关。B 这条路由没生成(网络栈异常、DHCP 路由没装上,具体什么原因说不准),于是访问 192.168.0.115 时找不到更具体的匹配,只能走默认路由 0.0.0.0/0,把包丢给网关。网关只在 192.168.1.0/24 有接口,192.168.0.0/24 对它来说是另一个网络,没有回程路由,就把包转去了公网,自然失败。

A 有 On-link 路由,直接 ARP 到目标,一切正常。差距就这么来的。

解决:重置 WLAN 接口,路由就回来了

管理员 CMD 里执行:

netsh interface set interface "WLAN" admin=disable netsh interface set interface "WLAN" admin=enable

等几秒,再:

ipconfig /renew route print -4

这次 192.168.0.0/23 的 On-link 路由出现了:

192.168.0.0 255.255.254.0 On-link 192.168.0.104 286 192.168.0.104 255.255.255.255 On-link 192.168.0.104 286 192.168.1.255 255.255.255.255 On-link 192.168.0.104 286

再测:ping 通,tracert 第一跳直达 192.168.0.115,Test-NetConnection 192.168.0.115 -Port 5173 返回 TcpTestSucceeded: True。网络层解决。

如果重置无效,手动补一条:

route add 192.168.0.0 mask 255.255.254.0 192.168.0.104 if 8 -p

if 8 是 WLAN 接口索引,从 route print 的接口列表里查。

再不行就重置 TCP/IP 栈,重启电脑:

netsh int ip reset netsh winsock reset

几个避坑点

  • 同一 WiFi ≠ 同一二层网络。IP 同段也可能因为 AP 隔离、VLAN、路由表问题不通。
  • Windows 的 On-link 路由缺了很致命:同网段流量会被错误地丢给网关。
  • 对比正常和故障机器的 route print -4,是定位这类问题最快的手段。
  • ping 不通不代表 TCP 不通,Windows 防火墙默认拦 ICMP,测端口用 Test-NetConnection。

命令速查

:: 查看 IP 和路由 ipconfig /all route print -4 :: 连通性 ping 192.168.0.115 tracert -d 192.168.0.115 arp -a | findstr 192.168.0.115 :: 测端口 powershell Test-NetConnection 192.168.0.115 -Port 5173 :: 重置 WLAN 接口 netsh interface set interface "WLAN" admin=disable netsh interface set interface "WLAN" admin=enable ipconfig /renew :: 手动加 On-link 路由 route add 192.168.0.0 mask 255.255.254.0 192.168.0.104 if 8 -p :: 绕代理测试 curl --noproxy "*" -v http://192.168.0.115:5173/ :: 查系统代理 netsh winhttp show proxy reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | findstr /i proxy

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询