Windows 更新 KB5072033 后恢复 WSL VPN 连接

如果您的开发工作流在本月突然停滞,您并不是唯一一个遇到这种情况的人。大量依赖 Windows Subsystem for Linux (WSL) 的开发者报告称,在连接到企业 VPN 时网络访问完全丢失。问题根源已被确认为近期 Windows 更新中的冲突,具体涉及 WSL VPN connectivity 与现代 Mirrored Networking 模式之间的交互。
这个问题不是模糊的“减速”,而是硬性停止。尝试通过 WSL 2 连接内部资源的用户会遇到“No route to host”错误,从而切断了 Linux 子系统与公司网络之间的链接。该问题直接源于 Windows Update KB5072033(以及更早的预览版 KB5067036),该更新在虚拟网络接口处理地址解析的方式上引入了回归。
WSL VPN 连接性的实用修复方法

在深入探讨更新失败的架构原因之前,我们需要解决当务之急:让您的环境重新上线。受影响的工程师社区已确定了具体的 可验证方法来绕过 Windows Update KB5072033 的 bug。
这些解决方案包括配置更改和手动网络覆盖。
解决方案 1:恢复到 NAT 网络模式
最可靠的修复方法是禁用“Mirrored”网络模式。Mirrored 模式是为了提高兼容性而引入的,但它正是当前更新下出现问题的特定功能。恢复到较旧的 Network Address Translation (NAT) 架构可以恢复基本的 WSL VPN connectivity,尽管会损失一些新功能,如 IPv6 支持或无缝 LAN 访问。
操作步骤:
关闭所有正在运行的 WSL 终端。
打开您的特定 .wslconfig 文件。该文件通常位于您的 Windows 用户配置文件目录中(C:\Users\%USERNAME%\.wslconfig)。
如果文件不存在,请使用标准文本编辑器创建它。
找到标有 [wsl2] 的部分。
找到 networkingMode=mirrored 这一行。
将此值更改为 networkingMode=nat。如果该行不存在,请确保默认行为未在其他位置被覆盖,或明确将其设置为 NAT。
保存文件。
以管理员身份打开 PowerShell 并运行 wsl --shutdown 以强制重启子系统。
重新启动 Linux 发行版后,流量将通过主机的 NAT 而非直接镜像主机接口进行路由。这绕过了导致中断的 ARP 故障。
解决方案 2:ARP 静态条目变通方法
如果您的工作流严格要求 Mirrored Networking(可能出于特定的 IPv6 要求或多播支持),则切换到 NAT 不是选项。在这种情况下,用户已验证了一种涉及 Address Resolution Protocol (ARP) 的手动修复方法。
Windows Update KB5072033 中的核心问题是虚拟接口停止响应 ARP 请求,这意味着系统无法将 IP 地址映射到 MAC 地址。您可以使用 Cisco Secure Client 或 OpenVPN 接口手动桥接此差距。
技术步骤:
您必须识别接口索引并手动路由流量。这通常涉及编写在启动或连接时运行的修复脚本:
在 Windows 主机上识别 VPN 接口的 MAC 地址。
在 WSL 内部,强制创建一个将网关 IP 映射到该特定 MAC 地址的 ARP 条目。
此方法比切换到 NAT 更脆弱。它需要在 VPN 会话重新连接时重新应用,因此仅适合能够通过脚本自动执行该过程的高级用户。
解决方案 3:“核选项”(WSL 1)
一小部分用户因 WSL 2 中反复出现的稳定性问题而选择将其实例降级到 WSL 1。WSL 1 使用不同的翻译层,不以相同方式依赖 Hyper-V 网络堆栈。
要将发行版(例如 Ubuntu)转换为版本 1:wsl --set-version Ubuntu 1
警告: 这是一次大幅降级。您将失去实际的 Linux 内核,Docker 性能会显著下降,文件系统性能也会发生变化。但是,对于简单的 SSH 隧道或文本编辑,它完全避开了 WSL VPN connectivity 故障。
技术分析:为什么 KB5072033 会破坏网络

要理解为什么会出现此中断,我们必须查看 Windows Update KB5072033 对 Hyper-V 网络堆栈所做的更改。
Mirrored Networking 的失败
Mirrored Networking 是 2023 年底添加的一项旗舰功能。它承诺协调 Windows 和 Linux 之间的网络体验。在此模式下,WSL 2 会看到与 Windows 完全相同的网络接口。如果 Windows 连接到 VPN,则 WSL 也连接到该 VPN。
最近的更新引入了一个 bug,即 VPN 客户端的虚拟适配器无法确认来自 WSL 环境的 ARP 请求。当 WSL 尝试向公司服务器发送数据包时,它会询问:“谁拥有此 IP?” Windows 主机接口因该 bug 而失明,保持沉默。结果就是 No route to host 错误。路由在理论上存在,但本地化的物理地址解析已失效。
受影响的软件堆栈
这不是普遍性故障。它专门针对第三方企业 VPN 客户端。已验证的报告表明,该问题在以下情况下最为普遍:
Cisco Secure Client (AnyConnect)
OpenVPN
DirectAccess
在没有复杂隧道的情况下运行标准 Wi-Fi 或以太网连接的家庭用户通常不会触发该 bug。WSL VPN connectivity 的代码路径足够独特,因此标准网页浏览不受影响。
Microsoft 对连接危机的回应

Microsoft 已正式承认该问题。该公司确认,2024 年底发布的更新,从 10 月非安全预览版 (KB5067036) 开始,并在 11 月 Patch Tuesday (KB5072033) 中得到巩固,是根本原因。
企业立场
Microsoft 的咨询说明指出,该问题可能看起来有限,因为它“仅”影响企业场景。然而,这种措辞已招致批评。对于 WSL 这样主要由企业开发者使用的工具而言,“企业场景”是主要用例。暗示家庭用户不受影响并不能减轻目标人群的严重性。
目前,Windows Update 尚未部署自动补丁来恢复此行为。工程团队正在调查 ARP 请求失败问题,但在推送新的累积更新之前,上面列出的手动修复步骤是唯一的解决途径。
监控官方补丁
等待原生修复的用户应监控 Windows Release Health Dashboard。该修复很可能出现在未来的累积更新中,或针对 WSL 内核的带外补丁中,后者通常通过 Microsoft Store 独立于核心 OS 更新进行更新。
对 WSL 开发的长期影响

WSL VPN connectivity 问题的反复出现凸显了当前 WSL 2 架构的脆弱性。网络一直是该子系统中最难稳定的组件。
企业 QA 差距
像 Cisco AnyConnect 这样的大型企业客户端变得不兼容这一事实表明,这些特定更新的质量保证 (QA) 管道存在差距。对于依赖 WSL 进行 Docker 容器、后端开发和服务器管理的组织而言,稳定性比新功能更有价值。
此事件强化了开发团队延迟 Windows 更新的趋势。许多用户报告称专门暂停更新,以避免“Patch Tuesday 彩票”,其中 Windows Update KB5072033 或类似版本会在一夜之间破坏他们的开发环境。
Mirrored Mode:仍是 Beta 版?
虽然 Mirrored Mode 已正式发布,但此事件迫使人们重新评估其在任务关键型生产环境中的就绪程度。在 ARP 处理逻辑针对 OS 级更新进行强化之前,网络管理员可能会建议坚持使用传统 NAT 模式,尽管它有局限性。它提供的体验不够无缝,但能保证数据包确实能流动。
FAQ:WSL VPN 连接性故障排除

问:哪些特定的 Windows 更新导致了 WSL VPN 连接性故障?
答:问题始于 2024 年 10 月的可选更新 KB5067036,并在 2024 年 11 月的强制安全更新 KB5072033 中变得普遍。
问:为什么我的 WSL 在 Wi-Fi 上运行正常,但在开启 Cisco AnyConnect 时却失败?
答:该 bug 专门阻止 ARP 请求在 Mirrored Networking 模式下的虚拟 VPN 适配器上解析。您的物理 Wi-Fi 适配器以不同方式处理这些请求,从而绕过了有问题的代码路径。
问:卸载 KB5072033 是否能解决问题?
答:是的,回滚更新可以恢复功能。但是,不建议这样做,因为这会移除关键的安全补丁。在 .wslconfig 中使用 NAT 变通方法是更安全的替代方案。
问:此问题是否影响 WSL 1?
答:不。WSL 1 使用不同的网络架构,直接共享 Windows IP 堆栈而不依赖 Hyper-V 虚拟交换机。它不受此特定 WSL VPN connectivity bug 的影响。
问:Microsoft 何时会发布永久性修复?
答:Microsoft 正在调查,但尚未确认发布日期。您应检查 Microsoft Store 中“Windows Subsystem for Linux”应用的更新,或等待下一次累积 Windows 更新。



