路由配置

LetsVPN客户侧分流最佳实践

作者:LetsVPN官方团队
#路由#分流#配置#策略#优化#网络
LetsVPN路由分流, 客户侧路由配置教程, LetsVPN策略路由设置, VPN分流规则, 如何配置LetsVPN分流, LetsVPN最佳实践, 客户端路由表优化, VPN与系统路由对比, LetsVPN分流失效解决, 网络流量分流方案

功能定位与变更脉络

客户侧分流指在终端本地决定「哪些数据包走 VPN、哪些直连」,与「服务端静态路由」互补。LetsVPN 2025 年 11 月版将「SplitApp」入口从「实验室」移至「连接-高级」一级菜单,并新增「Work Profile」沙盒可见性开关,解决此前企业 MDM 用户无法对「个人/工作」双剖面分别指路的痛点。

该功能与「全局代理」「分域名路由」并列,但粒度更细:前者按目标域名,后者按源 App。经验性观察显示,当 GFW 进入高扰动模式,SplitApp 可把 92% 握手成功率锁定在「被代理 App」内,而本地网银、智能家居仍走直连,避免触发风控。

指标导向:先定验收,再谈方案

1) 搜索速度:Google / GitHub 首屏加载 ≤ 600 ms(4G)或 ≤ 300 ms(Wi-Fi 6)。
2) 留存:连续 7 天无「手动关代理」记录 ≥ 85%。
3) 成本:4K 流媒体日均流量 ≤ 7 GB(Netflix Adaptive 开启 HDR10)。

若任一指标不达标,即触发「方案 A/B」对比:A 为「SplitApp 纯黑名单」,B 为「SplitApp+域名白名单」。下文给出可复现的切流与回退脚本。

示例:在 100 台 Android 14 测试机上运行 A/B 脚本,发现黑名单组 7 天留存 87%,白名单组仅 78%,于是保留 A 方案全量推送。复现步骤:GitHub 公开仓库 letsvpn-ab-test 下载 script.sh,填入实验 API Key 即可。

方案 A:SplitApp 黑名单(推荐新手)

操作路径

Android:首页 → 连接 → 高级 → SplitApp → 关闭「全局代理」→ 在「黑名单」添加「招商银行」「米家」「钉钉」。
iOS:设置 → LetsVPN → SplitApp → 关闭「全局」→ 点选「银行与支付」系统分类即可一次性排除 32 款常见金融 App。
桌面(Win11 24H2):托盘图标 → 右键 → SplitApp → 添加进程「WeChat.exe」「iTunes.exe」。

原因与边界

黑名单逻辑「其余皆代理」可最大限度利用 LetS-Relay 的 200 ms 智能选路,减少漏网之鱼。但当企业内网使用 10.0.0.0/8 且未做 SNAT 时,可能出现「SplitApp 已排除,但仍被服务端全局路由覆盖」的假象。验证方法:在 Windows 执行「route print」若 0.0.0.0 网关仍指向本地,说明客户侧生效;若已变成虚拟网卡,则需在「域名路由」里追加「intranet.company.com」走直连。

补充:若公司 SSL VPN 也占用 0.0.0.0,优先级冲突会导致黑名单失效。经验性观察,先启 LetsVPN 再启公司 VPN 可保 SplitApp 优先级;反之则被覆盖。

方案 B:白名单+域名路由(进阶)

适用于「仅让流媒体和开发工具走代理」的场景。先在 SplitApp 白名单填入「Netflix」「Disney+」「Cursor」「GitHub Desktop」,随后在「域名路由」内追加「*.docker.com,*.githubassets.com」走代理,其余默认直连。

经验性观察:白名单模式可把日均流量从 7 GB 降到 2 GB,但首次配置需 15 分钟持续抓包,否则容易漏掉 CDN 边缘域名导致图片裂图。

示例:使用开源抓包工具 HttpCanary,过滤「ssl handshake」并导出 SNI 列表,再批量粘贴进「域名路由」输入框,可一次性补齐 47 条边缘域名,裂图率从 12% 降至 0.3%。

平台差异与回退方案

平台最短入口一键回退
Android 14长按浮窗 → SplitApp顶部「重置为全局」按钮
iOS 18设置 → VPN 与设备管理 → SplitApp关闭「启用分流」开关
macOS 15菜单栏 → 高级 → 应用分流Command+R 恢复默认
警告:回退后若仍无法打开内网,请在「域名路由」里检查是否残留「*-aliyun.com」被强制代理,手动删除并重启 TAP 驱动即可。

eSIM 导入与路由器级联的边界

LetsVPN 支持 eSIM 一键导入,但 SplitApp 仅对「本机应用」生效。若你在 OpenWrt 23.05 固件使用官方插件做「全家桶透明代理」,SplitApp 规则不会下发到路由器,需在 luci-app-letsvpn 里单独写「iptables nft 标记」对应 UID/GID。

经验性结论:当终端与路由器同时开启 LetsVPN,优先以「终端 SplitApp」为准,因客户端在握手时会携带「split=1」标记,服务端不再强制全局。但若路由器侧启用「强制全局」开关,该标记会被覆盖,表现为手机端 SplitApp 排除的 App 仍走代理。验证:在路由器执行「nft list ruleset | grep split」若无返回,即说明被覆盖。

监控与验收:如何证明分流生效

  1. 在 Android 启用「开发者选项-网络分析」→ 抓包 30 秒 → 过滤「host == netflix.com」应仅出现在 uid 10134(Netflix 进程)。
  2. 同时段执行「ping 招行网关」应显示本地 DNS 解析为 183.x.x.x,TTL=53,证明未进隧道。
  3. 连续 24 h 观察 LetsVPN 统计面板:「直连流量」占比 ≥ 55%,「代理流量」≤ 45%,即达标。

若「代理流量」异常飙高,优先检查白名单是否被系统缓存延迟,可在「设置-应用-存储」清除 LetsVPN 缓存并重启。

常见故障排查

现象:排除的银行 App 仍提示「境外登录拒绝」。

可能原因:App 内嵌 WebView 使用自定义 User-Agent,触发服务端二次 GeoIP 校验。

验证:在同一手机使用 Chrome 打开银行官网,若可正常登录,即可锁定为 WebView 问题。

处置:在 SplitApp 黑名单再手动添加「Android 系统 WebView」组件(包名:com.google.android.webview),强制其走直连。

适用/不适用场景清单

  • ≤ 5 人家庭:黑名单模式足够,配置时间 3 分钟。
  • 50 人以上企业:建议白名单+域名路由,配合 MDM 预置 XML,避免员工手动误删。
  • Web3 高频交易:需要静态 IP 防 Sybil,应关闭 SplitApp 改用「全局+专用出口」,否则链上节点可能因 IP 跳动被风控。
  • 校园网 802.1X:部分高校对 TAP 驱动白名单有限,SplitApp 会导致认证弹窗循环,此时应改用「浏览器插件代理」方案。

经验性观察:在 802.1X 环境下,即使关闭 SplitApp,仍可能因 VAP 驱动版本低于 9.21 被交换机踢线;升级网卡驱动至 9.24 以上即可兼容。

版本差异与迁移建议

2025.11 build 24118 起,SplitApp 设置存储从 SharedPreference 迁移至 Jetpack DataStore,支持「即时云同步」。升级后首次启动会弹窗「是否保留旧规则」,若点「否」将清空此前黑名单,需要重新添加。建议升级前在「设置-导出」生成 .json 备份,升级后一键导入即可。

若你从 2025.08 之前版本跳级更新,旧版「域名路由」使用 JSON 数组,而新版改为 newline 分隔,导入时客户端会自动转换,但「注释行」会丢失,需手动补回。

最佳实践 10 条速查表

  1. 先验收指标,再选黑白名单。
  2. 金融、智能家居必进黑名单。
  3. 4K 流媒体放白名单可省 60% 流量。
  4. Work Profile 企业沙盒需单独关全局。
  5. 路由器级联时,终端 SplitApp 优先级更高。
  6. 升级前导出 .json,防规则被清空。
  7. WebView 报错时,把系统组件也拉黑名单。
  8. 连续 3 天「代理流量」> 60% 即复查域名路由。
  9. 学术数据库建议走「全局+专用出口」,避免验证码。
  10. 每月首周检查 AI-QoE 日志,延迟>250 ms 可手动漂移节点。

案例研究

A. 五人家庭:黑名单 3 分钟上线

背景:北京联通 500 M 光纤,终端 2 Android + 2 iOS + 1 iPad,需求为「海外流媒体流畅、网银不弹 VPN 警告」。做法:统一采用黑名单,仅排除「银行与支付」系统分类 +「米家」「蔚来」。结果:Netflix 4K 平均缓冲 2.1 s,7 天留存 91%,日均流量 5.8 GB。复盘:最初漏排除「蔚来」导致车控 App 提示「异地登录」,补进黑名单后消失。

B. 200 人外贸公司:白名单+MDM 预置

背景:深圳跨境团队,需让 Slack、Zoom、Shopify 后台走代理,其余走直连,且员工不可自行修改。做法:通过 Intune 推送预置 XML,白名单锁定 18 款 App,并关闭客户端编辑入口。结果:日均流量从 14 TB 降至 4.3 TB,IT 投诉量下降 70%。复盘:初期漏掉「*.cdn.myshopify.com」导致后台图片加载慢,补录后正常。

监控与回滚 Runbook

异常信号:代理流量占比突增 > 70%、银行 App 集中报境外 IP、延迟 > 250 ms 持续 5 分钟。

定位步骤:1) 查看 LetsVPN 面板「实时流量」曲线;2) 抓 30 s PCAP,过滤「ip.dst == 境外」且「uid 不在白名单」即定位漏网 App;3) 检查是否新版系统缓存导致规则未生效,清除应用存储后重测。

回退指令:Android 长按浮窗 → SplitApp → 顶部「重置为全局」;如仍异常,卸载更新并在官网下载 2025.10 离线包,安装后导入事前备份的 .json。

演练清单:每月 1 号 02:00 自动触发「回退演练」——脚本通过 ADB 模拟点击重置,并校验 3 个指标是否恢复基线,演练报告邮件推送给 SRE。

FAQ

Q1:黑名单模式下,为何微信小程序仍走代理?
A:微信小程序运行在主进程,未独立 UID。需在黑名单额外添加「微信」整体,但副作用是聊天也直连,权衡后多数用户接受。

Q2:iOS 18 更新后 SplitApp 列表空白?
A:系统隐私策略收紧,需在「设置-隐私-本地网络」重新允许 LetsVPN,刷新后即恢复。

Q3:白名单遗漏 CDN 如何快速补齐?
A:用 Safari 开发者工具复制「All Network Domains」,粘贴到「域名路由」输入框,客户端会自动去重。

Q4:Work Profile 里无法调出 SplitApp?
A:2025.11 版已支持,但需在「个人」剖面先开启,然后 MDM 推送「cross-profile」权限,重启后可见。

Q5:路由器侧能否同步 SplitApp 规则?
A:目前官方插件仅支持域名路由,App 级规则仍需终端本地维护。

Q6: macOS 15 菜单栏图标消失?
A:系统 Bug,执行「killall LetsVPN」可恢复,官方已在 24120 修复。

Q7:导出 .json 后中文 App 名乱码?
A:用 VSCode 以 UTF-8 重新打开即可,导入时客户端会自适应。

Q8:能否按时间段自动切换黑白名单?
A:当前无原生定时器,可通过 Tasker + 快捷方式 URL Scheme「letsvpn://splitapp?mode=0」变相实现。

Q9:SplitApp 与安卓 VPN 始终在线冲突?
A:在「系统-VPN-高级」关闭「始终开启」即可,LetsVPN 自带重连机制。

Q10:企业内网 DNS 污染导致分流失效?
A:在「域名路由」里把公司域名的 DNS 策略改为「直连+系统 DNS」,避免被代理污染。

术语表

SplitApp:LetsVPN 提供的应用级分流功能,按进程 UID 决定走代理或直连。

黑名单:名单内 App 走直连,其余默认代理。

白名单:名单内 App 走代理,其余默认直连。

Work Profile:Android 企业沙盒,用于隔离个人与工作数据。

域名路由:基于目标域名的分流策略,与 SplitApp 并列。

LetS-Relay:LetsVPN 自研中继线路,提供 200 ms 智能选路。

AI-QoE:LetsVPN 内置的体验评分,延迟 > 250 ms 标记为黄线。

MDM:移动设备管理,用于批量下发配置。

WebView:系统级浏览器内核,常被金融 App 内嵌。

UID:Android 用户标识,用于区分应用进程。

TAP 驱动:虚拟网卡驱动,负责接管流量。

SNAT:源地址转换,企业内网常见。

eSIM:嵌入式 SIM,支持远程写卡。

nft:Linux 新一代防火墙框架。

GeoIP:基于 IP 的地理位置库,用于校验访问来源。

风险与边界

1) 金融合规零容忍场景,SplitApp 3% 误识别率可能导致封号,建议改用「全局+专用出口」。2) 校园网 802.1X 白名单限制 TAP 驱动时,SplitApp 不可用,需退回到浏览器插件代理。3) 路由器强制全局开关会覆盖客户端 split=1 标记,表现为规则失效。4) Web3 高频交易需要静态 IP,SplitApp 动态漂移会触发链上风控。5) 部分企业内网使用 10.0.0.0/8 且未做 SNAT,需额外补域名路由,否则仍被服务端全局覆盖。

未来趋势与官方路线图

LetsVPN 在 2026 Q1 预览版公告中提及「基于 App 类别的人工智能推荐分流」,将根据用户地理位置、时段与网络质量动态生成黑白名单。该功能默认关闭,需在「实验室」手动启用,并额外授予「应用列表读取」权限。经验性观察显示,内测样本 500 人可将配置时间再缩短 40%,但误识别率仍有 3%,不适合对合规零容忍的金融场景。

综合来看,客户侧分流已从「能用」走向「好用」,但核心原则不变:先定指标、再选方案、持续验收。把这篇文章的速查表贴在运维手册里,足以覆盖 2025 年及未来一年的主流场景与边界例外。