本文速览

“已连接”通常只说明本地服务或 VPN 接口已经启动,不代表网页请求已经通过节点到达目标站点。先确认流量有没有进入客户端,再检查监听端口、域名解析和出站路径,最后核对节点参数与系统时间。每轮只改变一个条件,并用同一地址复测,避免把多个问题叠在一起。

先区分连接状态与访问结果

v2rayN 是桌面客户端,V2Ray、Xray 是处理流量的内核;v2rayNG 是使用 Xray 内核的 Android 客户端。界面显示运行中、出现 VPN 钥匙标记,或者节点有延迟数值,都不能单独证明浏览器能够正常访问网页。端口连通测试、实际请求测试与下载测速,验证的是不同环节。

先关闭客户端,确认设备原本能否访问正常使用的网站。公共 Wi-Fi 可能需要先完成网络认证;基础网络本身中断时,换节点通常没有帮助。记录出问题的网站、发生时间、网络类型,以及是所有应用失败还是只有浏览器失败。

第一项:系统代理是否接管流量

Windows 上,启动 v2rayN 不等于自动设置系统代理。系统代理主要供遵循该设置的应用使用,也不是所有流量的总开关。终端程序可能读取环境变量,浏览器可能使用自己的代理设置,游戏等应用也可能完全忽略系统代理。TUN 模式则是另一条接管路径,排错时不要同时切换多种模式。

  1. 确认当前节点

    在 v2rayN 节点列表选中需要使用的节点,右键选择「设为活动服务器」。仅选中一行不一定已经切换活动节点,应同时核对主界面的活动服务器信息。

  2. 设置系统代理

    右键任务栏托盘中的 v2rayN 图标,进入「系统代理」→「自动配置系统代理」。不同桌面版本的入口位置可能变化,以当前界面的同名选项为准。

  3. 核对系统入口

    在 Windows「设置」→「网络和 Internet」→「代理」查看代理服务器地址和端口,确认与客户端当前监听值一致。若使用自动配置脚本,则检查脚本状态,不要把两种模式混为一谈。

  4. 排除独立代理

    暂时停用浏览器代理扩展,关闭浏览器后重新打开。若显式指定代理的命令能访问、浏览器仍失败,继续查浏览器设置,而不是先换节点。

第二项:本地端口是否真正监听

代理地址应指向本机监听端口,不是远端节点的服务器端口。下列数字是排查示例,并非要求统一改成这些值。v2rayN 的「设置」→「参数设置」中可查看本地监听相关配置;具体分组选项随版本变化,也可结合启动日志确认。旧配置可能分别提供 SOCKS 与 HTTP 端口,新配置可能使用混合端口。

127.0.0.1
仅供本机连接的回环地址
10808
下文使用的本地 SOCKS 示例端口
443
HTTPS 常用目标端口,不是本地代理端口

在 Windows PowerShell 执行下面的命令,先检查本地监听,再发起一个明确走 SOCKS 的 HTTPS 请求。若实际端口不同,先替换命令中的 10808。这里使用 curl.exe,避免某些 PowerShell 环境把 curl 解释成其他命令。

Get-NetTCPConnection -State Listen -LocalPort 10808 |
  Select-Object LocalAddress, LocalPort, OwningProcess

curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/

查不到监听记录时,先看内核是否启动失败;查到记录也要核对进程,避免端口被其他程序占用。socks5h 会把目标域名交给代理端处理,不能据此认定系统本地 DNS 正常。HTTP 返回状态码说明已经到达某个 HTTP 响应端,但仍需结合状态码、证书和日志判断是否到达预期站点。

判断:先固定入口,再排远端

显式代理请求成功而浏览器失败时,先修正浏览器或系统代理接管;连本地端口都连接不上时,先修复监听。只有请求确实进入内核后,切换节点的对比才有意义。

第三项:区分两类 DNS 解析

需要解析的地址至少有两类:节点服务器域名,以及浏览器访问的目标域名。前者解析失败,内核可能根本无法连接节点;后者解析失败,则可能出现节点测试正常、特定网页打不开。浏览器安全 DNS、系统 DNS、内核 DNS 并不必然走同一条路径。

检查对象具体做法结果如何理解
目标域名的本地解析执行 Resolve-DnsName example.com有记录仅说明此次系统解析有结果,不能证明节点连接成功。
目标域名的代理解析对比 socks5:// 与 socks5h:// 请求前者由本地解析目标域名,后者把域名交给代理端处理;差异可提示解析路径问题。
节点域名解析在日志中寻找服务器域名及 lookup 错误应检查节点地址、引导解析和当前网络 DNS,而非只清理浏览器缓存。
缓存结果修正解析配置后执行 ipconfig /flushdns清理 Windows 缓存后重新请求;浏览器与内核可能仍有自己的缓存。

不要把节点域名直接改成随手查到的 IP。使用 TLS 或 REALITY 时,服务器地址、SNI、目标名称之间有配置约束;盲改可能把 DNS 问题变成握手失败。应先保存原节点,依据服务端提供的参数进行对照。

curl.exe --proxy socks5://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/

第四项:路由规则是否选对出站

系统代理决定请求是否进入客户端,路由规则决定进入后走哪个出站。“全局代理”是应用层常见叫法,不同客户端中的含义未必相同;在排错记录里,应明确写出实际使用的路由模式、规则和出站标签。

在 v2rayN 的路由选择入口,临时选择将待测目标送往代理出站的规则模式,重复访问同一地址。若恢复可用,重点检查自定义域名规则、直连规则及拦截规则。测试后恢复原模式,不必长期把所有本地资源都送往远端。

第五项:根据报错检查节点

入口、DNS 和路由都确认后,再核对节点地址、远端端口、用户标识、传输方式和安全参数。订阅更新成功仅代表拿到了配置,不代表其中每个节点都在线。先选同一订阅中的另一节点复测,再换网络测试原节点,能较快区分节点故障与当前网络限制。

报错:connection refused

原因与解法:被连接的一端拒绝了 TCP 连接;先看报错地址是本机还是远端,本机地址查监听,远端地址查节点端口与服务运行状态。

报错:i/o timeout

原因与解法:某个网络读写操作超过等待时间;结合日志中的目标地址和阶段,对比另一节点与另一网络,不要直接认定为 DNS 故障。

报错:no such host

原因与解法:相关域名解析失败;先确定失败的是节点域名还是目标域名,检查拼写、解析器可达性和引导解析设置。

报错:tls: handshake failure

原因与解法:TLS 握手被终止,原因并不唯一;核对端口、SNI、传输参数及服务端配置,保留同一时间附近的完整日志再判断。

VLESS、VMess、Trojan 的参数不能互换。VLESS 配合 REALITY 时,要核对公钥、短标识、服务器名称和服务端要求的流控;使用 XTLS Vision 时,flow 应与服务端配置匹配。不能仅凭协议名称就判断当前内核或节点配置可用。

第六项:核对时间与安卓接管

TLS 证书有效期校验依赖系统时间,VMess 的认证也涉及时间。电脑或手机日期明显错误时,即使网络和端口正常,也可能出现认证或证书错误。Windows 可进入「设置」→「时间和语言」→「日期和时间」,启用自动设置时间并执行立即同步;Android 在系统设置中搜索「日期和时间」,启用自动设置并核对实际日期。

时区显示不同不一定代表实际时间错误,应核对日期与真实时刻,不要只改时区来掩盖时钟偏差。不要用关闭证书验证的方式绕过问题,这会掩盖时间、服务器名称和证书链异常。

  1. 确认 VPN 授权:启动 v2rayNG 后应完成系统 VPN 授权;若其他 VPN 服务正在运行,先停止后再测试。
  2. 确认工作模式:仅本地代理模式不等同于 VPN 接管。需要让普通应用直接使用代理时,应核对当前是否启用了 VPN 模式。
  3. 检查应用范围:在 v2rayNG「设置」中检查分应用代理相关选项,确认浏览器没有被排除;名单可能因启用绕过选项而具有相反含义。
  4. 检查后台限制:若亮屏正常、锁屏一段时间后失效,在系统应用设置中检查 v2rayNG 的电池与后台运行权限,再重复锁屏测试。
  5. 分开测试网络:Wi-Fi 与移动数据分别测试;切换后必要时停止并重新启动连接,观察是否只是旧连接未恢复。

常见追问与排查记录

延迟只有几十毫秒,为什么网页还是打不开?

先确认测试类型。TCP 延迟只验证连接的部分环节;即使实际请求测试通过,也只代表当次测试目标可用。改用本文的显式代理命令访问同一网站,再核对浏览器与路由路径。

手机能用,同一个节点在电脑上不能用?

先让两台设备使用同一网络,再对比活动节点参数。电脑优先查系统代理与本地监听;如果命令请求可用但浏览器失败,检查浏览器扩展和独立代理设置。

只有某个网站打不开,要重装客户端吗?

先换一个节点访问同一网站,再检查该域名的路由命中与 DNS 结果。若有正常的 HTTP 错误响应,也可能是目标站点访问策略,而不是客户端安装损坏。

重启后暂时恢复,怎样继续查?

记录再次失败的时间,观察是否伴随休眠、网络切换或后台服务停止。失败当下先检查监听端口与内核日志,不要立刻重启,以免丢失最有价值的现场信息。

完成一轮排查后,留下可复现记录比反复重装更有效。不要一口气修改 DNS、路由、内核和节点;每次只改一项,沿用同一测试目标和等待时间,并记录修改前后的结果。

客户端入口与基础设置

需要重新核对客户端来源时,前往下载页按平台选择;需要重做导入和代理设置时,先按教程完成基础连接,再恢复自定义路由。