代理与 VPN 的请求路径
代理通常由应用连接一个入口,请它代为访问目标。VPN 通常通过虚拟接口和路由,把选定的 IP 流量送入隧道;两者的覆盖范围都取决于具体设置。
| 问题 | 代理的常见情况 | VPN 的常见情况 |
|---|---|---|
| 怎样接收流量 | 应用使用 HTTP、SOCKS 等入口,或客户端把接收的流量转换为代理请求。 | 通过系统接口与路由接收选定网络流量。 |
| 覆盖哪些应用 | 主动使用入口的应用;透明接入还取决于路由与客户端能力。 | 进入隧道的应用和目的地址;也可只覆盖部分应用或网段。 |
| 是否一定加密 | 不能仅凭“代理”判断,需要看具体协议和传输。 | 安全 VPN 应使用适当加密与认证,仍需核实实现和配置。 |
“只影响浏览器”与“覆盖全设备”是接入方式的结果,不能作为所有代理与 VPN 的绝对分类。一款软件可能同时具有本地代理入口、TUN 接入和多种远端协议。
安卓为什么请求 VPN 授权
Android 的 VPN API 让应用建立本地虚拟接口并接收系统流量。代理客户端借这个接口取得数据包后,仍会按自己的规则处理和转发。
例如手机上的代理客户端可能先接收流量,再将它交给代理内核,最后按规则选择直连或远端节点。过滤软件也可能用同一类接口在本机处理请求。弹窗名称不会替你检查节点协议、证书和远端服务是否成功。
Android 官方文档把本地接口建立与网关连接、加密传输分成不同步骤。也就是说,本地接口能建立并不意味着后面的网关连接一定成功。v2rayNG、Karing 等客户端的状态应结合实际连接记录阅读,查看它们选中的配置和请求结果。
VPN 图标出现后,还要检查什么
图标出现后,先回到客户端看当前配置和出口,再访问一个需要验证的目标。远端握手失败或选中了直连时,系统接口仍可能保持活动。
- 先确认客户端实际选择的配置与出站,查看是否有明确错误。
- 打开一个需要验证的应用,访问未缓存的内容,核对连接记录中有没有该请求。
- 确认请求命中的规则及最终出站,而不是只看主界面的连接开关。
- 再比较后台运行与网络切换后的表现,确定问题是否可重复。
设备同时安装多个会使用 VPN 接口的应用时也要检查冲突。Android 官方说明,同一用户或配置档案只有一个活动 VPN 服务,启动另一个可能停止原服务。界面上的某个客户端仍开着,不代表系统当前把流量交给它。
HTTPS 和隐私保护到哪一段
设备到中间节点、浏览器到网站,是不同的通信段。代理或 VPN 的传输保护不能替代网站 HTTPS,HTTPS 也不会替你检查客户端的接管范围。
普通 HTTP 页面不因经过 VPN 就自动获得端到端 HTTPS 保护。标准 HTTP CONNECT 可以建立转发隧道,但 CONNECT 本身不是内容加密协议;目标的 TLS 连接是否有效,要由应用继续验证。
中间节点还可能知道连接目标、时间及流量规模;网站仍可能通过登录账号、Cookie 或其他会话信息识别用户。因此出口地址改变不等于匿名,VPN 图标也不等于所有信息不可见。遇到证书错误应检查时间、目标域名和证书链,不要用关闭证书校验来“验证连接成功”。
浏览器与其他应用的路径差异
同一个设备上的应用,可能采用不同入口和 DNS。浏览器有连接记录、另一个应用没有时,先查后者的接管设置,再查分流。
TUN 能扩大可接收流量的范围,但仍受路由、地址族、分应用选择与排除项影响。公司内网、局域网设备或系统服务可能被特意设为直连,这与客户端“失效”并不等价。
一个可复现的比较是:对同一目标,先使用明确指定本机代理入口的请求,再用出问题的应用访问,核对两者日志。前者正常、后者没有记录时,应看接入设置;两者都进入核心却命中不同出站时,应看 规则与策略组,而不是继续反复换节点。
按用途选择接入方式
访问单位内网,使用单位提供的协议和认证方式;给一个桌面工具设置连接,可先用它支持的代理入口。选择前先明确应用、目标和需要直连的资源。
- 明确需要访问的应用、网站或网段,检查工具是否支持对应协议。
- 确认远端服务由谁维护、如何认证,以及出现问题时能否查到必要日志。
- 列出需要保持直连的内部资源,再检查路由和 DNS 是否配合。
- 保留原配置和恢复方法,从一次小范围验证开始。
开更多开关不必然增加连接效果。先把自己的实际请求路径解释清楚,再决定是否需要系统代理、TUN、分应用或更复杂的策略。
用实际请求确认出口
把目标应用的一次请求和客户端连接记录对上,确认入口、规则、最终出口与响应。出口查询可以补充判断,但它只反映那条查询的路径。
DNS 查询和网站连接也可能走不同出站,浏览器还可能使用独立加密 DNS。应记录使用的应用、目标、时间和模式,必要时比较 IPv4 与 IPv6。关于解析器的影响,可以接着读 DNS 与加密 DNS。
如果需要动手理解本地入口,sing-box 的本机示例提供 mixed 入站与 direct 出站验证。它通过测试仍不会连接远端代理,正好说明“程序在运行”“入口可用”“远端隧道可用”是三个分别需要验证的事实。
常见问题
同时开启两个安卓 VPN 客户端会更可靠吗?
通常不能叠加成双重保障。同一用户或配置档案只有一个活动 VPN 服务,启动第二个可能停止第一个,应先排除接管冲突。
单位内网连不上,可以随便换一个代理客户端吗?
应先核对单位指定的协议、认证、DNS 与路由要求。能转发普通网页的代理不一定能替代单位 VPN,也不一定提供相同内网访问。
参考资料
原理和协议定义可查以下标准与官方文档。文中的流程图由 AFQKit 绘制。