2026-06-02 · 故障排查 · 约 8 分钟

代理显示已连接但网页打不开:一份逐项排查清单

客户端显示已连接却上不了网,问题可能出在系统代理、DNS、路由规则或节点本身。本文提供一份从本机到出口的逐项排查清单,按顺序检查即可定位断点。

本文速览
适合 v2rayN、v2rayNG 或 v2flyNG 已显示运行,但浏览器仍超时、部分网站无法访问或所有请求都失败的情况。检查顺序固定为本地监听、流量接管、DNS、路由、节点出口和日志,每完成一步都做一次独立测试,从而确定故障发生在哪一段链路。

先分清“已连接”代表哪一层

先建立单一测试链路
客户端界面的运行状态通常只说明内核进程已经启动,或者 Android 上的本地网络接口已经建立。它不等于远端节点完成握手,也不等于浏览器流量已经进入代理。排查时必须把链路拆成五段:应用请求、本地代理端口、DNS 解析、远端节点、目标网站。
以 v2rayN 7.14.3 的常见设置为例,本地 SOCKS 端口通常是 127.0.0.1:10808,HTTP 端口通常是 127.0.0.1:10809。端口可以在「设置」→「参数设置」→「基础设置」中调整,因此实际检测必须以当前客户端显示的数值为准,不能只照抄默认值。
先暂时关闭浏览器扩展中的独立代理设置,退出其他可能接管系统代理或虚拟网卡的程序,再重启客户端。这样做不是直接修复问题,而是减少并行链路,避免一个应用走系统代理、另一个应用走自定义 SOCKS 端口,导致测试结果互相矛盾。
10808
常见 SOCKS 本地端口
10809
常见 HTTP 本地端口
127.0.0.1
默认回环监听地址
5 段
从应用到出口的检查链路

结论:运行状态不能代替请求测试

只要本地端口没有监听,或浏览器没有把请求送入该端口,远端节点是否可用就还没有进入测试范围。

第一步:确认本地端口与系统代理

在 Windows 上先打开 PowerShell,检查 v2rayN 的本地 SOCKS 端口是否能够建立 TCP 连接。若已经修改过端口,把命令中的 10808替换为「参数设置」里看到的值。测试成功只证明端口正在监听,不证明远端出口正常。
Test-NetConnection 127.0.0.1 -Port 10808
结果中的 TcpTestSucceeded 应为 True。如果为 False,先在 v2rayN 主窗口确认已选中一个节点,再执行「服务器」→「设为活动服务器」,随后重启内核。仍然失败时,直接查看日志是否存在端口占用或配置载入错误。
本地端口正常后,检查 v2rayN 的系统代理模式。用于普通浏览器测试时,可从托盘菜单选择「自动配置系统代理」。Windows 的「设置」→「网络和 Internet」→「代理」中应出现由客户端写入的本地代理配置。若退出客户端后旧代理地址仍保留,先关闭系统代理再重新启动客户端。
  1. 选中一个明确可用的服务器,设为活动服务器。
  2. 确认本地监听地址为 127.0.0.1,SOCKS 与 HTTP 端口没有重复。
  3. 启用「自动配置系统代理」,完全关闭并重新打开浏览器。
  4. 使用无独立代理规则的浏览器窗口访问两个不同域名,记录是全部失败还是只有特定域名失败。

第二步:绕过浏览器直接测试代理出口

浏览器可能保留旧代理配置、DNS 缓存或扩展规则。为了判断故障是在浏览器之前还是之后,可以直接向本地代理端口发起请求。macOS 与 Linux 可在终端使用 curl;Windows 安装了对应命令行工具时也可执行相同测试。
curl --proxy socks5h://127.0.0.1:10808 https://v2rayroot.com/ -I --connect-timeout 10
socks5h 中的字母 h 表示让域名通过 SOCKS 链路解析。若返回 HTTP/2 200HTTP/1.1 200 或正常的重定向状态,说明本地端口、节点和远端 DNS 至少能够完成一次完整请求。此时网页打不开更可能是浏览器代理、缓存、扩展或系统接管问题。
若命令立即提示无法连接 127.0.0.1,故障在本地监听。若等待约 10 秒后超时,本地端口通常已经接受请求,但远端节点或目标方向没有返回。若只有一个域名失败,则应检查路由规则、域名解析或目标服务状态,不要立刻更换所有配置。
测试结果 链路判断 下一步
拒绝连接本地端口 内核未监听或端口填错 核对 10808、重启内核、查端口占用
10 秒连接超时 节点握手或出口异常 切换节点并读取内核日志
命令成功、浏览器失败 代理核心链路正常 重置浏览器与系统代理配置
仅少数域名失败 DNS 或分流规则命中异常 临时使用全局代理做对照

第三步:检查 DNS 与路由分流

DNS 故障常表现为节点延迟测试有数值,但输入域名后网页一直等待。延迟测试可能直接连接节点地址,而浏览器还需要解析目标域名。先在系统终端运行 nslookup v2rayroot.com,确认本机能得到地址;再使用前面的 socks5h 命令,比较本地解析与代理侧解析的结果。
如果 IP 地址可以访问而域名不能访问,优先检查 DNS。v2rayN 7.x 可从「设置」→「参数设置」进入 DNS 相关配置。排查阶段不要一次加入多组复杂规则,先恢复为客户端提供的基础配置,保存后重启内核。系统侧还可以清理 DNS 缓存,Windows 使用 ipconfig /flushdns,随后完全退出并重新打开浏览器。
若只有部分网站失败,把路由模式临时切换为全局代理进行对照。全局模式正常、规则模式失败,说明节点本身大概率可用,故障集中在域名规则、IP 规则或直连出口。检查自定义规则时尤其注意优先级:靠前规则会先匹配,一条范围过大的直连规则可能让目标请求绕过代理。
  • 所有域名失败:检查系统 DNS、客户端 DNS 配置及节点域名能否解析。
  • 域名失败但 IP 成功:将问题限定在 DNS,暂不调整协议参数。
  • 全局模式成功:逐条停用自定义路由规则,定位错误的直连或阻断条件。
  • 全局模式仍失败:返回节点握手、传输层和服务器出口继续检查。

延迟显示 120 毫秒,为什么网页仍然超时?

延迟测试只能覆盖特定探测请求。使用 curl --proxy socks5h://127.0.0.1:10808 发起完整 HTTPS 请求,再判断节点是否真的具备出口能力。

切到全局代理后恢复正常,应该改哪里?

在「设置」→「路由设置」中检查自定义规则顺序,先停用最近新增的域名、GeoIP 或直连规则,每次只恢复一组并重新测试。

更新订阅后突然所有节点都打不开?

确认活动服务器没有被删除或替换,重新选择节点并设为活动服务器。若节点参数整体变化,更新后必须重启内核才能载入新配置。

Android 上显示已启动,应用还是无法联网?

在 v2rayNG 或 v2flyNG 中先关闭分应用代理与自定义路由,保留单一节点做全局测试;确认可用后再恢复应用范围和分流规则。

第四步:从日志判断节点、协议与 TLS 故障

本地端口和流量接管都正常后,日志是判断远端故障的主要依据。v2rayN 可从主界面的日志区域查看核心输出,也可在「设置」→「参数设置」中调整日志等级。排查时使用 info 通常足够;只有信息不足时才临时提高详细程度,完成后恢复,避免大量重复记录干扰判断。
VMess、VLESS 的协议名称本身不能证明配置正确。服务器地址、端口、用户标识、传输方式、TLS、SNI、路径和服务名必须与服务端一致。订阅导入通常会填充这些字段,手工修改其中一项就可能造成 TCP 已连接但 TLS 或协议认证失败。

报错:failed to listen TCP on 127.0.0.1:10808

原因与解法:本地端口已被另一个进程占用——退出重复运行的客户端,或在「设置」→「参数设置」中改用未占用端口,保存后重启内核。

报错:failed to find an available destination

原因与解法:出站服务器地址无法解析或没有可用目标——核对节点地址拼写,恢复基础 DNS 配置后重新启动内核。

报错:lookup server.example: no such host

原因与解法:节点域名解析失败——检查当前网络的 DNS 可用性,重新更新订阅,并确认节点地址没有被手工截断。

报错:TLS handshake timeout

原因与解法:客户端已尝试建立 TLS,但规定时间内未完成握手——核对服务器端口、SNI、传输方式与系统时间,再换同订阅中的另一节点对照。

报错:connection reset by peer

原因与解法:连接已到达远端但被主动重置——检查协议与传输参数是否匹配,并测试其他节点,区分单节点故障与本地网络限制。
如果同一订阅中三个节点只有一个失败,优先判断为单节点配置或服务器状态问题。如果全部节点出现完全相同的本地端口报错,则应先修复本机配置。若所有 TLS 节点都失败,还要确认系统日期、时区和分钟值准确;明显的时间偏差会导致证书有效期判断异常。

结论:相同错误决定排查范围

单节点报错看节点参数,全部节点报错看本地端口、DNS 与系统环境;先比较错误是否一致,比连续随机切换节点更容易定位原因。

第五步:按最小配置恢复,再逐项加回功能

经过前四步仍无法确认原因时,使用最小配置建立基线。保留一个刚从有效订阅更新得到的节点,关闭自定义 DNS、路由规则、分应用代理和 TUN,只启用系统代理。重启客户端后先测试本地端口,再运行一条代理请求,最后打开浏览器。
最小配置正常后,按照固定顺序恢复功能:先恢复 DNS,再恢复路由分流,随后恢复浏览器或应用级规则,最后启用 TUN。每恢复一项就访问相同的两个测试域名,并记录开始失败的那一步。这样可以把故障锁定到一个配置层,而不是在几十个参数之间反复猜测。
在 Android 上使用 v2rayNG 或 v2flyNG 时也遵循同样逻辑:先选单节点并关闭自定义路由,确认普通网页可访问,再恢复分应用设置。v2rayNG 使用 Xray 内核,v2flyNG 使用 v2fly 内核;两者导入同一订阅后,仍可能因内核支持范围和具体传输参数不同而出现不同结果。
  1. 重置为一个节点、基础 DNS、系统代理或默认网络接管。
  2. 确认 127.0.0.1:10808 或当前配置端口可以连接。
  3. 执行带 socks5h 的请求,确认域名解析与出口同时成功。
  4. 恢复路由规则,比较全局与规则模式的差异。
  5. 最后恢复 TUN、分应用范围和其他高级设置。
断点位置 典型现象 处理重点
本地监听 10808 连接被拒绝 内核启动、配置格式、端口占用
流量接管 命令成功但浏览器失败 系统代理、浏览器扩展、旧配置
DNS IP 可访问而域名失败 解析方式、缓存、节点域名
路由 全局正常而规则模式失败 规则优先级、直连条件、阻断条件
节点出口 多个目标均握手超时 服务器状态、协议参数、TLS 与 SNI
下载客户端