强制所有 App 流量进入隧道

Lobsters Hottest 产品

摘要

Mullvad VPN 的 iOS 版新增“强制所有 App”开关,通过启用 includeAllNetworks 阻止一切流量泄漏,并接受可能导致更新失败的苹果系统缺陷。

<p><a href="https://lobste.rs/s/2jqoor/force_all_app_traffic_into_tunnel">评论</a></p>
查看原文 导出为 Word 导出为 PDF
查看缓存全文

缓存时间: 2026/04/21 17:07

# 强制所有 App 流量进入隧道 来源:https://mullvad.net/en/blog/force-all-app-traffic-into-the-tunnel 一年前,我们曾撰文(https://mullvad.net/blog/why-we-still-dont-use-includeallnetworks)说明 Apple 网络栈的 bug 导致 iOS 版应用无法达到理想的安全性。这些 bug 至今仍在,但我们已设法让应用变得更安全。 ### 问题所在 由于 Apple NetworkExtension 框架的复杂性,我们的 VPN 应用在 iOS 上始终存在特定场景下的流量泄漏。虽然已知修复方案,却伴随显著副作用——最严重的是它会破坏应用更新流程,使用户陷入“更新死循环”: - AppStore 判断需要更新我们的应用 - iOS 在更新过程中“砖化”网络栈 - 用户重启手机 - 手机恢复联网 - AppStore 再次判断需要更新我们的应用 - iOS 再次在更新时“砖化”网络栈 ### 临时方案 我们决定不再等待,优先为用户提供尽可能高的隐私与安全,即使这意味着牺牲部分体验。 随着越来越多用户亲身遭遇这些限制,问题被上游修复的可能性也会提高。 因此,我们即将发布新版 iOS 应用,其中包含“*强制所有应用*”功能。开启后,底层会将 *includeAllNetworks* 配置设为 true。我们已尽量让用户在不过度繁琐的前提下,明确知晓并主动启用该功能。手机仍可能陷入更新死循环,但现在用户会在自动更新前收到新版本可用通知。 ### 更新应用 为避免陷入更新死循环,你必须采用以下任一方式: - **更新时断开 VPN**。更新后应用不会自动重连,但“*强制所有应用*”依旧保持开启。 - **更新时关闭“强制所有应用”**。更新后应用会自动重连,但“*强制所有应用*”需手动重新开启。 两种情况下,更新期间流量都会泄漏——我们目前找不到规避办法。 我们预估仅有少数启用该功能的用户会遇到网络栈损坏,对此我们也无能为力。若你受到影响,我们唯一能做的就是鼓励你把痛苦经历整理成反馈报告,提交给 Apple。 至于另一个 bug:启用 *includeAllNetworks* 后,我们的隧道进程无法将套接字绑定到隧道设备——该问题依旧存在。因此,我们继续使用用户空间网络作为临时 workaround。

相似文章

GrapheneOS 修复了 Google 拒绝修补的 Android VPN 泄漏漏洞

Hacker News Top

GrapheneOS 发布了一项更新,修复了 Android 16 原生系统中一个被 Google 拒绝修补的严重 VPN 泄漏漏洞。该修复措施禁用了一项 QUIC 连接优化功能,此前该功能允许应用绕过 VPN 保护并暴露真实 IP 地址。

欧盟将VPN称为年龄验证推进中"需要堵上的漏洞"

Hacker News Top

欧洲议会研究服务机构(EPRS)在网络年龄验证法的背景下,将VPN标记为"需要堵上的漏洞",并对儿童绕过地区内容限制表示担忧。这一举措引发了隐私倡导者和VPN服务商的强烈反对,凸显了儿童安全监管与数字隐私权之间的紧张关系。

masterking32/MasterDnsVPN

GitHub Trending (daily)

MasterDnsVPN 是一个开源的科学/研究项目,通过 DNS 查询和响应来隧道传输 TCP 流量,与 DNSTT 和 SlipStream 等同类工具相比,提供了多路径路由、ARQ 可靠性传输以及低协议开销等高级特性。