两个需求的开头是同一句话:把 Apple TV 放到 VPN 后面。一个人指的是整台设备,另一个人指的是上面运行的某一个流媒体应用。这是两种不同的范围,而在 tvOS 上今天通常只有一种可用。区别不在协议或服务商,而在于谁能看见是哪个应用建立了连接。路由器看到的是数据包和地址,而电视上的应用只有在其自身客户端实现了这种选择时,才能看到进程身份。

区别在于谁能看见应用身份

路由器按源地址、目的地址和端口转发。它永远收不到打开套接字的 tvOS 进程名,所以没有办法表达“只有这个应用、别的一概不管”。

运行在电视上的 VPN 应用处在进程边界之内,原则上可以应用按应用规则。已发布的客户端是否提供这一能力,属于产品问题,而不是协议问题。

tvOS 上的 VPN 应用能选什么、不能选什么

Apple 在 tvOS 17 中加入了第三方 VPN 应用支持,其平台公告有记录。这纠正了更早的一种假设,即必须由路由器充当终端。但它并没有承诺每个客户端都提供包含或排除列表,而多数这类比较恰恰在这个空白上出错。要看服务商的 tvOS 页面,而不是它的 Windows 或 Android 页面。

为桌面版描述的分离隧道,不能作为电视版的证据。服务商为每个平台发布不同的代码库,电视客户端往往是其中最小的一个。

Apple 关于受管按应用 VPN 的文档描述的是面向受监督设备的部署模型,而不是消费者开关。在照搬为受管 iPhone 或 Mac 写的说明之前,先查看受支持平台列表。

路由器规则实际选中的是什么

以路由器为终端时,设备规则选中的是 Apple TV 的地址或网段。那是策略范围内的整机选择,不会因为你用一个应用测过就变成“只管一个应用”。如果同一台电视上的第二个应用也用这条隧道,规则正是按设计在工作。

当目标是“这台电视,全部”时,这通常就是正确答案。它还能经受应用更新、新的流媒体服务和配置变更,这是多数按应用列表做不到的。

域名与目的地规则不是应用身份

目的地规则选中的是地址或维护中的域集合。一个应用会连接登录、媒体、遥测和广告等多个端点,而多个应用可能共用同一套分发基础设施。因此域名规则可能漏掉你要的应用的一部分,却抓到另一个你并不想要的应用的流量。

DNS 转发和独立解析器会让情况更复杂。如果电视解析域名的路径与规则假设的不同,即使规则本身写得没错,目的集合也是错的。

从笔记本上做的公网地址检查,说明不了电视的路径。要从电视上测,或者从你真正关心的那个应用测。

在两者之间选择

当需求覆盖整台设备、当网络由你控制、当你能接受隧道失败会影响那台电视上的一切时,选路由器规则。当服务商自己的客户端明确写明 tvOS 版支持按应用选择,并且你能在设备上确认时,选 tvOS 应用。介于两者之间时,诚实的答案是:你手上的是整机范围,在有人依赖它之前应当先写清楚。

无论选哪一种,都要保持服务的访问规则不变。路由能力不会扩大账号的地区权益,范围决定也不会改变服务商愿意为你提供的内容。

两个问题能解决大部分这类工单:谁需要能够点名某个应用,以及隧道断开时应该怎样。在买硬件或订阅之前,先把这两个问题都答清楚。

相关文章