WSL 突然断网,无法 ping 内网或外网
WSL 中网络突然不可用时,内网地址和公网地址都可能 ping 不通,但 Windows 宿主机本身仍然可以正常联网。这类问题有时来自 WSL2 虚拟网络状态异常或 Windows Winsock 配置损坏,可以先关闭 WSL,再重置 Windows 的网络套接字配置。
解决方案
执行前先保存 WSL 中正在运行的工作,并关闭依赖 WSL 网络的服务。下面的命令需要在 Windows 的管理员身份 PowerShell 或命令提示符中执行,不要在 WSL Shell 中执行。
-
关闭所有 WSL 实例:
powershellwsl --shutdown -
重置 Windows Winsock 网络套接字目录:
powershellnetsh winsock resetwsl --shutdown用于停止 WSL2 虚拟机环境,真正重置 Windows Socket 配置的是netsh winsock reset。 -
如果命令提示需要重启计算机,请先重启 Windows。若没有要求重启,可以重新打开 WSL:
powershellwsl -
重新进入 WSL 后,分别测试内网地址和公网地址,确认网络是否恢复:
bashping -c 4 <内网地址> ping -c 4 8.8.8.8
重置完成后,WSL 的虚拟网络通常会恢复,内网和外网连接也可以重新使用。若仍然无法联网,再继续检查 DNS 配置、Windows 防火墙、VPN 或代理软件对 WSL 虚拟网卡的影响。