指南
如何在 Android 上设置 VPN
Play Store 中的应用、Android 自带设置里比应用内部任何选项都更重要的两个开关,以及如何确认隧道正在手机上承载你的流量——这部手机一整天都在切换网络。本指南依据 Android 17 编写。
开始前
本指南不会替你选择服务商
无论你使用哪家服务商,下面的每一步都相同,因此这里不会点名任何服务商。选择服务商是另一项工作,应在名录中完成:依据已公开的得分作出选择,而不是根据应用商店页面选择。
请从 Play Store 安装应用,并使用服务商自有网站链接到的应用页面。绝不要安装聊天中发来的 APK 文件,或从论坛下载的 VPN:VPN 应用可以看到手机发送的每一个字节,而重新打包的应用是任何人找到的最高效读取这些数据的方式。
安装应用
- 先在服务商网站登录,然后通过网站提供的链接打开 Play Store 应用页面。商店搜索 VPN 时,仿冒应用会排在真正应用上方;而你付费使用的账户所提供的链接不会出现这种情况。
- 安装、打开应用,并接受连接请求。Android 会询问一次是否允许应用建立 VPN 连接 — 这表示系统将隧道交给应用;拒绝后,应用就无法连接。提示中会显示应用名称;如果名称不是你安装的那个,立即停止。
- 登录应用,使用同一个账户。大多数应用会要求给设备命名;该名称会由服务商保存,因此请使用不会识别出你身份的名称。
- 暂时不要连接。两个重要设置根本不在应用内,而是在 Android 自带的设置中;在你打开之前,它们都是关闭的。
值得检查的设置
Android 是唯一一个由系统本身承载断网开关的平台,因此本节从应用外部开始。如果不熟悉设置名称,可以在术语表中查看对应条目。
始终开启 VPN 和无 VPN 时阻止连接
打开“设置” › “网络和互联网” › “VPN”,点击应用旁边的齿轮,然后打开这两个开关。始终开启 VPN 会让 Android 在启动时开启隧道,并在隧道断开时自动重启,无需等待应用操作。无 VPN 时阻止连接就是断网开关,由系统强制执行:隧道断开期间,手机上的任何内容都无法访问网络。
即使应用提供自己的开关,也应使用系统开关。应用的开关会在应用被终止后失效;Android 的开关仍会工作,因为执行它的不是应用。断网开关的用途详见专门页面;简而言之,隧道断开后会变成无法联网,而不是在你未察觉的情况下继续连接。对于一整天都在切换网络的手机而言,这正是重点。
隧道内的 DNS
即使其他所有流量都在隧道内,域名查询也可能绕过隧道离开手机,让网络知道你访问过哪些网站,而只隐藏你在网站上做了什么。在应用中查找DNS 泄漏防护、使用服务商 DNS或自定义 DNS 字段,并将其设置为服务商自己的解析器。
Android 的私有 DNS设置是另一回事,两者并不冲突:它发出的查询会像其他流量一样在隧道内传输。但由第三方运行的私有 DNS 解析器会让该第三方看到每一次查询,而你已经在将流量交给服务商信任。增加第二方只会增加知情方的数量,并不会减少任何一方知道的信息。泄漏如何发生,详见DNS 泄漏页面。
电池优化
Android 的电池管理器,以及制造商叠加在其上的电源管理器,会停止长时间在后台运行的应用。VPN 客户端正是这类应用。打开“设置” › “应用”中的应用页面,将电池用量设为不受限制;如果手机有制造商的电源管理器,也在那里进行相同设置。否则,隧道会在手机放在口袋里时断开,而第一个唤醒的应用会通过当时可用的网络发送流量 — 除非上面的系统开关已开启;在这种情况下,它什么也发不出去。
协议
保持现代默认选项不变 — 协议页面列出了哪些协议仍在使用,哪些已经过时。在手机上,现代协议在切换网络后重新连接也更快,并且更省电。如果应用提供旧协议选项来解决连接问题,可以有意识地暂时采用,但之后应恢复原设置:名录会标出服务商仍提供的最弱协议,手动选择它就等于亲自选择了这个标记。
确认它确实在工作
连接后不要直接假定一切正常,而要进行检查。按以下顺序完成三项检查,全部免费,也不需要安装其他应用:
- 你的地址发生了变化。在浏览器中打开任意“我的 IP 是什么”页面,确认国家或地区与所选出口相符。在 Wi-Fi 和移动数据上各做一次:它们是两个不同的网络,一个网络上的隧道正常,不代表另一个也正常。
- 查询在隧道内进行。运行 DNS 泄漏测试,并查看测试报告中的解析器。只要报告中出现属于移动运营商或家庭互联网服务商的解析器,就说明上面的 DNS 设置没有生效。
- 断网开关确实按预期工作。开始下载大文件,然后在“设置” › “应用”中的应用页面强行停止 VPN 应用,让隧道在未收到应用请求的情况下断开。下载应立即停止,并一直保持停止状态,直到隧道恢复。如果下载仍在继续,说明“无 VPN 时阻止连接”没有开启。
更完整的测试清单,以及每项测试能说明和不能说明什么,详见专门指南。
这些检查能证明什么
+你的流量会经由所选国家或地区的出口服务器离开,并且在手机使用的两个网络上都是如此
+无论是运营商还是你当前连接的 Wi-Fi,都无法读取你访问了哪些网站
+隧道断开后会在系统层面关闭连接,由 Android 而不是应用执行
这些检查不能证明什么
−它们无法说明服务商留存了什么 — 这是文档问题,应在留存页面中查找答案
−它们不会让你匿名:在手机上登录的应用仍然处于登录状态,请参阅VPN 无法保护你免受哪些情况影响
−今天通过测试,不代表下一次应用更新或手机更新后仍然如此
处于糟糕网络中的手机
手机一天中会使用笔记本电脑很少遇到的网络:拥堵的蜂窝网络、需要登录的咖啡馆门户、火车上的网络。值得做的调整只有三项。选择离你较近的出口,因为每增加一千公里,就会在本已过载的网络上再增加延迟。现代协议完全无法连接时,只切换一次协议,并在第二天切回。打开上面的始终开启 VPN,这样隧道丢失后的重新连接由 Android 负责,而不是由你负责。
如果某个网络在所有协议和所有出口上都阻止隧道连接,那是该网络的事实。本指南不会进一步处理,只会指出这一点。
无法正常工作时
离开 Wi-Fi 后连接不断断开
每次从 Wi-Fi 切换到移动数据,隧道都会暂时中断;重新连接较慢的客户端会把这段时间变成空白。现代协议比旧协议更能应对网络切换,因此首先检查应用正在使用哪种协议。
开启“无 VPN 时阻止连接”后,这段空白会表现为无法联网,而不是泄漏。这正是该设置在工作:手机会等待隧道恢复,而不是使用未受保护的网络。
应用过一段时间后会自行断开
通常是电池管理器的问题,而不是服务商的问题。几家制造商会在 Android 的电池管理之上加入自己的激进应用终止机制,而被“优化”的 VPN 客户端实际上就是在后台被停止。
在“设置”中将客户端排除在电池优化之外,同时也要在任何制造商专属的电源管理器中排除它。始终开启 VPN 会让 Android 在隧道断开时自行重启隧道,这是修复问题的另一半。
移动数据上的所有内容都很慢
这是在本来就很慢的网络上走了更长的路径。选择离你更近的出口,尝试同一国家或地区的第二台服务器,并切换一次协议——现代协议在手机上占用的资源更少。如果所有出口上的连接都很慢,而 Wi-Fi 上正常,那么移动网络正在限制 VPN 流量。
这是关于网络的结论,本指南到此为止。
一次只能有一个应用使用 VPN
Android 只允许一个活动 VPN,因此第二个客户端、工作资料中的 VPN,或作为本地 VPN 工作的 DNS 应用都会占用该位置,并静默断开第一个 VPN。私有 DNS 是例外:它是系统设置而非 VPN,并且在隧道内运行。
在指责服务商之前,先卸载或停用“设置” > “网络和互联网” > “VPN”下显示的其他所有项目。
某个网站说它能看出我正在使用 VPN
它确实可以。出口服务器地址是公开的,也被广泛列出,因此任何想知道的网站都可以查询你的地址。VPN 会对承载流量的网络隐藏你的流量,但不会对你访问的网站隐藏自身。
应用中的任何设置都无法改变这一点;如果服务商承诺可以做到,那就是在销售该机制无法提供的东西。
同样的步骤,不同的设备
其余平台
每个平台都有自己独立的指南,而不是同一页面下的一个标签。步骤从安装程序打开的那一刻起就开始分岔,一篇试图同时回答三个平台的文章,哪一个都答不好。