系统代理与 Tun 解决流量怎样进入客户端,路由模式决定进入后的流量走哪个出站。日常浏览可先用系统代理配合绕过大陆;临时排查分流可切换全局;不遵循系统代理的应用才需要进一步评估 Tun。本文按 Windows 上的 v2rayN 操作习惯说明,并给出端口检查、命令测试与恢复顺序。
系统代理与路由模式:入口和出口
开启系统代理,不等于开启全局代理。前者把本机代理地址写入操作系统的代理设置,供遵循该设置的应用使用;后者通常指客户端的一组路由规则,把已经进入内核的连接交给代理出站。两项可以独立修改,也可能出现“系统代理已开,但路由选择直连”的组合。
可以把一次访问拆成三个环节:应用发出请求、本地入站接收连接、路由规则选择出站。VMess、VLESS 等协议属于客户端与远端服务之间的连接配置,不负责让浏览器自动采用系统代理。订阅更新成功,也不能证明应用流量已经进入客户端。
| 设置层 | 解决的问题 | 不能单独保证的结果 |
|---|---|---|
| 系统代理 | 让遵循系统设置的应用连接本地代理端口 | 不能保证所有进程、UDP 或独立代理配置都被接管 |
| 全局路由 | 让进入内核的连接主要使用代理出站 | 不能让原本未进入内核的连接自动进入 |
| 绕过大陆路由 | 按域名、IP 等规则区分直连与代理 | 不能保证所有大陆服务的海外域名都被识别为直连 |
| Tun 模式 | 通过虚拟网卡与系统路由接收更多应用流量 | 不能取消出站分流,也不保证覆盖所有例外路由 |
全局与绕过大陆:使用场景
日常使用优先考虑分流。大陆网站、局域网设备和内部服务通常适合直连,其他需要代理的连接再交给远端出站。这样可以减少不必要的远端绕行,也避免把本可本地完成的访问计入服务端流量。全局则适合短时验证某个问题是否由分流规则引起。
两种路由方案
全局路由
- 适合排查某个域名是否被误分到直连。
- 适合临时要求已接入流量统一使用代理出站。
- 访问本地设备前检查私有地址是否仍被保留为直连。
- 切换后重新建立连接,旧连接未必立即改变出站。
绕过大陆路由
- 适合同时访问大陆服务与其他地区服务。
- 依赖域名规则、IP 数据和实际规则顺序。
- 服务使用海外域名或海外 CDN 时,可能仍走代理。
- 个别站点异常时,优先补充具体域名规则。
日常分流,临时全局排障;确认具体原因后恢复原方案,不把全局当作所有网络故障的修复开关。
“绕过大陆”不是根据网页语言或用户所在地判断。以 Xray 路由为例,geosite:cn 是域名分类,geoip:cn 是 IP 分类,两者的对象不同。部分域名能在解析前命中;需要 IP 判断的连接,则与路由的域名解析策略有关。网站出现中文界面,不代表它的每个资源域名都会直连。
- 规则顺序:通常从上到下匹配,先命中的规则决定出站;例外域名应放在会覆盖它的宽泛规则之前。
- 多域名页面:登录、图片、接口可能来自不同域名,应分别检查,不能只看地址栏中的主域名。
- 默认出站:未命中规则时的去向取决于生成的内核配置,不能仅凭模式名称推断。
系统代理:端口与启用步骤
先用系统代理建立可用基线,再考虑 Tun。下面的菜单描述以 Windows 常见界面为参照;桌面版与 WPF 版、不同版本的文字和位置可能不同。应找到同名或含义相同的设置项,以当前客户端显示的监听端口为准。
以上两个端口是便于说明的配置示例,不是对所有版本默认值的承诺。有些配置使用混合入站,在同一端口接受 HTTP 与 SOCKS;有些配置分开监听。不能只因端口数字相同,就认定它支持某种协议。
-
确认活动配置
在主界面选中有效的服务器配置,使用右键菜单「设为活动服务器」。等待内核启动,先查看日志是否存在端口占用或配置解析错误。
-
核对监听端口
打开「设置」→「参数设置」,查找「本地监听端口」及相关入站设置;确认协议类型和端口。若界面只显示一个混合端口,应按该端口的实际能力配置应用。
-
设置系统代理
打开主界面底部「系统代理」菜单,选择「自动配置系统代理」;部分界面也可从托盘菜单操作。在 Windows「设置」→「网络和 Internet」→「代理」检查写入的地址与端口。
-
选择路由规则
在主界面底部「路由」选择当前规则集中用于绕过大陆的方案。查看「设置」→「路由设置」中的实际规则,确认私有地址、需要直连的域名和兜底去向。
-
重新发起访问
关闭测试页面后重新打开,必要时重启测试应用。检查新连接日志中的目标与出站;不要仅凭节点延迟测试成功就认定浏览器设置正确。
Tun 模式:适用条件与边界
当应用不读取系统代理、没有可用的手动代理选项,或确实需要接收其 UDP 流量时,才值得评估 Tun。Tun 通过虚拟网卡和路由处理 IP 流量,接收范围通常比系统代理更广,但并不等于“所有连接都走远端服务器”。进入 Tun 的连接仍会接受路由分流。
系统代理基线
- 接入方式
- 应用遵循系统代理设置
- 监听地址
127.0.0.1- 端口示例
- HTTP
10809,需核对实际配置 - 路由选择
- 日常使用绕过大陆
适合浏览器等遵循系统代理的应用,先验证这条链路是否可用。
Tun 接管方案
- 接入方式
- 虚拟网卡与系统路由
- 权限条件
- 具备创建网卡和修改路由所需权限
- DNS 检查
- 解析请求去向与路由方案一致
- 排除对象
- 局域网、内部网段和必要的服务连接
适合系统代理覆盖不到的应用;启用后仍需检查分流与网络冲突。
v2rayN 的 Tun 功能还涉及客户端选择的 Tun 实现及配套组件,不能把某种代理协议与 Tun 开关直接画等号。VMess 或 VLESS 配置可用,不代表当前 Tun 组件已准备完成;反过来,虚拟网卡创建成功,也不证明远端服务器支持所需的 UDP 转发。
- 权限:按客户端提示授予所需权限。创建失败时先查启动日志,不要反复导入订阅。
- 路由冲突:企业网络接入、其他虚拟网卡和重叠的私有网段都可能改变连接路径。
- DNS:系统、浏览器与 Tun 的 DNS 设置可能并存。浏览器自选的加密 DNS 会改变解析路径,需要单独检查。
- UDP:必须同时确认应用流量进入 Tun、本地转发链路支持 UDP,以及远端配置允许对应流量。
- 连接保留:切换接管方式后重启目标应用,避免旧连接继续沿用原路径。
代理链路:命令验证与日志
排查时先绕过系统代理设置,直接指定本地代理端口。如果显式代理可用而浏览器不可用,问题更可能位于浏览器设置、扩展或系统代理接入层;如果显式代理也失败,就应先检查监听、活动配置和远端连接。
下面是 Windows 终端中的两种测试方式。假定已分别启用示例 HTTP 和 SOCKS 端口,目标使用保留示例域名,仅用于说明命令格式;实际检查时可换成需要诊断的目标。不要把下列命令的成功与否当作任何特定地区服务可访问性的证明。
# 通过 HTTP 代理端口发起 HTTPS 请求
curl.exe --proxy http://127.0.0.1:10809 --connect-timeout 10 --max-time 20 -I https://example.com/
# 通过 SOCKS 代理,并将目标域名交给代理侧处理
curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
socks5h 与 socks5 的关键差别是目标域名是否在本地先解析。前者将域名交给代理侧处理,但最终怎样解析,仍取决于内核配置。命令中的 10 秒和 20 秒分别是连接超时与总时限,不是实测延迟或性能承诺。命令行工具也未必自动使用 Windows 系统代理,因此这里显式指定代理。
| 测试现象 | 优先检查 | 下一步 |
|---|---|---|
| 本地连接被拒绝 | 内核未运行、端口填错、没有对应入站 | 查看启动日志和监听设置 |
| 代理握手后超时 | 远端连接、目标服务、DNS 或路由 | 按日志区分失败发生在哪一段 |
| 命令可用,浏览器失败 | 浏览器独立代理配置、扩展、旧连接 | 核对系统代理后重新启动浏览器测试 |
| 全局可用,分流失败 | 具体域名被直连、IP 规则或解析差异 | 查目标出站并调整更具体的规则 |
| 网页可用,应用失败 | 应用未遵循系统代理或使用 UDP | 先查应用代理选项,再考虑 Tun |
常见问题与恢复顺序
切成全局后,为什么某个应用仍然直连?
先确认该应用的连接是否进入客户端。它可能忽略系统代理、配置了独立代理,或仍在使用切换前建立的连接。如果日志里没有对应请求,修改路由通常没有作用;先处理接入方式,再处理出站选择。
绕过大陆后,大陆网站为什么仍走代理?
网站可能依赖未包含在域名分类中的接口或海外资源,也可能被更靠前的自定义规则命中。先定位具体域名和出站,再补充必要的直连规则。不要因为一个资源异常,就把整个大型共享域名或所有海外地址都改为直连。
Tun 开启后,系统代理是否还要开启?
没有对所有配置都成立的统一答案。Tun 已覆盖目标应用时,系统代理不一定是必要入口;某些应用又可能继续优先使用其代理设置。排查时先保留一种明确的接入方式,减少变量,并确认 Tun 不会把内核自身的远端连接再次接管而形成回环。
安卓端能照搬这些菜单吗?
不能。v2rayNG 使用 Xray 内核,v2flyNG 使用 V2Fly 内核,两者在安卓上通常借助系统提供的虚拟网络接口接入流量。入口机制与 Windows 系统代理不同,协议和字段也需按实际内核核对;“先确认流量进入,再确认路由出站”的排查方法仍然适用。
启用 Tun 后若整体联网异常,按下面顺序退回已经验证过的基线。每次只改一层,记录结果,比同时更换节点、DNS、规则和内核更容易定位原因。
- 关闭 Tun,等待客户端撤销相关路由;确认局域网与原网络是否恢复。
- 核对系统代理:需要使用时指向正确的本地端口,停止使用时清除或恢复原有设置。
- 保留一个已知有效的活动配置,用显式代理命令验证本地入站到远端的链路。
- 临时切换全局并重新发起连接,对比是否属于分流问题;验证后恢复日常规则。
- 确有接管需求时,再单独开启 Tun,逐项检查权限、DNS、路由冲突和应用连接。