系统代理解决应用是否把请求交给 v2rayN,路由模式解决内核收到请求后使用哪个出口。日常浏览可从“自动配置系统代理+绕过大陆”开始;排查分流问题时临时切换全局;只让指定程序使用代理时,保留手动入口。以下按入口、出口、验证三个环节拆开设置。
系统代理是入口,路由模式是出口
在 v2rayN 中选中一个节点,只是指定了可用的代理服务器。它不会自动让所有应用改用代理。浏览器通常可以读取操作系统代理设置;部分终端程序、游戏和自行管理网络连接的应用,则需要单独配置代理,或使用其他流量接管方式。
系统代理通常指向本机监听地址。请求进入本地端口后,才由内核执行路由规则:交给选中的代理节点、通过本地网络直连,或者按规则阻断。因此,“已设置系统代理”和“请求一定经过远端节点”不是同一件事。
- 应用入口:浏览器读取系统代理,或者程序显式连接本地 HTTP、SOCKS 端口。
- 内核匹配:根据域名、目标 IP、端口及其他条件选择路由规则。
- 出口执行:使用代理出站、直连出站或阻断出站处理连接。
自动配置、清除与不改变系统代理
在 Windows 版 v2rayN 的主窗口底部或托盘菜单中找到“系统代理”,核对“自动配置系统代理”“清除系统代理”“不改变系统代理”。不同界面的入口位置可能不同,但这三种操作针对的是系统设置,不是内核的路由规则。
| 系统代理选项 | 实际作用 | 使用前检查 |
|---|---|---|
| 自动配置系统代理 | 把系统代理指向客户端的本地监听入口 | 内核已经启动,地址与端口对应 |
| 清除系统代理 | 移除相关系统代理设置,让遵循该设置的应用恢复普通连接 | 程序自身的手动代理、环境变量是否仍然保留 |
| 不改变系统代理 | 客户端不主动修改当前系统代理状态 | 系统此前是否已经留有代理地址 |
“不改变”并不等于“关闭”。如果系统原先已经指向一个本地端口,选择不改变后,这个地址仍可能继续生效。需要恢复普通网络时,应明确清除系统代理,并检查浏览器扩展或应用自己的代理配置。
macOS 可在“系统设置”→“网络”→当前网络服务→“详细信息”→“代理”核对实际生效项。不要仅凭 Windows 菜单截图判断另一平台的状态;自动写入设置若未成功,应先处理系统授权,再重新检查代理地址。
全局、绕过大陆与直连的流量区别
路由模式只处理已经进入内核的流量。常见预设可以按下面三种意图理解,但导入或编辑过的规则可能保留私有地址直连、广告阻断等例外。判断最终出口时,以当前规则内容与日志为准。
绕过大陆
推荐将匹配中国大陆域名或 IP 集合的请求交给直连出口,其余请求通常交给代理出口。结果取决于规则库、匹配顺序和 DNS 解析方式,并非根据网页语言判断。
适合:同时访问国内服务与需要代理的网站,作为日常起点。
全局
将进入内核的请求尽量交给代理出口。它不会自动接管未使用代理的程序,也不代表所有预设都会取消私有地址等例外规则。
适合:临时检查节点可用性,或确认访问失败是否由分流规则引起。
直连
将进入内核的请求交给本地网络直连。请求仍可能经过本地监听端口,只是不使用远端代理节点;它与清除系统代理的操作层级不同。
适合:保留应用代理配置,同时测试本地网络能否直接访问目标。
判断方法:保持入口不变,只切换路由
同一个网页在全局下可访问、在绕过大陆下失败时,先检查该域名命中的规则与解析结果。不要立刻重装客户端或重新导入整份订阅。
日常浏览与指定程序的设置组合
先确定哪些应用需要代理,再选择入口方式。只改变路由模式,无法让一个完全没有连接本地端口的程序开始使用代理。反过来,浏览器已经连接本地端口,也可能因直连规则而不经过远端节点。
两种入口方案:按应用范围选择
浏览器等遵循系统设置的应用
- 启动内核并选择可用节点。
- 系统代理选择“自动配置系统代理”。
- 路由先选择“绕过大陆”,再按实际命中结果调整。
- 关闭浏览器中重复设置代理的功能,避免入口冲突。
只让一个程序使用代理
- 先清除系统代理,确认其他应用恢复普通连接。
- 在指定程序中填写本地代理地址和对应协议。
- 需要时将客户端设为“不改变系统代理”。
- 路由仍可使用绕过大陆,也可按任务临时选全局。
两种方案都使用内核路由;区别在于应用如何进入本地端口,而不是节点协议发生变化。
访问局域网打印机、路由器管理页或公司内网时,还要确认私有地址规则。域名属于内部服务,并不意味着公共规则库一定认识它。可按实际需求添加精确域名或网段直连规则,并放在会覆盖它的宽泛规则之前。
用监听端口与日志验证设置
打开“设置”→“参数设置”,查看本地监听相关设置,并与主窗口显示的信息核对。下列地址与端口是一组排查示例,不是所有版本的固定默认值;只有本机确实启用了对应的 SOCKS 或混合监听端口,才能照此测试。
- 先看内核启动:日志出现地址占用或配置加载失败时,先修复启动问题。系统代理指向一个没有监听的端口,只会产生连接失败。
- 再核对协议:应用填写 SOCKS5 时,端口必须接受 SOCKS;仅支持 HTTP 的入口不能直接当作 SOCKS 使用。混合入口可支持两种协议,但仍需查看实际设置。
- 显式发起一次请求:在具备 curl 的终端执行下方命令。Windows 可使用
curl.exe,避免命令别名差异。将示例端口改成本机值。 - 最后核对出口:在内核日志中查找相应连接的出站标记。日志级别不足时,可临时提高记录级别,复现后恢复,分享日志前删除节点凭据。
curl --socks5-hostname 127.0.0.1:10808 --connect-timeout 10 -I https://www.example.com/
这条命令明确使用 SOCKS 入口,不依赖系统代理;--socks5-hostname 会把目标主机名交给 SOCKS 服务端处理。它仍然服从 v2rayN 的路由模式,因此请求成功只能证明这条入口到目标的路径可用,不能单独证明一定走了远端节点。
测试应固定同一个目标与入口,先全局、再绕过大陆,并记录对应出站。不要同时更换节点、DNS 和路由,否则即使恢复访问,也难以确认是哪一项设置产生作用。
绕过大陆不准确时,检查 DNS 与规则顺序
路由不是按网站名称或页面内容分类。应用传入域名时,内核有机会匹配域名规则;应用只传入 IP 时,可用的信息就不同。某些连接还能通过嗅探获得域名线索,但嗅探不保证对所有协议和加密方式都有效。
- 检查匹配顺序:内核路由规则通常从上向下检查,先命中的规则决定出口。把“全部代理”一类宽泛规则放在前面,后面的精确直连规则就可能无法生效。
- 检查规则数据:依赖 GeoSite、GeoIP 的配置,需要相应规则数据可用。订阅节点更新与路由数据更新不是同一件事,更新订阅不会自动修复所有分流分类。
- 检查域名策略:Xray 路由中的
AsIs不会为了 IP 匹配主动解析域名;IPIfNonMatch在域名未命中规则后尝试解析,以继续进行 IP 匹配。它们不是系统代理开关。 - 检查解析路径:浏览器自身的加密 DNS、应用本地解析与内核 DNS 可能得到不同地址。先确认应用传入的是域名还是 IP,再考虑调整内核 DNS。
VMess、VLESS 等节点协议不决定某个网站必须走代理还是直连。协议负责客户端与服务端之间的通信,路由负责选择出站。只有路由选中了代理出站,该节点的连接参数才会参与这一条请求。
系统代理与路由模式常见问题
已经切到全局,为什么某个程序的出口还没变?
先确认程序是否进入本地代理端口。清查程序自身的网络设置,用显式 SOCKS 请求作对照。如果显式请求能走代理而该程序没有对应日志,应先修复入口,而不是继续修改路由规则。
切到直连后,能不能直接退出 v2rayN?
先清除系统代理,再退出。直连模式仍可能依赖本地内核接收和转发请求;若系统还指向本机端口,退出后该端口停止监听,遵循系统设置的浏览器就可能无法联网。
延迟测试有结果,为什么浏览器打不开网页?
延迟测试不等于浏览器的完整访问路径。先看内核是否正常监听,再核对系统代理指向的端口,随后用同一个目标比较全局与绕过大陆。还应检查节点认证、TLS 时间条件及日志中的具体错误。
清除系统代理之后,终端为什么还在用代理?
检查终端环境中的 HTTP_PROXY、HTTPS_PROXY、ALL_PROXY,以及命令自身的代理参数。清除系统代理不会自动删除这些设置;修改环境变量后,还可能需要重新打开终端。
绕过大陆失败,全局正常,应该一直用全局吗?
可以临时全局完成任务,再定位失败域名的规则命中和 DNS 结果。只对确有需要的域名添加精确代理规则,并复测局域网与国内服务,避免为一个站点改动整套流量走向。