系统代理决定支持该设置的应用是否把请求交给 v2rayN;全局与绕过大陆决定已接入内核的请求走哪个出口。本文以 Windows 桌面为操作参照,说明托盘菜单、路由预设、本地端口和终端测试之间的关系,帮助区分“请求没有进入代理”和“进入后被规则直连”这两类问题。
先分两层:应用接入与内核路由
v2rayN 是桌面图形客户端,负责管理连接配置、启动代理内核以及修改系统代理设置。应用请求要先进入内核的本地监听入口,之后才有路由匹配。节点已经选中、内核已经运行,不等于所有应用都开始使用代理。
- 应用层:浏览器或开发工具决定是否读取系统代理,也可能使用自己的代理设置、环境变量或直接连接。
- 接入层:读取系统代理的应用,将适用请求交给配置中的本地地址和端口,例如
127.0.0.1:10808。 - 路由层:内核根据域名、IP、端口等条件匹配规则,选择代理、直连或阻断出口。
- 连接层:代理出口再使用当前节点的协议与传输配置连接远端;VMess、VLESS 属于这一层的连接配置,不是系统代理模式。
因此,“设置系统代理+绕过大陆”并不矛盾:前者让应用接入,后者允许其中一部分请求从直连出口发出。相反,“清除系统代理+全局”也可以存在,但普通浏览器可能没有把请求交给内核,路由预设便没有机会处理这些请求。
设置与清除系统代理:在哪里点、改变了什么
在 Windows 通知区域右键单击 v2rayN 图标,打开「系统代理」菜单。常见版本提供「自动配置系统代理」「清除系统代理」「不改变系统代理」等选项。本文所说的“设置系统代理”,主要指选择「自动配置系统代理」这一操作;不同版本的显示名称可能略有差异。
| 操作 | 实际改变 | 不会替代的设置 |
|---|---|---|
| 自动配置系统代理 | 将 Windows 当前用户的系统代理指向客户端本地监听入口 | 不会替应用设置独立代理,也不会改成全局路由 |
| 清除系统代理 | 清除客户端管理的系统代理配置,使遵循该配置的应用恢复相应直连行为 | 不会清除终端变量、浏览器扩展配置或应用内代理 |
| 不改变系统代理 | 不主动修改当前系统代理状态 | 不代表关闭代理;原有系统设置可能仍然保留 |
选择后,可以到 Windows「设置」→「网络和 Internet」→「代理」核对地址与端口。若浏览器安装了代理管理扩展,还要检查扩展当前使用的是系统配置、固定代理还是自定义规则。扩展覆盖系统设置时,仅切换 v2rayN 的系统代理菜单可能看不到预期变化。
- 先启动内核并确认没有端口占用错误,再设置系统代理,避免应用被指向一个没有监听的端口。
- 临时退出客户端前,可先清除系统代理。异常结束后若网页无法访问,也应检查系统是否仍保留本地代理地址。
- 企业网络原本有代理或自动配置脚本时,变更前记录原值。清除操作不等于恢复所有既有网络策略。
全局与绕过大陆:按请求目的选择出口
在 v2rayN 主窗口底部的「路由」下拉框选择预设;需要查看具体内容时,进入「设置」→「路由设置」。内置方案名称可能带有编号、版本前缀或不同措辞,应检查名称含“全局”“绕过大陆”的对应方案,并以其实际规则为准。
绕过大陆:日常使用起点
推荐常见规则将中国大陆域名或 IP 交给直连出口,其余请求交给代理。很多方案还包含局域网直连规则,但不能仅凭名称假定已经包含,使用前应查看规则内容。
适合:同时访问本地服务、国内站点与境外站点的日常浏览。
全局:收敛出口变量
将已接入内核的请求尽量统一交给代理出口,便于短时对照测试。已有的优先规则仍可能改变部分请求去向,全局也不能修复失效节点或错误认证信息。
适合:检查分流误判、验证远端出口、复现特定站点的连接问题。
绕过大陆不等于根据网页语言分流。中文页面可以部署在境外,国际服务也可能使用境内 CDN。规则依据的是请求携带的域名、解析得到的 IP 以及规则集内容,不是页面文字。浏览器用域名访问与程序直接访问 IP,也可能触发不同的匹配路径。
两种常见方案:日常浏览与开发调试
没有必要把全局当作固定默认值。日常使用优先减少不必要的绕行;调试则优先保证实验条件一致。下面两种方案都假设节点可用、内核正常运行,且没有同时启用其他接管网络的机制。
推荐方案:按使用任务组合接入方式与路由
日常浏览
- 系统代理选择「自动配置系统代理」。
- 路由选择已核对规则的「绕过大陆」方案。
- 浏览器代理扩展使用系统配置,避免重复覆盖。
- 局域网设备和内部域名按需添加直连规则。
开发调试
- 只需调试一个命令时,显式指定本地代理端口。
- 短时切换「全局」,与绕过大陆进行同目标对照。
- 保留 localhost、环回地址及必要内网服务的绕过配置。
- 记录结果后恢复日常预设,避免影响后续测试。
一次只改一个变量:先固定节点和接入方式,再比较路由;不要同时切换节点、DNS、路由与浏览器扩展。
例如,国内代码仓库访问正常,但某个境外 API 超时,可以先保持节点不变,只将路由从绕过大陆切到全局。若全局正常、原方案失败,应继续检查目标域名是否被直连规则命中;若两种模式都失败,则应转向节点连通性、服务端限制或应用自身配置,而不是反复切换同一个预设。
- 局域网面板打不开:检查目标是私有 IP 还是内部域名,并确认对应直连规则存在。
- 国内服务出现异地登录提示:先检查它是否经代理出口访问,再调整该服务的精确规则。
- 只有一个程序异常:优先检查该程序的接入设置,不要直接重置整套订阅与路由。
用本地端口验证:浏览器与终端分别检查
打开「设置」→「参数设置」,核对本地监听端口,并结合主界面状态或启动日志确认实际值。以下使用 10808 作为示例,假设该端口接受 HTTP 与 SOCKS 请求;这不是所有版本的统一默认值。若安装版本将两类入口分开,应分别使用对应端口。
在 Windows PowerShell 中可使用 curl.exe 做显式代理测试,避免命令别名影响参数解释。下面的第一条使用 HTTP 代理入口,第二条使用 SOCKS 并把域名交给代理端处理,第三条尝试绕过 curl 的代理配置直接连接。同一目标的差异比单独一个“成功”更有诊断价值。
curl.exe --proxy http://127.0.0.1:10808 --max-time 15 -I https://example.com/
curl.exe --proxy socks5h://127.0.0.1:10808 --max-time 15 -I https://example.com/
curl.exe --noproxy "*" --max-time 15 -I https://example.com/
这些命令不依赖系统代理是否已经设置,但仍受内核路由影响:显式指定本地代理不代表请求最终一定走远端节点。如果正在使用 TUN,第三条也不能证明流量完全绕过了客户端,因为透明接管可能发生在 curl 之外。
- 无法连接本地端口:检查内核是否运行、监听端口是否正确,以及日志中是否有地址占用错误。
- 显式代理正常,浏览器异常:检查系统代理地址、浏览器扩展和浏览器自身的独立配置。
- 浏览器正常,终端异常:检查工具是否读取系统代理;必要时使用命令参数或该工具支持的代理环境变量。
- 能连接本地端口,但目标请求失败:检查路由命中结果、DNS 与远端连接日志,不要把本地监听成功当作节点可用证明。
命令返回 HTTP 状态只说明这一次目标请求得到了响应,不等于所有协议、所有网站或所有应用都正常。对实际故障域名重复测试时,应保持相同请求方法;有些服务限制 HEAD 请求,不能仅凭 -I 返回的错误就判定代理失效。
常见问题:切了模式为什么还不符合预期
已经选了全局,为什么终端出口还是原来的?
先让终端请求进入本地监听入口。使用上面的 --proxy 参数进行验证,再配置工具支持的 http_proxy、https_proxy 或专用选项。环境变量是否生效取决于具体程序,全局路由不会替程序设置这些变量。
清除系统代理后,为什么有的程序还在走节点?
依次检查程序内的固定代理、浏览器扩展、终端环境变量,以及是否启用了 TUN。清除系统代理只处理对应的系统接入配置,不会关闭这些独立路径。可先退出该程序再重新启动,排除旧连接复用。
绕过大陆时有个网站打不开,直接长期改全局可以吗?
先把全局作为对照测试。如果只有全局正常,查看该网站及其资源域名的命中规则,为确有需要的目标设置代理出口,并调整规则顺序。这样比长期扩大代理范围更容易保留局域网和国内服务的正常访问路径。
订阅更新后,系统代理与路由会一起恢复吗?
普通节点订阅主要更新连接条目,不能据此认定系统代理、路由预设和自定义规则也已恢复。更新后分别检查当前活动节点、「系统代理」状态和「路由」选择。自定义完整配置的导入还可能改变内核配置,需另外核对。
安卓端也要照着 Windows 的菜单设置吗?
不需要。v2rayNG 使用 Xray 内核,通常通过 Android VPN 接口接入流量,并结合分应用代理与路由配置控制范围;v2flyNG 使用 V2Fly 内核。接入机制与桌面系统代理不同,但“先确认请求是否接入,再检查出口规则”的排查顺序仍然适用。
最后按固定顺序复查:活动节点是否正确、本地入口是否可用、应用是否接入、路由命中哪个出口、目标连接是否成功。把这五项拆开记录,才能区分系统代理设置问题、分流规则问题与远端连接问题。