v2rayN 教程:代理规则怎么设置?
简答:v2rayN 规则不生效,通常是系统代理入口、核心路由顺序或 DNS 解析策略没有配合。先选“自动配置系统代理”,再按需设置路由预设,并把自定义 domain、IP 规则置于通用规则之前。
定义:v2rayN 代理规则,是由系统代理或 TUN 负责接收流量,再由核心路由规则决定流量走 proxy、direct 还是 block 的分流机制。
先试这一步:规则不生效时先看四个位置
选了全局却仍然直连、添加规则后网站没有变化,通常不是规则语法本身,而是系统代理入口、路由规则顺序、活动规则集或 DNS 解析策略没有对上。先按下面的速查卡检查,再进入详细设置。
| 要解决的问题 | 先设置什么 | 然后检查什么 |
|---|---|---|
| 普通浏览器按规则分流 | 系统代理选择“自动配置系统代理” | 路由选择“绕过大陆”或当前界面中的同义预设 |
| 只有指定域名走代理 | 系统代理选择“自动配置系统代理” | 自定义 domain 规则指向 proxy,并置于宽泛规则之前 |
| 指定域名必须直连 | 系统代理选择“自动配置系统代理” | 使用 full: 或 domain:,指向 direct |
| 临时判断是否为分流问题 | 系统代理选择“自动配置系统代理” | 暂时使用全局路由,测试后恢复原来的分流设置 |
| 应用完全不遵循系统代理 | 检查应用自身代理设置 | 必要时再检查 TUN 权限、虚拟网卡和路由 |
| 确认规则是否命中 | 打开 v2rayN 连接日志 | 看目标域名、命中的规则或出站名称,而不是只看网页能否打开 |
文字版流量路径是:应用→系统代理或 TUN→v2rayN 入站→核心路由规则按顺序匹配→proxy、direct 或 block 出站。系统代理解决“流量能不能进入核心”,路由规则解决“进入核心后往哪里发”。v2rayN 官方说明也将这两层功能分开描述,参见系统代理和路由说明。
本站是第三方使用指南站,不代表 v2rayN 或任何订阅服务的官方立场。
首次配置:导入订阅、选择节点并开启系统代理
先确认客户端已经安装,准备一个可以正常访问的订阅地址,并确认系统时间准确。时间偏差会导致部分协议的 TLS 或其他握手过程失败。订阅支持的协议和格式由订阅内容决定,v2rayN 文档列出了 VMess、Shadowsocks、SOCKS、VLESS、Trojan、Hy2、TUIC、WireGuard 和 AnyTLS 等订阅协议类型,具体仍以订阅实际内容和所选核心为准,参见v2rayN 订阅功能说明。
- 打开 v2rayN,进入“订阅管理”“订阅分组设置”或当前版本中含义相近的菜单。
- 添加订阅地址,保存后执行“更新订阅”。如果列表为空,先检查地址是否完整、系统时间是否准确,以及订阅地址是否需要额外请求头。
- 确认节点列表出现后,选择一个节点,使用“设为活动服务器”或当前版本中的同义选项。
- 在系统代理菜单中选择“自动配置系统代理”。该选项会把操作系统支持系统代理的软件指向 v2rayN 的本地入站。
- 在路由功能中选择“绕过大陆”或当前界面中含义相同的分流预设,然后重启核心。
- 访问一个需要代理的站点,同时打开 v2rayN 信息栏或日志,确认是否出现目标域名和代理出站记录。
截至 2026-10-24,Releases 标记为 Latest 的是 7.24.9;7.25.2 在发布页显示为预发布版本。后续版本可能调整菜单名称、规则集入口和核心选项,实际操作应以当前界面为准,参见v2rayN Releases和v2rayN Wiki。
先分清两层:系统代理选项与路由预设
系统代理决定操作系统中遵循系统代理的软件是否进入 v2rayN 核心;路由规则决定进入核心后的流量使用哪一个出站。部分应用不遵循系统代理,即使浏览器已经可以访问,也不能据此判断所有应用都会使用相同规则。
| 系统代理选项 | 作用 | 适用场景 |
|---|---|---|
| 自动配置系统代理 | 设置操作系统代理,将支持系统代理的软件流量送入核心 | 首次配置、浏览器和普通桌面应用 |
| 清除系统代理 | 清除 v2rayN 写入的系统代理设置 | 停止使用或排查代理残留 |
| 不改变系统代理 | 启动或重启时不修改当前系统代理 | 由其他软件管理系统代理 |
| PAC 模式 | 通过 PAC 脚本决定哪些请求进入核心 | 部分版本和平台提供,以当前界面为准 |
PAC 属于系统代理层,不能直接替代核心路由规则。v2rayN 官方说明将“清除系统代理”“自动配置系统代理”“不改变系统代理”和 PAC 分别列出,参见系统代理和路由说明。
| 路由预设 | 常见处理方式 | 适用场景 |
|---|---|---|
| 绕过大陆 | 符合本地规则的目标优先直连,其他目标按规则处理 | 希望常见本地站点直连,其余流量按分流规则处理 |
| 黑名单 | 命中黑名单的目标使用代理,未命中的目标通常直连 | 只让明确列入规则的站点进入代理 |
| 全局 | 将进入核心的流量优先送往代理出站 | 临时排查分流问题或需要统一代理 |
| 全部直连 | 通过自定义规则把目标指向 direct | 测试本地网络或排查代理是否导致连接异常 |
“直连”不一定是每个版本都提供的同名路由预设。如果界面没有“全部直连”,可以用自定义规则将目标指向 direct;不要把它和 PAC 放在同一层理解。
添加自定义规则:按界面路径完成域名和 IP 分流
自定义规则建议优先通过 v2rayN 界面添加,不要直接覆写整个核心配置。不同版本的菜单名称可能略有变化,但可以按下面的路径寻找:
- 打开“设置”或“参数设置”。
- 进入“路由设置”或“路由高级设置”。
- 选择已有规则集,或者新建一个自定义规则集。
- 点击“添加规则”;如果当前版本显示“导入规则”或其他名称,以当前界面为准。
- 在 Domain、IP 或进程名中选择一种匹配类型,并填写匹配值。Domain、IP 和进程名通常只填写其中一项,再结合端口、网络类型等条件。
- 在 OutboundTag 或出站动作中填写或选择
proxy、direct、block之一。v2rayN 自定义路由示例使用这些出站标签,具体可用名称仍以当前核心生成的配置和界面为准。 - 保存规则后,将它上移或置顶,避免先被宽泛的直连或代理规则匹配。
- 将规则集设为活动规则集,重启核心,再通过连接日志验证。
v2rayN 官方自定义路由说明使用 outboundTag 指向 proxy、direct 或 block,并给出了 Domain、IP、端口和网络条件的示例,参见v2rayN 自定义路由规则说明。
| 写法 | 匹配范围 | 适用场景 | 动作示例 |
|---|---|---|---|
domain:example.com | 目标域名及其子域名 | 让一个站点及子域名统一处理 | proxy 或 direct |
full:example.com | 只匹配完整域名 | 只处理一个精确域名 | proxy 或 direct |
keyword:example | 域名中包含指定字符串 | 临时匹配名称相近的一组域名 | 使用前注意误匹配 |
geosite:cn | 预置域名分类 | 按域名分类进行分流 | direct 或 proxy |
192.0.2.0/24 | 一个 CIDR 网段 | 按 IP 范围处理流量 | proxy、direct 或 block |
geoip:cn | 预置 IP 地区分类 | 按目标 IP 分类分流 | direct 或 proxy |
示例中的 example.com 和 192.0.2.0/24 只用于说明格式,不代表实际服务地址。需要覆盖子域名时优先考虑 domain:;只处理精确域名时使用 full:;keyword: 范围更宽,误匹配风险也更高。
进程名匹配是否生效取决于操作系统、所选核心和当前版本实现。Xray 与 sing-box 对进程相关条件的支持范围并不完全相同,因此新手优先使用 domain、geosite、IP 或 CIDR;只有确认当前核心支持后,再使用进程名规则。
规则顺序、domainStrategy 与 DNS:为什么写了还是直连
路由规则不是同时投票,而是按列表从上到下判断。第一条有效匹配确定出站后,后面的规则不会继续处理;如果没有任何规则命中,Xray 会使用第一个出站。因此,指定域名规则必须放在宽泛的地区规则、默认直连规则或默认代理规则之前。参见Project X 路由文档。
- 先确认规则集已启用:保存规则后要将其设为活动规则集,必要时重启核心。
- 再检查规则位置:把
full:或domain:规则上移到通用规则之前。 - 检查匹配范围:
full:不会自动覆盖子域名;要覆盖子域名,应使用domain:。 - 检查 domainStrategy:
AsIs不额外解析域名;IPIfNonMatch在域名规则未命中后再解析 IP 并进行第二轮匹配;IPOnDemand在遇到 IP 条件时按需解析。使用 geoip 或 CIDR 规则时,域名解析策略会影响 IP 规则能否参与匹配。 - 检查 DNS:v2rayN 的 DNS 页面按核心提供不同选项。Xray 中,路由阶段是否将域名解析为 IP,与 domainStrategy 和 IP 规则有关;不要只改变 DNS 地址,却不检查路由解析策略。
- 检查 IPv6:如果域名同时返回 IPv4 和 IPv6,而规则只覆盖其中一类地址,实际连接路径可能与预期不同。
- 检查 QUIC、UDP 和应用自带 DNS:部分应用不完全遵循系统代理,或使用自己的 DNS 与连接模块。此时应检查应用代理设置,必要时再考虑 TUN。
Xray 官方对三种 domainStrategy 的定义和规则顺序有明确说明;v2rayN 的界面文档也提醒域名解析策略与规则集关联,参见Project X 路由文档和v2rayN 重要界面功能说明。
怎么验证:不要只看网页能不能打开
验证目标网站是否真正按规则走代理,建议同时看日志和规则结果:
- 打开 v2rayN 主界面的信息栏、连接日志或文件日志。
- 访问目标域名,观察日志中是否出现目标域名、命中的规则或出站名称。
- 类似
[socks -> proxy]、outbound: direct的记录可以帮助判断出站方向,但不同核心和日志级别的格式可能不同。 - 把同一个域名分别放入
proxy和direct规则中测试,确认规则变化是否会带来日志变化。 - 如需进一步确认,可对比代理开启前后的出口 IP;出口 IP 变化只能说明连接路径发生变化,不能单独证明所有域名都命中了预期规则。
如果日志完全没有目标请求,先查系统代理是否开启、应用是否遵循系统代理,以及是否需要 TUN;如果日志有请求但出站不对,再查规则顺序、活动规则集、domainStrategy 和 DNS。
本地监听端口不要照抄其他客户端的常见端口。v2rayN 设置页中的“本地混合监听端口”会影响 SOCKS、HTTP、PAC、API 等相关端口,当前端口应以“设置→核心基础设置”中的实际值为准;官方界面说明还列出了相关端口之间的递增关系,参见v2rayN 重要界面功能说明。
常见问题:代理规则设置后仍然直连怎么办
遇到规则不生效时,按“系统代理入口→活动规则集→规则顺序→DNS 与 domainStrategy→日志命中”这个顺序检查,通常比反复更换节点更容易定位问题。
常见问题
v2rayN 的系统代理和路由规则有什么区别?
系统代理决定哪些遵循系统代理的软件进入 v2rayN 核心;路由规则决定进入核心后的流量走 proxy、direct 还是 block。PAC 属于系统代理层,绕过大陆、黑名单和全局属于路由层。
v2rayN 添加自定义规则后为什么仍然直连?
先确认规则集已设为活动规则集,再检查规则是否置于通用规则之前,以及 domain、full 或 IP 写法是否正确。使用 geoip 或 CIDR 时,还要检查 domainStrategy、DNS 和 IPv6。
domain、full 和 keyword 应该怎么选?
需要覆盖主域名及子域名时用 domain;只匹配一个完整域名时用 full;按字符串包含关系匹配时用 keyword,但 keyword 更容易误匹配,应优先使用范围更明确的 domain。
PAC 模式是不是等于黑名单模式?
不是。PAC 是系统代理层的脚本筛选方式,黑名单是核心路由层的分流预设。部分版本提供 PAC,名称和位置以当前界面为准;两者分别影响流量是否进入核心以及进入核心后的出站选择。
v2rayN 自定义规则里的 proxy、direct、block 怎么选?
需要通过代理发送时选择 proxy,需要绕过代理时选择 direct,需要阻止匹配流量时选择 block。具体出站标签以当前核心和界面生成的配置为准,不要照抄其他客户端的策略组名称。
如何确认某个网站到底走了代理还是直连?
打开 v2rayN 连接日志,查看目标域名、命中的规则或出站名称,例如类似“socks -> proxy”或“outbound: direct”的记录;再结合代理前后的出口 IP 对比,不能只凭网页能否打开判断。