有些应用需要使用隧道,有些应用希望沿系统原有网络访问。设置前先问清楚:你要选择的是“哪个应用”,还是“访问哪个目标地址”?这两个层次会共同影响网络行为,却不能视为同一项配置。

应用选择来自Android网络机制

Android的VpnService支持VPN应用设置允许或排除的应用列表。通用概念中,Included Applications表示哪些应用进入该VPN,Excluded Applications表示哪些应用不进入该VPN。系统通过已安装应用的包名识别应用,并非只根据桌面显示名称判断。

应用级选择是客户端结合系统框架实现的能力,不是WireGuard协议核心字段。不同客户端版本、Android版本及手机厂商界面可能不同;先确认当前WireGuard安卓版实际提供什么选项,不能假定每个版本都有完全相同的应用选择器。系统授权准备见手机端安装和VPN权限说明。

AllowedIPs回答另一个问题

AllowedIPs围绕IP地址前缀限定Peer相关的流量范围,并参与路由及对端流量校验。应用排除则从产生网络请求的应用入手。将一个应用从VPN中排除,不等于把它访问的每个目标IP从AllowedIPs删除;多个应用也可能访问同一目标地址。

设置层面关注对象典型问题
应用级范围已安装应用这个应用是否使用该VPN?
AllowedIPsIP地址前缀这个目标由哪个Peer处理?

即使应用在允许范围内,实际流量仍要结合地址配置和系统策略判断。更完整的状态判断见隧道启用与目标访问检查。

被排除,不一定就能直接联网

通常,被排除的应用会按系统网络条件工作,仿佛没有使用这一VPN。但常驻VPN、阻止非VPN连接、工作资料或企业学校管理策略可能限制其联网。也不能承诺排除后一定具有某个固定互联网出口,更不应通过这一设置规避受管理设备的访问规则。

Android通用接口的允许列表与排除列表不能在同一个Builder中同时使用。最终用户界面可能用不同方式表达范围;不要根据其他客户端的截图猜测本机选项含义。如果没有相关设置,先查看当前实现的文档,不用覆盖整个配置来寻找隐藏开关。

只改一个范围,观察一个结果

  1. 记录原来的应用选择和隧道状态,确认需要调整的具体应用。
  2. 在当前版本确有相应选项时做小范围修改,并按应用要求重新建立连接。
  3. 分别验证被排除与仍使用隧道的应用,选取本来有权限访问的目标。
  4. 保留非敏感错误和时间,检查系统是否启用阻止非VPN流量等策略。

不同应用可能使用后台组件、工作资料或不同连接方式,不能只测试一个页面就推断全部流量。测试时若还切换了网络,应同时参考Wi-Fi与蜂窝网络切换的连通检查,避免把网络路径变化误判为应用选择问题。

设置原则

保留可恢复的原选择,按实际需求逐项调整。应用排除与地址路由需要分别理解,不必无条件把所有应用都排除。

参考资料Android VPN与Per-app VPN文档 ↗

本文按平台机制整理;具体菜单、权限入口和导入能力以实际版本及设备策略为准。