v2rayN 规则怎么设置?国内直连、指定代理与不生效排查
简答:v2rayN 规则设置的核心是:先选择路由模式,再在“设置→路由设置”中编辑规则集,最后按“具体规则在前、宽泛规则在后、兜底规则最后”的顺序保存并激活。只开系统代理时,通常只有遵守系统代理的应用会受规则影响;希望覆盖更多程序时,还要根据当前核心和权限配置 TUN。
定义:v2rayN 路由规则是根据域名、IP、端口、协议或进程等条件,把匹配到的流量交给代理、直连或阻止出站的配置。
先试这一步:按需求选择模式并确认规则入口
如果你只是想让不同网站分别走直连或代理,先打开 v2rayN 的“设置→路由设置”,确认当前使用的是哪个规则集,再根据下表选择方式。v2rayN 官方说明指出,路由规则按先后顺序匹配,前面的规则命中后,后面的规则不会继续生效;因此不要只添加规则而忽略排序。
| 需求 | 建议做法 | 生效前提 |
|---|---|---|
| 大多数流量走代理 | 使用带代理兜底的规则集,国内或局域网规则放在前面 | 当前配置已激活,程序确实使用 v2rayN 代理 |
| 国内网站直连、其他流量代理 | 国内域名或 IP 规则设为 direct,代理兜底放最后 | 规则集中的出站标签名称与当前配置一致 |
| 指定域名走代理 | 在宽泛规则之前添加该域名,出站动作设为 proxy | 域名必须填写在当前编辑器支持的字段中 |
| 局域网地址直连 | 使用 private 域名或 private IP 规则,出站动作设为 direct | 应用请求确实经过 v2rayN 的接管路径 |
| 指定程序分流 | 填写进程名并选择出站动作 | 通常需要 TUN、进程识别支持和相应权限 |
官方界面说明中,路由入口包含“一键导入规则集”“导入规则”和“规则列表”等功能;部分版本或已有配置可能已经带有默认规则集,不要为了重复配置而盲目导入。操作路径和按钮文字可能随版本变化,请以当前界面为准。可先查看 v2rayN 官方界面说明。
照着做:新建或修改一组 v2rayN 规则
- 打开路由设置。进入“设置→路由设置”,先确认当前规则集名称、域名解析策略和核心类型。v2rayN 同时支持不同核心,界面能填写的字段和实际生成方式可能不同。
- 选择规则集来源。如果已有合适的规则集,先复制或编辑它;如果需要自定义,可以使用“从文件导入”“从剪贴板导入”或“从订阅 URL 导入”。不要把节点地址、订阅链接、密码或密钥直接写进公开规则文件。
- 添加匹配条件。在规则详情中,根据需求填写 Domain、IP、进程名、Port、Protocol 等当前界面提供的字段。v2rayN 官方说明提醒,Domain、IP 和进程名通常只应选择其中一类作为主要匹配条件;如果同时填写,程序可能拆分为多条规则。
- 选择出站动作。常见标签含义是:
proxy代表交给代理出站,direct代表直连,block代表阻止该流量。实际标签名称不一定固定,必须以当前配置中的出站标签为准。 - 保存并激活。保存规则集后,回到主界面确认它已经成为当前活动规则集。仅保存文件不等于已经使用;如果界面提供“应用”“启用”或切换活动规则集的操作,要完成切换。
- 重新建立连接后验证。先关闭并重新打开测试程序,或让目标请求重新发起。已有连接可能仍沿用旧路径。再通过日志、访问结果和当前活动规则集逐层确认。
Xray 官方的 Routing 文档将规则对象拆分为域名、IP、端口、网络、协议、进程和出站标签等字段;但 v2rayN 是图形界面,不能把 Xray 配置字段机械地套用到所有核心或所有版本。
常用写法:国内直连、指定域名代理和局域网直连
下面示例只说明匹配思路,具体字段名称、出站标签和可选值请以当前 v2rayN 编辑器为准。Xray 的官方规则文档列出了 geosite:、geoip:、CIDR、端口、网络和进程等匹配形式。
| 场景 | 匹配条件示例 | 出站动作 | 排序位置 |
|---|---|---|---|
| 局域网 IP 直连 | geoip:private 或当前界面提供的私有地址规则 | direct | 靠前 |
| 局域网域名直连 | geosite:private 或对应私有域名规则 | direct | 靠前 |
| 指定网站代理 | 填写目标域名,或使用当前核心支持的域名匹配方式 | proxy | 宽泛规则之前 |
| 国内域名或 IP 直连 | geosite:cn、geoip:cn,前提是当前规则数据可用 | direct | 代理兜底之前 |
| 广告域名阻止 | 使用当前规则集提供的广告域名分类 | block | 按需求放置,不能遮挡必须放行的例外 |
| 其他流量兜底 | 不填写具体匹配条件,或使用当前规则集的兜底写法 | proxy 或 direct | 最后 |
推荐采用一套明确顺序:必须直连的局域网和具体例外 → 必须代理的具体域名或程序 → 国内直连分类 → 广告阻止规则(如确有需要)→ 最终兜底规则。广告规则是否放在国内直连之前,取决于你是否希望广告域名无论地区都被阻止;如果某个域名必须直连或必须代理,就要把它放在可能提前命中的宽泛广告、国内或兜底规则之前。
不要把“局域网直连”和“广告阻止”归为同一类。前者的出站动作通常是 direct,后者才可能是 block;两者的目的和排错方法不同。
规则为什么不生效:按四层快速定位
| 检查层 | 你要确认什么 | 常见修正 |
|---|---|---|
| 规则层 | 目标域名、IP、端口或进程是否真的匹配;具体规则是否排在宽泛规则前面 | 先临时保留一条明确的域名规则,并把它移到兜底规则之前 |
| 出站层 | 规则指向的 proxy、direct 或 block 标签是否存在 | 改用当前配置中实际存在的出站标签 |
| 接管层 | 测试程序是否使用系统代理;不遵守系统代理的程序是否启用了 TUN 或其他接管方式 | 先用浏览器测试系统代理,再单独排查 TUN、权限和核心支持 |
| 解析层 | 域名规则是否受 DNS 解析策略影响,规则数据文件是否存在或可读取 | 检查当前规则集的域名解析策略,并以 v2rayN 当前设置页为准 |
- 先确认规则集已经保存,并且主界面显示为活动规则集。
- 再确认测试应用产生的是新连接,而不是旧连接复用。
- 查看日志中是否出现目标域名、进程或出站标签;如果完全没有相关记录,优先检查系统代理或 TUN 是否接管了该应用。
- 把复杂规则暂时缩减为“一条指定域名规则+一条兜底规则”,确认基础链路正常后再逐条加回。
只开启系统代理时,不是所有程序都会自动遵守它;而启用 TUN 后,仍要考虑当前核心、系统权限、进程识别和路由排除设置。v2rayN 官方界面说明也将 TUN 协议栈、自动路由和路由排除地址列为独立设置,因此不要把“规则已写入”直接等同于“所有程序都会命中”。
三个容易混淆的区别
- 规则模式与系统代理不同:规则决定流量命中后走哪个出站;系统代理决定哪些应用把请求交给本地代理入口。
- 系统代理与 TUN 不同:系统代理依赖应用遵守系统代理设置;TUN 是更底层的接管方式,但需要结合当前核心、权限和路由设置判断。
- 节点延迟与规则验证不同:节点列表中的延迟测试不能证明某个网站一定命中了指定规则。要验证分流,应使用新连接、日志和实际访问结果共同判断。
如果你还没有确认系统代理和应用代理的边界,可以先阅读站内的 系统代理与应用代理区别;如果遇到的是整体连接失败,而不是单条规则不命中,可查看 v2rayN 连接失败排查。需要区分节点延迟、丢包和实际访问体验时,再参考 节点延迟测速方法。
本文是第三方使用指南,核对日期为 2026 年 10 月 25 日;v2rayN 菜单、核心和规则数据可能变化,涉及具体字段时请以当前界面和对应核心文档为准。
常见问题
v2rayN 规则怎么设置才是国内直连、其他流量代理?
在“设置→路由设置”中使用或编辑规则集,把国内域名或 IP 规则的出站动作设为 direct,并把代理兜底规则放在最后。保存后还要确认该规则集已经成为活动规则集。
为什么我写了域名规则,但访问时没有走代理?
先检查规则是否排在更宽泛的规则前面,再检查出站标签是否存在、测试程序是否使用系统代理,以及是否需要 TUN 才能接管该程序。最后通过新连接和日志确认是否命中。
v2rayN 里的 proxy、direct、block 分别是什么意思?
通常 proxy 表示交给代理出站,direct 表示直连,block 表示阻止流量。但标签可能因配置或核心不同而变化,应以当前配置中的实际出站标签为准。
指定程序分流是不是只开系统代理就可以?
不一定。程序匹配通常还依赖 TUN、进程识别支持和系统权限;如果程序不遵守系统代理,仅编辑规则并不能保证它的流量会被 v2rayN 接管。