基础概念 · 代理与 VPN

代理与 VPN 有什么区别?从请求路径看起

安卓代理客户端也会弹出 VPN 授权,这很容易让人把两者混为一谈。判断它在做什么,要看流量怎样进入应用、又用什么方式发往目标。

全部概念工具使用教程引用资料

代理与 VPN 的请求路径

代理通常由应用连接一个入口,请它代为访问目标。VPN 通常通过虚拟接口和路由,把选定的 IP 流量送入隧道;两者的覆盖范围都取决于具体设置。

先分清代理和 VPN 的工作角色
问题代理的常见情况VPN 的常见情况
怎样接收流量应用使用 HTTP、SOCKS 等入口,或客户端把接收的流量转换为代理请求。通过系统接口与路由接收选定网络流量。
覆盖哪些应用主动使用入口的应用;透明接入还取决于路由与客户端能力。进入隧道的应用和目的地址;也可只覆盖部分应用或网段。
是否一定加密不能仅凭“代理”判断,需要看具体协议和传输。安全 VPN 应使用适当加密与认证,仍需核实实现和配置。

“只影响浏览器”与“覆盖全设备”是接入方式的结果,不能作为所有代理与 VPN 的绝对分类。一款软件可能同时具有本地代理入口、TUN 接入和多种远端协议。

安卓为什么请求 VPN 授权

Android 的 VPN API 让应用建立本地虚拟接口并接收系统流量。代理客户端借这个接口取得数据包后,仍会按自己的规则处理和转发。

例如手机上的代理客户端可能先接收流量,再将它交给代理内核,最后按规则选择直连或远端节点。过滤软件也可能用同一类接口在本机处理请求。弹窗名称不会替你检查节点协议、证书和远端服务是否成功。

Android 官方文档把本地接口建立与网关连接、加密传输分成不同步骤。也就是说,本地接口能建立并不意味着后面的网关连接一定成功。v2rayNG、Karing 等客户端的状态应结合实际连接记录阅读,查看它们选中的配置和请求结果。

Android 授权客户端建立本地接口后,应用流量仍需经过客户端分流和出站连接;图标只反映系统接口状态。
系统授权建立的是本地接口,客户端随后仍需处理流量并连接目标。

VPN 图标出现后,还要检查什么

图标出现后,先回到客户端看当前配置和出口,再访问一个需要验证的目标。远端握手失败或选中了直连时,系统接口仍可能保持活动。

  1. 先确认客户端实际选择的配置与出站,查看是否有明确错误。
  2. 打开一个需要验证的应用,访问未缓存的内容,核对连接记录中有没有该请求。
  3. 确认请求命中的规则及最终出站,而不是只看主界面的连接开关。
  4. 再比较后台运行与网络切换后的表现,确定问题是否可重复。

设备同时安装多个会使用 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 绘制。

DNS 与加密 DNS →DNS 与加密 DNS:解析、缓存和排查规则与分流 →分流规则怎么工作:模式、策略组与 DNS

返回基础概念 · 按症状排查问题