Shadowrocket TUN模式是什么?iOS VPN接管、分流与排查指南
简答:Shadowrocket 的 TUN 模式可以理解为:客户端借助 iOS 的系统 VPN/Network Extension 接口建立虚拟网络通道,再按照配置和规则决定流量走代理还是直连。iPhone、iPad 上通常不需要寻找一个单独叫“TUN”的开关,重点是允许 VPN 配置、连接状态和 Global Routing 路由模式;开启后仍可能受规则、DNS、IPv6、UDP 支持和节点能力影响。
定义:TUN 模式是一种在 IP 层接管设备网络流量的方式,应用把流量交给虚拟网络接口,再依据路由规则转发到代理或直接访问。
先判断:你要找的可能不是“TUN开关”
本文适用于 iPhone 和 iPad 上的 Shadowrocket,具体菜单名称和位置可能随客户端版本、系统语言及界面调整而变化。本站是第三方使用指南站,不是该客户端或任何节点服务的官方网站。
先试这一步:打开 Shadowrocket,确认已经导入配置或节点;在首页开启连接开关;首次使用时允许添加 VPN 配置;随后观察系统是否出现 VPN 状态,并用一个实际应用或网页验证结果。公开说明显示,iOS 版本通过 iOS/iPadOS Network Extension 建立系统 VPN 通道,而不是依靠普通 Wi-Fi 代理设置。
| 现象 | 先查层级 | 判断标准 | 下一步 | 回滚方式 |
|---|---|---|---|---|
| 开关无法连接 | VPN 权限与配置 | 系统允许添加 VPN,客户端状态变为已连接 | 重新允许 VPN 配置,再检查节点 | 关闭连接开关,删除不用的 VPN 配置 |
| 只有部分 App 不通 | 规则、DNS、协议 | 浏览器可用但目标 App 失败 | 切换 Config、Proxy、Direct 做对照 | 恢复原路由模式和原配置 |
| 所有应用都不通 | 节点、端口、网络出口 | 连接状态与实际请求都失败 | 更换节点或网络,再做单变量测试 | 断开 VPN,恢复直连网络 |
VPN 图标或“已连接”只能证明系统隧道处于某种连接状态,不能单独证明所有目标应用都已经按预期走代理。
TUN、VPN、全局路由和普通代理有什么区别
| 概念 | 作用 | 是否决定走哪个节点 | 常见限制 |
|---|---|---|---|
| TUN | 通过虚拟网络接口在 IP 层接管或转发流量 | 通常不直接决定节点 | 仍受路由规则、协议和代理能力影响 |
| 系统 VPN | iOS 提供给网络扩展使用的系统级隧道入口 | 不一定决定具体代理节点 | 需要用户授权,系统可能保留特定例外流量 |
| 普通系统代理 | 由支持代理设置的应用主动使用 HTTP、HTTPS 或 SOCKS 代理 | 通常由代理地址和端口决定 | 不遵循系统代理的应用可能不受影响 |
| Global Routing | 决定进入客户端隧道后的请求按配置、代理还是直连处理 | 可能间接决定 | 不是节点列表,也不是连接开关 |
Apple 对 Packet Tunnel Provider 的定义是:系统启动 VPN 配置后,扩展接收并转发数据包;其网络设置对应一个虚拟接口。Shadowrocket 的公开功能说明也将 iOS/iPadOS 连接描述为系统 VPN 隧道,并将 Config、Proxy、Direct 视为不同的全局路由处理方式。可参考 Apple 的 Packet Tunnel Provider 文档 与 Shadowrocket 功能说明页。
因此,“开启 TUN”不等于“所有流量必然代理”,也不等于“所有应用都支持同一种协议”。它更接近于让客户端获得一个系统级的流量接入位置,之后还要由规则、DNS、代理协议和节点能力共同决定实际路径。
Shadowrocket iOS 是否需要单独开启 TUN模式
在 iPhone 和 iPad 上,通常不应先寻找一个独立的“TUN Mode”按钮。更实际的判断方法是看三件事:VPN 配置是否已获授权、客户端连接开关是否开启、Global Routing 是否选择了预期模式。
- 打开 Shadowrocket,确认已有可用配置或节点。
- 点击首页连接开关。第一次连接时,按 iOS 弹窗允许添加 VPN 配置。
- 回到系统的 VPN 设置或状态区域,确认对应 VPN 配置处于连接状态。
- 在 Global Routing 中选择合适模式:Config 用于按规则分流,Proxy 用于尽量让请求走代理,Direct 用于直连测试。实际名称以当前客户端界面为准。
- 先用一个普通网页或应用发起请求,再测试需要特定协议的应用,不要只凭 VPN 图标判断。
Apple 的 Network Extension 文档说明,VPN 配置可以按目标 IP 路由,也可以在受管设备场景中按来源应用路由;这说明“系统 VPN 隧道”和“全局路由策略”是不同层级。普通用户在 Shadowrocket 中看到的路由选项,不能简单等同于企业设备的 Per-App VPN。
哪些场景更适合使用 TUN式系统接管
- 应用不读取系统代理:如果某个应用不使用 iOS 的普通代理设置,系统 VPN 接口可能比单纯填写 Wi-Fi 代理更适合进行流量接入,但是否生效仍要以实际请求验证。
- 需要按规则分流:Config 模式适合把不同域名、地址或请求分别交给代理和直连,前提是配置文件本身有效。
- 需要处理非浏览器流量:部分应用不属于典型网页访问,可能涉及不同的连接方式;TUN 只能提供流量接入能力,不能替代理协议本身对 TCP、UDP 或其他流量的支持。
- 需要临时定位问题:可以在 Config、Proxy、Direct 之间做单变量切换,比较是规则问题还是节点、网络问题。
不适合直接把 TUN 当成“加速保证”。实际延迟、丢包、连接成功率和应用兼容性还会受本地网络、节点出口、DNS 解析、IPv6 路径、规则命中和协议支持影响。页面没有对具体线路、服务状态或测速结果作出保证。
开启后无法联网或部分 App 异常:按顺序排查
- 先恢复直连对照。关闭 Shadowrocket 连接开关,确认手机本身可以正常访问网络。如果直连也失败,先处理 Wi-Fi、蜂窝网络或系统网络问题。
- 确认 VPN 权限。检查系统 VPN 配置是否仍存在、是否被其他 VPN 客户端占用。必要时关闭其他 VPN,再重新连接。
- 切换 Global Routing。先用 Direct 做基线,再切换 Proxy,最后回到 Config。若 Proxy 能用而 Config 不能用,优先检查规则或配置文件。
- 检查节点和端口。不要公开完整订阅链接、令牌或私钥。只核对节点是否过期、地址和端口是否完整;无法确认时重新获取脱敏后的配置或重置凭据。
- 检查 DNS 结果。如果网页能打开但某些域名失败,可能是解析路径、规则或 IPv6 结果差异。可暂时关闭自定义 DNS 或切换回配置默认值做对照,改动前记录原设置。
- 检查 UDP 与应用协议。如果浏览器正常、实时通信或特定应用失败,不要直接判断 TUN 失效;先确认配置、节点和代理协议是否支持目标流量类型。
- 最后做网络切换。在 Wi-Fi 与蜂窝数据之间切换,保持节点、路由模式和其他设置不变。若只有一种网络失败,继续查本地网络、DNS 或运营商路径。
成功判据:至少要同时满足 VPN 连接状态正常、目标应用完成实际请求、分流结果符合预期。一次网页打开或一次 DNS 响应只能证明局部链路,不足以证明所有应用和协议都已正常。
使用 TUN 模式前的隐私、耗电与回滚提醒
- 系统 VPN 隧道可能让更多流量经过客户端配置的处理路径,使用前应确认配置来源可信,不要把完整订阅、令牌、密码或私钥发给他人。
- 分流规则越复杂,越需要关注 DNS、IPv6 和应用自身的网络策略;出现异常时优先恢复到已知可用配置。
- 持续连接、频繁重连和大量流量转发可能增加耗电或流量消耗,具体影响取决于设备、网络和使用时长,不能仅凭“已连接”推断。
- 回滚时依次关闭客户端连接、恢复原来的系统网络设置,并删除不再使用的 VPN 配置;不要同时保留多个不明来源的 VPN 配置。
如果你只是想让支持系统代理的浏览器临时走代理,可以先用普通路由或配置模式做对照;如果目标应用不读取系统代理,再考虑使用系统 VPN 接管方式,并通过实际应用请求验证。
结论:怎样判断自己是否真的需要 TUN
如果你的问题是“Shadowrocket TUN模式是什么”,最简短的答案是:它是借助 iOS 系统 VPN/Network Extension 在 IP 层接入网络流量的机制;在 iOS 端通常重点操作 VPN 授权、连接开关和 Global Routing,而不是寻找一个固定名称的 TUN 独立开关。
如果只是网页分流,先检查 Config 和规则;如果某个应用完全不遵循普通代理,再测试系统 VPN 接管;如果开启后所有应用都异常,先回滚到 Direct,再按 VPN 权限、节点、路由、DNS 和网络环境逐层排查。
本文不提供具体节点、订阅、价格或线路状态,相关服务信息应以对应服务的当前公开页面为准。
常见问题
Shadowrocket 的 TUN 模式是不是全局代理?
不是。TUN 更接近系统级网络流量接入方式;是否全局代理还要看 Global Routing、规则、直连条件以及代理协议能力。Config、Proxy、Direct 是路由处理方式,不等同于 TUN 本身。
iPhone 上找不到 TUN 开关怎么办?
先不要把它当成故障。iOS 端通常需要关注 Shadowrocket 的连接开关、VPN 配置授权和 Global Routing。菜单名称会随客户端版本和系统界面变化,应以当前设备显示为准。
开启 TUN 后为什么只有部分 App 无法联网?
常见排查顺序是规则命中、DNS 解析、IPv6 路径、目标协议支持和节点能力。先切换到 Direct 或 Proxy 做对照,再恢复 Config;不要只凭 VPN 图标判断。
TUN 模式会不会让所有流量都走代理?
不一定。系统隧道只说明流量具备进入 VPN 接口的路径,最终还要由路由规则、直连条件和客户端配置决定。部分系统服务或应用也可能存在例外路径。
Shadowrocket TUN 模式连接失败如何快速回滚?
关闭 Shadowrocket 连接开关,恢复系统原有网络设置,确认直连可用;然后检查 VPN 权限、节点和路由模式。不要公开完整订阅链接、令牌或私钥。
相关阅读
参考资料
- Apple Developer:Packet Tunnel Provider
- Apple Developer:NETunnelProviderManager
- Shadowrocket 功能与系统 VPN 说明(shadowrocket1.com)