速云网络返回首页

VPN分流规则怎么设置?从模式选择到连接验证

更新于 2026-11-01 · suyungo.buzz

简答:VPN分流规则建议优先使用“规则模式”:需要代理的域名或应用走代理,局域网、国内服务或指定网站保持直连。最短流程是先确认客户端能接管流量,再添加“匹配条件→处理策略”的规则,重连后通过请求日志、出口 IP 和实际应用访问结果验证。不同客户端的菜单名称会随版本变化,以下以当前客户端实际显示为准。

定义:VPN分流是根据域名、IP、应用进程或端口等条件,把不同网络请求分别交给代理、直连或拒绝策略处理。

结论速查:先选模式,再决定规则

如果你的目标是“部分网站走代理,其他网站正常直连”,直接选择规则模式,不要先使用全局模式。mihomo 文档将运行模式定义为 rule、global 和 direct:rule 按规则匹配,global 统一使用代理,direct 统一直连,并且默认模式是 rule。mihomo 模式配置说明

模式适合场景主要特点常见问题
规则日常使用、国内外流量分开按域名、IP、应用或端口逐条匹配规则顺序错误、兜底规则不合理
全局临时判断代理线路是否可用大多数流量统一走代理策略局域网、国内网站和本地服务可能变慢
直连排查是不是代理导致连接异常流量不经代理不能验证代理线路是否正常

先试这一步:把客户端切到规则模式,确认代理开关、系统代理或 TUN 已启用;然后只添加一条明确的域名规则,例如 DOMAIN-SUFFIX,example.com,PROXY。保存、重载配置并重新打开网站。如果日志显示该域名命中 PROXY,说明分流链路已经基本生效。

前置条件:规则生效前先确认客户端接管了流量

  1. 确认代理配置已连接。客户端必须显示节点或代理组处于可用状态;仅导入订阅、不启动连接,规则不会改变应用流量。
  2. 确认流量入口。桌面客户端通常通过系统代理、HTTP/SOCKS 端口或 TUN 接管流量。mihomo 文档说明,TUN 可用于捕获系统流量、自动路由、DNS 劫持和按应用路由;但是否真正接管,还取决于系统路由、权限和防火墙。mihomo 入站与 TUN 说明
  3. 确认应用是否绕过代理。浏览器、终端、下载工具和办公软件可能各自使用独立代理设置;系统代理开启,不代表所有应用都会遵守。
  4. 确认 DNS 行为。如果域名解析结果影响规则匹配,DNS、IPv6 或客户端的域名解析策略可能造成“规则看似正确但仍走错线路”。v2rayN 文档明确区分了直连 DNS、远程 DNS 和 Bootstrap DNS 的作用,修改前应以当前内核说明为准。v2rayN 界面与 DNS 说明

前置检查的成功标准是:客户端状态为已连接;请求日志能看到目标域名;系统代理或 TUN 状态与当前使用方式一致;浏览器和目标应用确实产生了可观察的连接记录。

最短流程:按“匹配条件→处理策略”写分流规则

一条分流规则通常由两部分组成:前半段说明“匹配什么”,后半段说明“匹配后怎么处理”。处理策略常见为 PROXY、DIRECT 和 REJECT,但具体名称必须以客户端现有代理组或策略名称为准。

1. 先写最具体的域名规则

常见匹配类型可以这样理解:

  • DOMAIN:匹配一个完整域名,适合精确指定单个主机。
  • DOMAIN-SUFFIX:匹配域名后缀,通常会覆盖主域名及其子域名。
  • DOMAIN-KEYWORD:只要域名中出现关键词就可能命中,范围较宽,误匹配风险更高。
  • IP-CIDR:匹配一段 IPv4 地址范围;IPv6 通常使用对应的 IPv6 CIDR 规则。
  • GEOIP:按目标 IP 的国家或地区库匹配,数据库更新和解析结果会影响判断。
  • PROCESS-NAME 或进程路径类规则:按应用进程匹配,但支持情况取决于客户端、系统和运行模式。

mihomo 官方规则文档列出了 DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD、GEOIP、IP-CIDR、PROCESS-PATH 和 MATCH 等类型;其中 MATCH 用于匹配所有尚未命中的请求。mihomo 路由规则说明

2. 让精确规则排在宽泛规则前面

规则通常按从上到下的顺序检查,命中后就停止继续匹配。v2ray 的路由文档明确说明,规则数组按顺序处理,某条规则生效后会将连接交给对应的 outbound;v2rayN 的界面文档也提醒,新增规则后需要调整顺序。V2Ray 路由规则文档 v2rayN 路由顺序说明

因此,推荐顺序是:局域网直连 → 精确域名规则 → 域名后缀规则 → IP 或地区规则 → 应用规则 → 最终兜底规则。不要把宽泛的关键词规则或 MATCH 放在前面,否则后面的精确规则可能永远不会执行。

3. 三个可改写的示例

  • 指定网站走代理:DOMAIN-SUFFIX,example.com,PROXY
  • 局域网和私有地址直连:IP-CIDR,192.168.0.0/16,DIRECT,no-resolve、IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  • 国内 IP 直连、其他请求交给代理:GEOIP,CN,DIRECT,最后再放客户端实际存在的代理策略作为兜底

上面的域名、地区代码和策略名称只是示例。请把 example.com 替换成真实域名,并确认 PROXY、DIRECT 等名称与当前配置一致;不要直接复制不存在的策略名。

不同客户端怎么落地:桌面、移动端和 VPN App 的差异

Clash 或 mihomo 类客户端:通常在配置文件或配置编辑界面中处理 mode、rules、代理组和 TUN。mihomo 支持通过代理端口、TUN 和 listeners 接收流量;需要全设备分流时,重点检查 TUN 是否启用及其权限,而不是只看系统代理开关。规则集也可以独立维护,官方文档支持 classical 类型的 DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD、IP-CIDR 和 GEOIP 等内容。mihomo 规则集格式说明

v2rayN:在路由或自定义路由界面中添加规则,通常需要填写匹配字段、出站标签和启用状态。v2rayN 官方 Wiki 的示例包含阻断广告、局域网 IP 直连和最终代理兜底等规则;它还提醒每条规则的 Domain、IP 或进程名字段应按界面逻辑填写,实际字段名称以当前版本为准。v2rayN 自定义路由规则说明

v2rayNG 或其他 Android 客户端:先区分“域名/IP 分流”和“按应用分流”。前者依赖核心路由规则,后者还依赖 Android VPN 接口、应用选择和客户端实现。不要因为客户端显示已连接,就默认所有应用都已经被接管;应在客户端日志和实际应用访问结果中分别验证。

iPhone、iPad 和 macOS:是否能按应用分流,取决于客户端是否实现并获得相应的系统网络扩展能力。Apple 文档将 per-app VPN 描述为通过应用规则把特定 App 的网络流量纳入 VPN,同时也支持按域名设置排除项;普通用户端的具体菜单由客户端决定,不能把系统能力直接当成每个 App 都提供的功能。Apple Network Extension 路由说明

如果客户端使用订阅配置,优先使用“覆写、Mixin、规则集或自定义路由”功能保存自己的规则,不要直接修改订阅生成文件。订阅更新可能重新生成配置并覆盖手工修改;修改前可以导出配置或复制规则,更新后检查规则仍在、顺序未变、代理组名称未变化。

验证方法:不要只看“已连接”三个字

  1. 看规则日志。打开目标网站或应用,观察请求是否出现,以及命中的规则类型和最终策略。若完全没有请求记录,优先排查系统代理、TUN、应用权限或应用自身代理设置。
  2. 做直连与代理对照。先在规则模式访问目标,再临时切换全局模式或直连模式。若只有全局模式可用,可能是规则没命中;若三种模式都失败,则更可能是线路、DNS、目标服务或本地网络问题。
  3. 检查出口 IP。对同一网站分别使用 DIRECT 和 PROXY 访问,比较页面显示的出口网络位置或服务端记录。无实测数据时,不要把一次访问结果写成稳定性能结论。
  4. 检查 DNS。如果域名在浏览器中解析到了不适合当前线路的地址,或者出现部分网站能开、部分网站超时,记录客户端使用的 DNS、IPv4/IPv6 状态和解析结果,再逐项恢复默认设置验证。
  5. 检查局域网设备。打印机、路由器管理页、NAS 和家庭服务通常应保持私有 IP 直连。若启用 TUN 后局域网失效,应优先确认私有地址规则和客户端的局域网访问选项。

验证完成后,建议记录“目标、规则、实际策略、访问结果、DNS、是否启用 TUN”六项信息。这样下次订阅更新或更换设备时,可以快速判断是规则变化还是网络环境变化。

分层排错:规则设置了但仍然不生效怎么办

现象优先检查恢复动作
日志没有目标请求系统代理、TUN、应用是否绕过代理先关闭应用自定义代理,重新连接客户端,再测试
规则命中但策略错误规则顺序、策略名称、代理组状态把精确规则移到宽泛规则和 MATCH 前面
只有部分域名异常DOMAIN-SUFFIX 与 DOMAIN-KEYWORD 是否过宽、IPv6 是否参与先改成精确 DOMAIN 规则,再逐步扩大范围
局域网设备打不开私有 IP 直连规则、TUN 路由和防火墙恢复私有网段 DIRECT 规则,暂时关闭 TUN 对照
订阅更新后规则消失是否直接修改了订阅生成文件改用覆写、Mixin、规则集或客户端提供的自定义路由入口
规则命中但网页仍失败DNS、证书、应用自身连接方式、目标服务状态用直连和全局模式对照,逐项恢复 DNS 与 IPv6 设置

排错时每次只改一个变量:先确认流量是否进入客户端,再确认规则命中,最后检查 DNS、IPv6、MTU 或线路。一次同时修改多个开关,往往无法判断真正原因。若需要继续处理“连接成功但无法上网”,可参考站内的 Clash 连接成功但无法上网排查指南。

边界与延伸:哪些规则不建议直接照抄

第一,不要把关键词规则当成精确域名规则。关键词可能匹配到无关子域名,先用 DOMAIN 或 DOMAIN-SUFFIX 验证范围更稳妥。第二,不要把 GEOIP 结果当成固定结论,IP 数据库、CDN 和 DNS 解析变化都可能影响结果。第三,不要默认 PROCESS-NAME 在所有系统和模式下可用,按应用分流要看客户端和系统实现。第四,不要把“客户端已连接”写成“所有流量都已代理”,必须结合日志、出口 IP 和实际应用结果确认。

如果只是想快速判断线路是否能用,可以临时使用全局模式;如果确认线路正常,再回到规则模式逐条缩小范围。若问题集中在 DNS 泄漏、DNS 解析错误或 IPv6,建议单独记录 DNS 服务器、解析结果和连接模式,不要只反复切换代理节点。站内还可以继续查看 DNS leak 检查与修复步骤、VPN 连接失败分层排查 和 Windows 客户端订阅导入与验证。

常见问题

VPN分流规则应该选全局还是规则模式?

日常使用优先选规则模式,因为它可以让指定流量走代理、其他流量直连。全局模式更适合临时测试线路,直连模式更适合判断问题是否由代理引起。

为什么我写了规则,但网站还是走错线路?

先检查客户端是否真正接管流量,再检查规则顺序和策略名称。宽泛规则或 MATCH 放在前面时,后面的精确规则可能不会执行;如果日志没有请求记录,还要排查系统代理、TUN 和应用自身代理。

DOMAIN、DOMAIN-SUFFIX 和 DOMAIN-KEYWORD 有什么区别?

DOMAIN 适合精确匹配一个域名,DOMAIN-SUFFIX 适合匹配一个域名及其子域名,DOMAIN-KEYWORD 只要域名包含关键词就可能命中,范围最大、误匹配风险也更高。

订阅更新后,自己添加的分流规则为什么消失了?

如果直接修改了订阅生成文件,更新订阅时可能被重新生成。更稳妥的做法是使用客户端提供的覆写、Mixin、规则集或自定义路由功能,并在更新后检查规则顺序和策略名称。

指定应用分流和指定网站分流是一回事吗?

不是。指定网站分流主要依赖域名或 IP 规则;指定应用分流还依赖操作系统和客户端是否支持按应用识别或 VPN 应用规则。移动端尤其要以当前客户端实际提供的应用选择功能为准。

相关阅读

参考资料

  1. mihomo General configuration:运行模式说明
  2. mihomo 路由规则文档
  3. mihomo 入站与 TUN 配置说明
  4. mihomo 规则集内容格式
  5. V2Ray Routing 官方文档
  6. v2rayN 自定义路由规则说明
  7. v2rayN 界面、规则顺序与 DNS 说明
  8. Apple Network Extension:VPN 网络流量路由