top of page

Windows 更新 KB5072033 后恢复 WSL VPN 连接

6月6日
讀畢需時 6 分鐘
Restoring WSL VPN Connectivity After Windows Update KB5072033

如果您的开发工作流在本月突然停滞,您并不是唯一一个遇到这种情况的人。大量依赖 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 连接性的实用修复方法

Practical Fixes for WSL VPN Connectivity

在深入探讨更新失败的架构原因之前,我们需要解决当务之急:让您的环境重新上线。受影响的工程师社区已确定了具体的 可验证方法来绕过 Windows Update KB5072033 的 bug。

这些解决方案包括配置更改和手动网络覆盖。

解决方案 1:恢复到 NAT 网络模式

最可靠的修复方法是禁用“Mirrored”网络模式。Mirrored 模式是为了提高兼容性而引入的,但它正是当前更新下出现问题的特定功能。恢复到较旧的 Network Address Translation (NAT) 架构可以恢复基本的 WSL VPN connectivity,尽管会损失一些新功能,如 IPv6 支持或无缝 LAN 访问。

操作步骤:

  1. 关闭所有正在运行的 WSL 终端。

  2. 打开您的特定 .wslconfig 文件。该文件通常位于您的 Windows 用户配置文件目录中(C:\Users\%USERNAME%\.wslconfig)。

  3. 如果文件不存在,请使用标准文本编辑器创建它。

  4. 找到标有 [wsl2] 的部分。

  5. 找到 networkingMode=mirrored 这一行。

  6. 将此值更改为 networkingMode=nat。如果该行不存在,请确保默认行为未在其他位置被覆盖,或明确将其设置为 NAT。

  7. 保存文件。

  8. 以管理员身份打开 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 接口手动桥接此差距。

技术步骤:

您必须识别接口索引并手动路由流量。这通常涉及编写在启动或连接时运行的修复脚本:

  1. 在 Windows 主机上识别 VPN 接口的 MAC 地址。

  2. 在 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 会破坏网络

Technical Analysis: Why KB5072033 Breaks Networking

要理解为什么会出现此中断,我们必须查看 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’s Response to the Connectivity Crisis

Microsoft 已正式承认该问题。该公司确认,2024 年底发布的更新,从 10 月非安全预览版 (KB5067036) 开始,并在 11 月 Patch Tuesday (KB5072033) 中得到巩固,是根本原因。

企业立场

Microsoft 的咨询说明指出,该问题可能看起来有限,因为它“仅”影响企业场景。然而,这种措辞已招致批评。对于 WSL 这样主要由企业开发者使用的工具而言,“企业场景”是主要用例。暗示家庭用户不受影响并不能减轻目标人群的严重性。

目前,Windows Update 尚未部署自动补丁来恢复此行为。工程团队正在调查 ARP 请求失败问题,但在推送新的累积更新之前,上面列出的手动修复步骤是唯一的解决途径。

监控官方补丁

等待原生修复的用户应监控 Windows Release Health Dashboard。该修复很可能出现在未来的累积更新中,或针对 WSL 内核的带外补丁中,后者通常通过 Microsoft Store 独立于核心 OS 更新进行更新。

对 WSL 开发的长期影响

The Long-Term Impact on WSL Development

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 连接性故障排除

FAQ: WSL VPN Connectivity Troubleshooting

问:哪些特定的 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 更新。

 
 

免费开始使用

一款本地优先的AI助手

为了获得更好的人工智能体验,

remio 目前仅支持Windows 10+ (x64)和M-Chip Mac 。

你的 AI 工作伙伴

和 remio 一起高效工作

规划、创作、交付

一站式完成

bottom of page