On Demand 管连接何时建立,Global Routing 管连接建立后如何处理流量。本文适合已在 Shadowrocket(小火箭)中配置好自有服务器的用户:先验证手动连接,再配置 Wi-Fi、蜂窝网络与域名条件,最后用网络切换逐项验收,避免把自动重连、规则分流和服务器故障混为一谈。
一、先分清 On Demand 与规则分流
On Demand 使用 Apple 系统的按需 VPN 机制,在符合条件时请求建立或断开连接。它不是定时任务,也不是检测到网页打不开就自动更换服务器。进入 Settings → On Demand 查看按需连接设置;具体可选条件与字段,以设备当前显示的界面为准。
连接建立之后,流量走向仍由 Home → Global Routing 和当前配置决定。例如,连接已开启而 Global Routing 为 Direct,并不意味着请求会经过所选代理服务器;同样,在 Config 中写入域名规则,也不等于已经给系统注册了域名按需触发条件。
Config
推荐使用当前配置中的规则决定流量策略。On Demand 建立连接后,仍按规则顺序检查请求,命中后的处理可以是 DIRECT、PROXY 或 REJECT。
适合:已有明确分流需求,并且已核对当前配置的日常使用。
Proxy
将可由客户端处理的流量按代理姿态处理,不以当前配置的普通分流规则逐条决定去向。它改变的是流量策略,不是 On Demand 的触发条件。
适合:短时排查当前问题是否由分流规则引起。
Direct
采用直连姿态。即使按需机制建立了 VPN 连接,也不能据此认定请求正在通过远端服务器。
适合:确认本地网络直连是否正常,建立排查基线。
Scene
按已设置的场景选择对应处理方式。场景设置与按需连接条件需要分别检查,不能只看 Scene 名称推断当前流量走向。
适合:已经建立并验证场景配置的用户。
先验证手动连接,再启用自动触发
测试时固定一个已有服务器和一种 Global Routing 姿态。手动连接仍不能访问目标资源时,先修正服务器或规则,不要叠加 On Demand 条件。
二、开启前的准备与操作顺序
本文以用户已有自己的服务商与订阅为前提。先在 Home 确认目标服务器已经导入,地址、端口、认证参数与已有服务提供的信息一致。如果导入后尚未测试,先完成手动连接与访问验证;订阅更新成功只表示取得配置内容,不表示每个服务器都能正常连接。
-
验证连接
进入 Home,选择一个已知可用的服务器,手动开启连接。首次出现系统 VPN 配置授权提示时,核对应用名称后按系统提示完成授权。
-
固定姿态
进入 Home → Global Routing,选择准备实际使用的姿态。使用 Config 时,先到 Config 确认当前选中的配置文件及其规则。
-
进入按需
打开 Settings → On Demand。记录原有设置,再启用按需连接;先只配置一种网络条件,不要同时更改 Wi-Fi、蜂窝网络与域名条件。
-
保存并切换
按当前界面完成保存或返回操作,再实际切换到目标网络。回到 Home 检查连接状态,并访问一个已知可用的测试目标。
-
验证退出
离开刚才的网络,再观察连接是否符合预期。随后返回 Settings → On Demand 增加下一项条件,每次修改后都重新验证进入与离开两种情况。
系统要求及设备兼容性以 App Store 页面标注为准。如果设备受管理策略限制,或系统未允许安装 VPN 配置,应先解决授权问题。不要把系统拒绝建立 VPN 的情况,当成按需规则没有命中。
三、Wi-Fi 名称与蜂窝网络条件怎么设置
Wi-Fi 条件判断的是设备当前连接的网络,不是设备附近扫描到的网络。若 Settings → On Demand 中提供指定 Wi-Fi 名称的条件,应按设备实际显示的 SSID 填写,注意大小写、空格以及名称末尾字符。示例 Home-WiFi 和 Home-WiFi-5G 是两个不同名称;不要用路由器品牌或自己给网络起的备注代替 SSID。
一种常见目标是“指定家庭 Wi-Fi 不连接,蜂窝网络连接”。需要分别表达指定 Wi-Fi 下的断开动作和蜂窝网络下的连接动作;只添加一条家庭 Wi-Fi 条件,并不能完整定义所有其他网络的行为。下面是测试设计示例,不是应用默认设置,也不是实测结果。
| 网络条件 | 目标动作 | 验收操作 |
|---|---|---|
| 已连接 Home-WiFi | 断开连接 | 从蜂窝网络切入此 Wi-Fi,再检查 Home 状态 |
| 蜂窝网络 | 建立连接 | 关闭 Wi-Fi,确认蜂窝数据可用后发起请求 |
| 其他 Wi-Fi | 按单独设定处理 | 连接另一已授权使用的 Wi-Fi,验证未遗漏的情况 |
| 没有可用网络 | 无法完成远端连接 | 先恢复网络,再判断条件是否生效 |
- 同名网络:SSID 不是网络可信度证明,不同地点可能使用同一名称。不要仅凭名称决定某个网络一定适合直连。
- 登录门户:需要网页认证的 Wi-Fi,应先完成网络登录。如果按需连接影响认证,可暂时停用 On Demand,完成登录后再恢复并测试。
- 切换过程:Wi-Fi 断开到蜂窝数据可用之间可能有短暂过渡。应在新网络已可访问后验收,而不是只看切换瞬间的图标。
若界面提供条件排序或通用兜底条件,应避免宽泛条件覆盖指定 SSID 的例外。最稳妥的验证方式是逐条添加,并记录每种网络下的结果,而不是一次配置多条后仅测试当前 Wi-Fi。
四、域名触发不是 DOMAIN-SUFFIX 分流
域名按需条件涉及系统对域名解析及连接需求的评估,不等于监视浏览器地址栏中的每一次访问。应在 Settings → On Demand 内检查当前是否提供域名相关条件及其说明;若当前界面没有相应入口,不要把 Config 的规则当作替代入口。
域名字段应使用主机名,例如 portal.example.com,而不是带协议、端口和路径的 https://portal.example.com:443/account。父域是否覆盖子域、是否允许通配写法,取决于该字段定义,不应直接套用 DOMAIN-SUFFIX 的语法。系统域名按需机制还可能结合解析结果判断是否需要连接,因此也不能承诺“每访问一次就重新连接一次”。
下面只演示 Config 的规则含义,不是可导入的 On Demand 配置。example.com 是说明用域名;实际操作时应核对自己有权访问的业务域名,并先备份配置。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
DOMAIN-SUFFIX,example.com,PROXY:在规则模式中,将匹配该域名后缀的流量交给 PROXY 策略处理。FINAL,DIRECT:前面的规则均未命中时采用 DIRECT。它不是“连接失败后改为直连”的重试指令。- 测试域名触发前,先确认已有配置中的 DNS 与目标域名解析路径。浏览器缓存、DNS 缓存及应用复用的连接,都可能让一次刷新没有产生新的域名评估。
验收时可以关闭测试页面后重新访问,并查看解析与连接记录。用 IP 地址访问不能替代域名条件测试,因为这可能跳过目标域名的解析过程。也不要通过删除所有 DNS 设置来“强制触发”,否则会同时改变多个变量。
五、手动开关、自动重连与排查顺序
On Demand 开启后,手动关闭连接不一定代表长期停用自动连接:当新的网络事件或符合条件的请求出现时,系统可能再次发起连接。需要明确暂停自动化时,应先进入 Settings → On Demand 停用按需连接,再回到 Home 关闭连接,并实际发起一次请求确认状态。
反过来,手动开启连接也不能证明某条按需条件正确。一次有效验收应包含“当前处于什么网络、连接此前是什么状态、做了什么触发操作、连接之后是什么状态”。只截取一个开启状态,无法区分手动操作和系统触发。
- 先查底层网络:停用 On Demand 后验证 Wi-Fi 或蜂窝网络本身是否可访问。网络未登录、无信号或蜂窝数据未允许时,先恢复基础网络。
- 再查连接授权:确认系统 VPN 配置仍有效,没有被管理策略限制,也没有其他 VPN 配置正在争用连接。
- 再查触发条件:核对 SSID、网络类型与条件动作;一次只保留一项测试条件,观察是否仍会复现。
- 最后查流量策略:如果连接已经建立但目标访问失败,检查 Global Routing、当前 Config、DNS 与服务器可用性,不再继续修改触发条件。
按连接状态分开排查
始终未建立连接,优先查系统授权和按需条件;连接已建立但请求失败,转查网络、服务器与分流。不要在同一次测试中同时更新订阅、切换服务器和改写规则。
六、On Demand 设置常见问题
关掉 Home 开关后,怎么又连上了?
先查看 Settings → On Demand 是否仍启用。需要停止自动连接时,先停用按需连接,再关闭 Home 开关;随后切换一次网络或发起请求,确认不会按原条件重连。
Wi-Fi 能触发,蜂窝网络为什么不行?
关闭 Wi-Fi 后先确认蜂窝数据可用,再检查是否确实设置了蜂窝网络条件及连接动作。保持同一服务器不变,先做手动连接测试,以区分蜂窝网络访问限制和触发条件问题。
写了 DOMAIN-SUFFIX,为什么没自动开启?
该规则位于 Config,只负责流量匹配。回到 Settings → On Demand 检查系统按需条件;如果希望仅在已有连接内按域名分流,使用 Global Routing → Config 即可,不必把分流需求改成连接触发需求。
更新订阅会一起修复按需设置吗?
订阅更新与 On Demand 是不同设置环节,不能假定更新服务器列表会修复系统触发条件。更新后先在 Home 核对当前选中的服务器,再回到 Settings → On Demand 单独检查条件。
iPad 也要重新验证吗?
需要。应在 iPad 上检查本机 VPN 授权、Settings → On Demand 以及实际连接的 Wi-Fi;蜂窝网络测试只适用于具备相应能力且已启用数据服务的设备。系统要求以 App Store 页面标注为准。