系统代理决定应用是否把连接交给本地代理端口;全局与绕过大陆决定进入内核的连接走哪个出站。日常浏览通常从“自动配置系统代理+绕过大陆路由”开始,排查分流问题时临时切全局。本文以 Windows 上的 v2rayN 为操作主线,说明端口核对、命令行测试和日志判断,避免把“开了代理”误认为“所有流量都经过节点”。
系统代理与路由模式:两个独立开关
先判断连接是否进入内核,再判断内核如何选择出站。v2rayN 是客户端界面,负责管理节点、启动内核和调整系统代理;V2Ray 或 Xray 内核负责接收连接、匹配路由以及连接服务器。订阅提供节点信息,并不等于已经启用系统代理,也不保证每个应用都会使用代理。
入口:系统代理
- 作用对象
- 遵循系统代理设置的应用
- 本地地址
127.0.0.1- 端口示例
10808,以实际监听值为准- 主要职责
- 把应用请求送到本地代理入口
应用忽略系统代理时,切换路由不能让它自动进入内核。
出口:内核路由
- 作用对象
- 已经进入内核的连接
- 匹配条件
- 域名、IP、端口等
- 全局模式
- 通常将普通目标连接交给代理出站
- 绕过大陆
- 将匹配的中国大陆目标分流到直连出站
模式名称只是预设入口,具体行为取决于生成的路由规则。
例如,浏览器遵循系统代理设置,连接先到本机 127.0.0.1:10808,随后内核可能将国内站点直连、其他站点送往节点。浏览器确实使用了本地代理,但并非每条连接都经过远端服务器。这正是“系统代理已开启”和“网站出口仍是本地网络”可以同时成立的原因。
全局代理与绕过大陆:按用途选择
日常访问国内外混合站点,优先考虑绕过大陆;需要确认某个域名是否被错误直连时,临时切全局做对照。全局路由不是网卡级接管,也不是速度优化开关。它不会自动接管忽略系统代理的程序,更不能保证游戏、语音或其他 UDP 流量进入同一入口。
绕过大陆路由
推荐国内服务通常直连,其他目标按预设走代理。可以减少国内连接的绕行,但依赖域名和 IP 规则数据;分类遗漏、数据过旧或规则顺序不当都可能造成误判。
适合:日常浏览、国内办公与外部资料检索并行。
全局路由
把进入内核的普通目标连接统一交给代理出站,便于排除分流规则影响。国内站点也可能绕行远端,延迟、地区识别和登录风控表现可能变化。
适合:短时排障、确认代理出口、明确要求统一出口的应用。
直连路由
请求仍可能先经过本地内核,再由本机网络直接连接目标。它适合做网络基线测试,但“直连路由”与“清除系统代理”不是同一个操作。
适合:比较本地网络可达性、定位节点相关故障。
“绕过大陆”也不是“只要服务器位于国内就一定直连”的实时地理判断。内核通常读取规则数据进行匹配,不会逐个目标查询物理位置。跨区域 CDN、同域名不同解析结果,以及应用直接连接 IP 的行为,都可能影响最终分类。局域网是否直连也要检查预设是否包含私有地址规则,不能仅凭模式名称推断。
v2rayN 设置步骤:先核对入口,再切路由
以下按 v2rayN 7.x 常见界面说明。不同小版本、界面布局与内核组合的字段可能有差异,端口必须读取当前配置,不要直接沿用旧教程中的 10809。新旧配置可能分别提供混合入口或独立 HTTP、SOCKS 入口,端口号相同也不代表协议类型相同。
-
选择节点
在主界面节点列表中选中目标,右键选择「设为活动服务器」。先确认该节点来自有效订阅或已有配置,且内核能正常启动。协议名称为 VMess、VLESS 或其他类型,不影响本文“入口与路由分层”的判断方法。
-
核对端口
进入「设置」→「参数设置」,查看本地监听端口及入口协议。记录实际值;本文测试使用
10808,仅在该端口确实提供 SOCKS 或对应的混合入口时适用。保存修改后确认内核已按新配置重新启动。 -
启用入口
在主窗口底部「系统代理」下拉项选择「自动配置系统代理」;也可从托盘图标右键菜单进入「系统代理」选择同名项。这里的“自动配置”指客户端设置系统代理,不应直接理解成 PAC 分流。
-
设置分流
在主窗口底部「路由」选择「绕过大陆」对应预设。检查该预设是否同时覆盖局域网直连需求。需要对照测试时,在同一位置切换「全局」,不要同时更换节点或修改 DNS。
-
重新建连
关闭目标页面后重新打开,必要时重启应用,避免旧连接继续复用切换前的出站。观察日志中的目标地址与出站标签;切回日常预设后,再验证国内与其他目标各一个。
浏览器能用、命令行不通:用显式代理测试
浏览器成功只说明该浏览器的连接路径可用。命令行工具可能读取环境变量,也可能完全忽略桌面系统代理;应用还可能有自己的代理设置。测试时显式指定代理地址,可以绕开“到底读了哪个设置”的不确定性。
# SOCKS 测试:由代理端处理目标域名
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
# 直连对照:明确忽略代理配置
curl --noproxy "*" --connect-timeout 10 --max-time 20 -I https://example.com/
Windows PowerShell 中可将命令开头的 curl 写成 curl.exe,避免旧环境中同名命令别名造成参数差异。这里的 10 秒是连接超时上限,20 秒是整个请求的时间上限,不是性能测量结果。目标返回 HTTP 错误状态也可能说明连接已经建立,不能仅凭状态码判断节点失效。
| 测试表现 | 优先检查 | 下一步 |
|---|---|---|
| 显式代理成功,浏览器失败 | 浏览器是否读取系统代理,是否另有代理设置 | 核对系统代理地址,重启浏览器后测试 |
| 立即提示连接被拒绝 | 本地端口没有监听或填错端口 | 查看内核启动日志,核对入口协议与端口 |
| 本地入口可连,目标连接超时 | 节点、服务器连接参数、远端解析与目标可达性 | 保持路由不变,更换一个已知可用节点作对照 |
| 全局成功,绕过大陆失败 | 域名或 IP 被分到直连,直连路径不可用 | 查看命中规则,为目标添加更具体的代理规则 |
socks5h 让目标域名交给代理端处理;它与先在本地解析域名的方式不完全相同。但代理端解析不等于域名一定经过远端节点查询,具体还取决于内核的 DNS 与路由配置。若要测试 HTTP 入口,可使用 --proxy http://127.0.0.1:10808,前提是当前端口确实支持 HTTP 代理。
绕过大陆的匹配顺序:域名、IP 与默认出站
路由规则按顺序检查,通常由第一条命中规则决定出站。更具体的例外要放在宽泛规则前面。下面是 V2Ray/Xray 风格的路由片段,表达“私有地址直连、中国大陆域名与地址直连、其余交给代理”的意图,不是可直接启动的完整配置。
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"domain": ["geosite:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"ip": ["geoip:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"network": "tcp,udp",
"outboundTag": "proxy"
}
]
}
}
direct和proxy是出站标签,必须与完整配置中的outbounds对应;名称本身不会自动创建直连或代理能力。geosite:cn与geoip:cn依赖内核可用的规则数据。数据缺失可能导致加载失败,数据内容也会影响分类结果。IPIfNonMatch表示域名未匹配时,可解析出 IP 再尝试 IP 规则;解析结果因此可能改变分流路径,并增加解析开销。- 最后一条明确接住 TCP、UDP 连接。若没有兜底规则,未命中的连接通常使用第一个出站,不能默认认为一定走代理。
使用 v2rayN 的路由预设时,应通过客户端的路由设置管理规则,不要把上述片段随意粘入运行时生成文件。客户端重启或切换配置后可能重新生成文件。嗅探可以在部分连接中补充域名信息,但不能让所有直接 IP 连接都可靠还原域名,更不应作为修复分流的唯一办法。
桌面浏览与独立应用:分别安排入口
推荐方案:按应用入口划分,再统一验证路由
遵循系统代理的应用
- 开启「自动配置系统代理」,从绕过大陆路由开始。
- 使用浏览器新连接验证国内与其他目标。
- 出现单站异常时,临时切全局作对照,再修正规则。
独立配置代理的应用
- 在应用内部填写
127.0.0.1与实际监听端口。 - 明确选择 HTTP 或 SOCKS5,不要只照抄端口数字。
- 命令行优先用显式参数测试,再决定是否设置环境变量。
系统代理解决应用入口,路由解决出口选择;确需更广泛流量接管时,再单独评估 TUN 模式。
TUN 模式通过虚拟网络接口接管符合条件的流量,与普通系统代理不是同一机制。它涉及系统路由、权限、DNS 和绕行设置;不能因为一个命令行工具不读系统代理,就直接把 TUN 当作首选修复。先用显式代理参数验证,更容易定位问题。
Android 上的 v2rayNG 使用 Xray 内核,v2flyNG 使用 V2Fly 内核。通过系统 VPN 接口接管流量的工作方式,与 Windows 的系统 HTTP 代理设置不同;分应用范围与内核路由仍要分别检查。桌面端操作路径不应原样套用到 Android,模式名称相似也不代表入口机制一致。
常见问题:全局不生效、退出后断网与分流异常
已经选了全局,为什么有的程序还是本地出口?
先确认程序是否进入本地入口。用显式代理命令测试同一目标;若成功,再检查该程序自身的网络设置。全局路由只处理进入内核的连接,忽略系统代理的应用不会因切换全局而自动被接管。
关闭 v2rayN 后,浏览器为什么打不开?
可能是系统仍指向已经停止的本地端口。重新启动 v2rayN,在「系统代理」中选择「清除系统代理」,再正常退出。Windows 也可到「设置」→「网络和 Internet」→「代理」核对手动代理;单位管理的代理设置应按既有网络要求处理。
绕过大陆时打不开,切全局就能打开,怎么修?
保持节点不变,记录出问题的域名,并查看日志中的出站标签。若它被直连规则命中,在路由规则中将该域名的代理例外放到宽泛直连规则前;应用重新建连后验证,不必把所有日常流量长期改成全局。
开全局后国内网站变慢,应该换协议吗?
先切回绕过大陆,对同一页面重新建立连接测试。若直连恢复正常,问题更可能是路径绕行,而非 VMess 或 VLESS 本身。一次只改变路由这一项,避免同时换协议、节点和 DNS,导致无法确认原因。
开启系统代理后,域名解析一定经过节点吗?
不一定。应用可能自行解析,浏览器可能启用安全 DNS,内核也有独立的 DNS 策略。先区分连接入口与解析入口,再检查浏览器 DNS 设置和内核 DNS 配置;仅凭系统代理开关或出口 IP 无法证明解析路径。
最终判断应落到三项证据:本地监听是否正常、目标连接是否进入内核、日志选择了哪个出站。出口 IP 查询只反映那一次查询请求,不能代表整台设备的全部流量。按照“入口→路由→节点”的顺序排查,比反复切换模式更容易得到可复现的结论。