如何为 Android VPN 设置可信 Wi-Fi 规则
加密不等于信任,已启动的应用也不等于隧道。先设定可信网络列表,再决定 VPN 连接期间哪些流量可以离开设备。
打开手机上的 VPN 客户端,进入自动连接设置,你会看到一个界面,要求你列出隧道可以保持关闭的网络。这个界面看起来只是个便利开关。它实际上是一份带勾选框的策略文件,而多数人填它的方式,就是勾上自己碰巧站着的那个网络。就在那一刻,你用一张 Wi-Fi 图标回答了一个安全问题。本文按客户端评估这一界面的顺序,把它逐层拆开。
先弄清这个勾选到底意味着什么
一条可信网络记录的意思是:在这个网络上,客户端可以跳过隧道,或者推迟建立隧道。SSID 和锁形图标里没有任何东西能证明这个网络配得上这种待遇。WPA2 或 WPA3 保护的是手机与接入点之间的无线链路,它并不说明接入点由谁运营、会记录什么。酒店、咖啡馆和共享办公空间都可以发布一个受 WPA 保护的网络,而运营它的人可能并不适合托付一段工作会话。
通常被称为 OWE 的 Wi-Fi Enhanced Open 把这条界线划得更清楚:链路是加密的,但没有共享密码,也没有传统的网络身份验证。加密和信任回答的是不同的问题,把已加密当成已知安全的客户端,其实已经悄悄把两者合并了。
在往列表里添加任何东西之前,先决定 VPN 是做什么用的。如果它承载的是对内部工作资源的访问,那么连家里的网络可能都需要它,可信列表就应当几乎为空。如果它的目的是让你远离别人的基础设施,那么问题就变成了这个网络由谁运营,而这个答案很少显示在手机上。
| What the phone shows | What it actually proves |
|---|---|
| Padlock with WPA2 or WPA3 | Link encryption to the access point, not the operator's identity |
| SSID matches your home name | A name only; a profile can be renamed or cloned |
| OWE or Enhanced Open | Encryption without a shared secret or network authentication |
| Connected, no internet | Association without validated reachability |
| No SSID visible to the app | Nothing useful; treat it as unknown rather than trusted |
读一读应用真正能看到的网络状态
第二个环节是列表背后的触发条件。合理的自动化应当评估用户或平台已经选定的网络。它不应该去扫描一个记住的开放热点并主动连上去,好让自己的规则得以触发;它也不应该把 Wi-Fi 已开启当成网络已就绪。
Android 把这些作为彼此独立的事实暴露出来:Wi-Fi 已启用、已关联到接入点、互联网访问已验证、VPN 已完成握手。强制门户正卡在关联与验证之间,这就是为什么在手机欢快地称之为已连接的酒店网络里,隧道有时会建立失败。如果你要自己写自动化,Android 网络状态指南覆盖了相关能力与变化回调。
Android 也限制了后台应用能了解到的东西。网络详情取决于权限和平台策略,一个返回不可用的值,不是可以当作可信的值。当你的自动化无法对当前网络分类时,安全的分支是连接,而不是假设。
把触发器和强制执行分开
接下来是设置界面隐藏的那部分。可信网络规则是一个触发器:它决定客户端何时启动。它不是强制边界,因为由事件触发的任务可能在另一个应用已经发出请求之后才运行,也因为打开 VPN 应用并不等于连接某个配置。点一下图标,你可能停留在一个没有隧道在后面的登录页上。
如果受保护的流量绝不允许离开隧道,包括在分类和建立连接的阶段,那么这个保证要来自平台:带无 VPN 时阻止连接的始终开启 VPN,或等效的受管设备策略。可信列表应当在这之后再加上,作为已经成立的边界之上的一层优化。
门户登录和凭据提示要走经过批准的流程。不要把密码留在导出的自动化任务里,也不要为了让顺利路径无人值守地跑起来而关掉锁定。这两条捷径,正是一个便利功能变成整条链最弱一环的方式。
测试那些会打破假设的情形
在信任这套设置之前,把这五种情形走一遍:你批准的可信网络、一个不熟悉的 WPA 场所、一个开放或 Enhanced Open 网络、一个应用读不出名字的网络,以及一个强制门户。对每一种,记录隧道是否建立、花了多久,以及在它还在建立时有什么离开了设备。
然后测试切换。当 Wi-Fi 掉线、移动数据接手时,你写的规则是否仍然描述了你想要的结果?Wi-Fi only 可以有意让蜂窝流量留在 VPN 之外,但这也可能是一条没人想过的分支。把这个选择在配置里写明,而不是在火车上才发现。
把可信列表、未知网络下的行为、隧道建立前允许通信的内容,以及工作资源例外由谁负责,都写下来。一个看起来很安全的 Wi-Fi 图标和一个已打开的 VPN 应用,回答不了这些问题中的任何一个;列表和强制执行规则才能回答。