适合已经导入订阅、能够连接节点,但还没有理清系统代理和路由模式的桌面用户。先让浏览器流量进入 v2rayN,再用「绕过大陆」预设区分直连与代理,最后用连接日志验证结果。全程先保留预设,只为确有需要的域名增加例外规则。
先分清系统代理与路由分流
系统代理解决“请求是否进入客户端”,路由规则解决“进入以后从哪里出去”。两者不是同一个开关。即使选择了「绕过大陆」,未使用系统代理、也没有单独配置代理的程序,仍可能直接通过原网络访问。
以浏览器访问网页为例,开启系统代理后,支持读取系统代理设置的浏览器把连接交给本地监听端口;内核再根据目标域名、目标 IP 等条件匹配规则。匹配到直连的请求从本机网络发出,匹配到代理的请求交给所选节点。
因此,“设置系统代理”不等于“所有网站走节点”,“清除系统代理”也不等于关闭客户端里的路由规则。开始排查前,先确认请求有没有进入内核,再看命中了哪条规则,避免在错误的环节反复修改。
启用「绕过大陆」并保留原配置
不同 v2rayN 版本的菜单位置和预设名称可能略有调整。常见桌面界面可从「设置」→「路由设置」管理规则,再从主界面底部的路由选择项切换方案。这里的「绕过大陆」指国内域名或地址直连、其余请求通常交给代理的预设,具体出站由域名和 IP 匹配规则决定。
- 记录当前配置。记下当前路由方案、系统代理状态和活动服务器。准备修改预设时,优先复制为自己的方案;界面支持导出时,同时保存一份备份。
- 确认节点可用。导入订阅后选择一个活动服务器,先确认该节点能正常连接。订阅链接负责提供服务器配置,不会自动替用户决定全部路由策略。
- 检查本地入口。打开「设置」→「参数设置」,找到本地监听端口相关项目。记录界面实际显示的地址、端口和支持的代理协议,不要照抄别人的端口。
- 设置系统代理。在主界面或托盘菜单的「系统代理」项选择「自动配置系统代理」。确认不是仍停留在「清除系统代理」。
- 选择分流预设。在路由选择项切换到「绕过大陆」或说明等价的方案。检查其规则是否包含国内直连,以及未命中规则时的默认去向。
- 重新发起连接。保存设置,按界面提示重启内核。关闭旧网页连接后再访问测试站点,避免沿用切换前已建立的连接。
不要把「全局代理」作为国内外分流的最终状态。它适合临时判断节点能否访问目标服务,但会改变国内网站的出口位置。测试完应切回目标分流方案,再重新建立连接。
这三个数字分别属于本地入口、网页目标服务和域名解析,不能互相替代。下文的 10808 只是演示值,不代表所有安装的默认端口;如果实际监听端口不同,测试命令也必须一起修改。
理解直连、代理、阻断与规则顺序
路由规则通常按从上到下的顺序匹配,先命中的规则决定出站。某条宽泛规则放得太靠前,后面的精确例外就可能失效。开始自定义时,只新增一条确有需要的例外,并放在会与它冲突的宽泛规则之前。
| 出站类别 | 连接路径 | 适用情况 | 验证重点 |
|---|---|---|---|
| 直连 | 本机网络直接连接目标 | 国内站点、局域网设备 | 日志显示直连出站,而非节点出站 |
| 代理 | 通过活动服务器连接目标 | 需要代理访问的海外服务 | 日志显示代理出站,节点连接正常 |
| 阻断 | 内核拒绝或丢弃匹配连接 | 明确不希望访问的特定域名 | 请求失败,并出现对应阻断记录 |
界面中的“直连”和配置里的出站标签不是一回事。某份配置可能使用 direct、proxy、block 作为标签,但标签只是名称,必须对应实际存在的出站定义。不要仅改一个单词,就认为已经建立了对应的连接方式。
国内直连规则
- 域名条件
geosite:cn- IP 条件
geoip:cn- 目标出站
- 已有的直连出站
- 组织方式
- 域名、IP 分为两条规则
同一规则同时填写 domain 与 ip 时,通常需要同时满足;分开写更符合“任一条件命中即可直连”的意图。
海外代理例外
- 精确域名
full:example.com- 域名及子域
domain:example.com- 目标出站
- 已有的代理出站
- 规则位置
- 放在冲突的宽泛规则前
example.com 用于演示语法;实际配置时填写需要调整的服务域名,不要把演示域名当成服务清单。
geosite:cn 是域名分类,不是“所有中文网页”;geoip:cn 是 IP 分类,也不等于网站经营主体所在地。服务可能使用海外 CDN,国内域名也可能解析到不同地区的地址,所以要以实际请求和命中日志判断,不能只看网页名称。
用最小规则理解自定义分流
下面展示 Xray 路由结构中的一个片段,帮助理解精确例外、国内域名直连、国内 IP 直连的顺序。它不是完整客户端配置,也不是可以直接粘贴到任意 v2rayN 规则导入窗口的格式。使用界面编辑时,将相同条件分别填入对应规则即可。
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"domain": ["full:example.com"],
"outboundTag": "proxy"
},
{
"type": "field",
"domain": ["geosite:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"ip": ["geoip:cn"],
"outboundTag": "direct"
}
]
}
}
- 先核对出站标签。示例假设配置中已经定义名为
proxy和direct的出站。若实际名称不同,引用也要相应调整。 - 理解解析时机。
IPIfNonMatch表示域名尚未匹配到规则时,尝试解析 IP 并继续匹配 IP 规则;已命中域名规则的请求不需要为路由再做这一步。 - 检查分类资源。使用
geosite与geoip条件需要内核能够读取对应分类数据。出现资源加载错误时,先用客户端提供的更新方式修复资源。 - 保留默认去向。片段没有定义未命中规则时的默认代理。Xray 在没有规则匹配时通常使用第一个出站;v2rayN 也可能通过生成的最终规则表达默认策略,应检查实际生成配置。
阻断规则同样遵循先命中原则。只有明确知道目标域名用途时才添加,并先用一个精确域名测试。把整个共享域名分类直接阻断,可能连带影响登录、验证码或静态资源,表现为网页能打开但关键功能不可用。
验证国内直连和海外代理是否生效
验证要同时看“连接成功”和“出站正确”。网页打开得快,不代表一定直连;某个出口查询页面显示节点地址,也只能说明该查询请求的路径,不能证明其他网站都采用相同路径。
- 查看内核日志。在 v2rayN 的日志区域寻找新连接记录。如果当前日志级别没有连接信息,可在「设置」→「参数设置」中的内核相关选项临时将日志级别调整为
info,应用后重新测试。 - 单独测试国内网站。访问一个日常使用的国内站点,例如
www.baidu.com。按域名或解析后的目标地址查找记录,确认对应的是直连出站。 - 单独测试海外服务。访问实际需要代理的服务,确认新连接走代理出站。一个页面可能请求多个域名,要区分主页面、登录接口与图片资源。
- 记录修改前后结果。写下测试时间、路由方案、目标域名、出站标签和错误提示。每次只改一项,避免同时切换节点、DNS 和路由后无法判断原因。
也可以用命令行明确指定本地 HTTP 代理入口,排除程序没有读取系统代理的情况。以下命令适用于 Windows 的 curl.exe,前提是 127.0.0.1:10808 确实提供 HTTP 代理;如果该端口只支持 SOCKS,就不能照搬这个写法。
curl.exe --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://www.baidu.com/
curl.exe --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://www.wikipedia.org/
命令里的 10 秒是连接超时上限,20 秒是整次请求的时间上限,不是速度测量结果。第二个域名只是海外服务测试对象,是否实际走代理仍应以当前规则和日志为准。出现 HTTP 状态码说明收到了响应,但具体状态还可能受站点访问策略影响。
结论:用两次新连接核对出站
分别请求一个国内站点和一个需要代理的海外服务,在日志中找到各自的新连接。只有看到前者走直连、后者走代理,才能确认这组测试达到了分流目标;不要只凭一个出口 IP 页面下结论。
处理分流不准、网页失败与订阅更新疑问
DNS 是分流中经常被忽略的一层。浏览器启用安全 DNS 后,域名解析可能由浏览器自行完成;请求以 IP 进入内核时,域名规则能否命中又取决于入站信息和嗅探设置。不要一遇到问题就全局开启嗅探,先确认日志中究竟拿到了域名还是只有 IP。
选了「绕过大陆」,国内网站怎么还走代理?
先查是否有靠前的全匹配代理规则,再确认访问域名是否在分类中。若只对一个服务有明确需求,可在国内分类规则前添加该服务的精确直连规则。不要为了一个域名直接把所有未命中流量改为直连。
浏览器正常,其他程序为什么不走代理?
打开该程序时观察是否产生新的内核连接记录。如果没有,说明它可能未读取系统代理;先在程序内指定实际的本地代理地址和协议。必须接管这类程序时,再单独评估 TUN,并保留已有路由策略。
海外网页打不开,要不要先换 DNS?
先用临时全局代理测试同一节点和目标。全局可访问、分流失败时,重点查命中规则和域名解析;两种模式都失败时,先检查节点连接及日志。调整 DNS 前记录原设置,每次只换一项,完成后重新建立连接。
更新订阅会把自定义规则清掉吗?
常规订阅更新主要刷新服务器条目,自定义路由通常独立保存。导入整套配置、恢复备份或重置设置则是另一类操作。修改前导出路由或复制方案,更新后核对活动服务器和当前路由,不要把订阅更新当成规则维护。
完成测试后,把临时提高的日志级别调回日常设置,并保留一份已验证的路由方案。向他人求助时,只提供必要的目标域名、错误信息和经过处理的配置片段;订阅链接、节点凭据以及包含访问记录的完整日志不宜公开。
- 先确认流量进入客户端,再检查路由规则。
- 优先使用预设,精确例外放在冲突规则前。
- 同时验证国内直连和海外代理,不只看网页是否打开。
- 出现异常时恢复上一份方案,再逐项定位。