V2Ray 已连接却无法上网:v2rayN 与 v2rayNG 逐项排查清单

从系统时间、端口占用、系统代理设置到 DNS 与路由规则,按顺序逐项检查,定位显示已连接但网页打不开的常见原因。

本文速览

适合 v2rayN 已启动、v2rayNG 显示运行中,却打不开网页的情况。先区分内核启动、应用接入和节点可用三个层面,再用本地端口、显式代理请求和日志定位故障。每次只改一项,保留失败记录,避免同时调整 DNS、路由和节点后失去判断依据。

一、已连接状态:先确认请求停在哪一层

v2rayN 的内核启动提示,以及 v2rayNG 的运行状态,只能说明相应进程或本地 VPN 服务已经启动。它们不等于浏览器请求已进入代理,更不等于远端服务器完成了协议握手。节点旁显示延迟,也要看测试类型:TCP 连通测试只检查端口,不能验证完整代理能力。

应用请求 本地入口 路由匹配 节点握手 目标响应

先暂停下载和后台同步,选一个节点、一个浏览器、一个固定测试地址。桌面端暂时只使用普通本地代理入口,不把 TUN 和系统代理混在一起测试。安卓端则先确认使用 VPN 模式,并且浏览器没有被分应用规则排除。

二、系统时间与基础网络:先排除代理之外的故障

先停用代理,确认本地网络能访问原本就能直连的网站。若此时仍失败,应先处理 Wi-Fi 登录页、网关、网络权限或运营商连接。代理客户端不能修复已经断开的基础网络;公共网络未完成网页认证时,节点连接也可能持续超时。

系统时间要检查日期、小时和时区。TLS 证书有效期验证依赖正确时间,VMess 的认证也对时间偏差敏感。不要把“显示时区不同”直接当作故障:关键是设备的实际时间是否正确,而不仅是界面显示在哪个时区。

  1. Windows:打开「设置」→「时间和语言」→「日期和时间」,启用自动设置时间,再执行立即同步。
  2. Linux:运行 timedatectl status,检查当前时间与 System clock synchronized。若未同步,按发行版的时间服务配置修复。
  3. Android:在系统设置中搜索「日期和时间」,开启自动设置日期与时间。菜单位置因系统而异。
  4. 网络对照:手机在 Wi-Fi 与移动网络之间切换一次。相同节点只在某一网络失败时,继续检查该网络的连接限制或 DNS。

三、本地端口:确认内核确实在监听

v2rayN 窗口打开,并不代表代理入口已建立。进入「设置」→「参数设置」,查看本地监听地址、端口及入口类型;不同桌面版本的标签可能不同。下文用 127.0.0.1:10808 举例,必须替换成界面实际显示的值。旧配置可能分别提供 SOCKS 和 HTTP 端口,新配置也可能使用混合入口。

在 Windows PowerShell 或 Linux 终端执行相应命令。检查的是 TCP 监听状态,不是节点地址。监听在回环地址通常足够供本机使用,不必为了排错改成监听所有网络接口。

# Windows PowerShell:检查 10808 的 TCP 监听进程
Get-NetTCPConnection -LocalPort 10808 -State Listen |
  Select-Object LocalAddress, LocalPort, OwningProcess

# Linux:检查同一端口及进程
ss -lntp 'sport = :10808'
检查结果说明下一步
没有监听记录端口填错,或内核未成功启动核对设置,查看启动阶段日志
监听进程属于其他程序本地端口发生冲突关闭冲突进程,或换一个空闲端口
内核进程正常监听本地入口已建立继续执行显式代理请求测试

换端口后要同时更新系统代理、浏览器独立配置和终端环境变量。只把客户端从 10808 改成 10818,应用仍请求旧端口,就会出现内核运行正常、网页持续失败的现象。不要在看见端口占用后直接关闭防火墙;先确认占用进程是否为另一份正在运行的内核。

四、系统代理:用显式请求区分入口与节点故障

桌面端在 v2rayN 的「系统代理」菜单选择「自动配置系统代理」,再检查操作系统实际记录的代理地址。Windows 可查看「设置」→「网络和 Internet」→「代理」。HTTP 代理字段需要填写 HTTP 或混合入口;不能把仅提供 SOCKS 的端口当成 HTTP 端口使用。

系统代理并非透明接管所有应用。部分命令行程序、游戏和浏览器扩展使用自己的代理配置,甚至完全忽略系统设置。为了跳过这层差异,可以让 curl 直接连接本地 SOCKS 入口。下面的测试域名仅用于检查请求流程,返回状态码应结合响应内容判断。

# Windows:调用 curl.exe,避免旧版 PowerShell 的同名别名
curl.exe --noproxy "" --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/

# Linux:使用本地 SOCKS 入口发起同样的请求
curl --noproxy "" --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/

socks5h 把目标域名交给 SOCKS 代理端处理;最终使用内核 DNS 还是交给远端解析,还取决于配置。这里的 10 秒连接限制与 20 秒总限制是诊断参数,不是性能承诺。若当前只有 HTTP 入口,把代理参数改为 --proxy http://127.0.0.1:10808,并使用实际 HTTP 端口。

结论:显式代理成功,先修应用入口

如果 curl 能收到有效 HTTP 响应,而浏览器仍失败,先检查浏览器代理扩展、系统代理地址和绕过列表。此时不要立刻更换节点或重写 DNS。部分服务器不接受 HEAD 请求而返回 405,这也不等于代理连接失败。

五、v2rayNG:检查 VPN 权限与分应用代理

安卓端不能照搬桌面系统代理的排查方式。v2rayNG 的 VPN 模式通过 Android VPN 服务接入应用流量,运行状态仍不代表每个应用都在接管范围内。先在主界面启动服务,确认系统已授予 VPN 权限,并检查是否有其他 VPN 服务占用连接。

  1. 检查运行模式:进入 v2rayNG「设置」,确认当前采用 VPN 模式。仅代理模式不会自动接管所有应用。
  2. 检查应用范围:在「设置」中找到「分应用代理」,确认浏览器没有被排除。若使用“仅代理所选应用”,浏览器必须被选中;排除模式则相反。
  3. 检查系统 VPN:在系统设置中搜索「VPN」,确认当前生效的是 v2rayNG,并检查“始终开启”和“阻止不使用 VPN 的连接”等选项是否与预期一致。
  4. 检查后台限制:若锁屏后失效,在应用信息的电池设置中允许后台运行,再锁屏复测。权限名称以设备系统为准。

不要把节点的真实连接测试成功当作分应用设置正确的证据。测试可能由客户端自身发起,而浏览器仍被排除。v2rayNG 使用 Xray 内核;若另一台设备使用 V2fly 内核的 v2flyNG,也要分别核对协议支持和节点参数,不能只凭订阅名称相同就认为运行配置一致。

六、核心日志:按真实报错定位,不凭一句话定案

清空旧日志后,只发起一次失败请求,再查看 v2rayN 的内核日志或 v2rayNG 的日志页面。重点记录时间、连接阶段和错误上下文。不同内核版本的报错格式可能变化,以下短语是常见片段,不保证每次故障都出现同样的完整行。

报错:address already in use

原因:某个监听地址与端口已被占用,内核无法绑定。

解法:用端口查询命令找出进程,关闭重复实例或更换空闲端口,并同步修改应用代理设置。

报错:connection refused

原因:连接目标明确拒绝请求;目标可能是本地入口,也可能是远端节点。

解法:先看日志中的地址。本地地址就查监听,远端地址则核对节点端口及服务状态。

报错:i/o timeout

原因:连接或读写未在期限内完成,可能涉及链路、服务器或握手阶段。

解法:对照另一网络和已知可用节点,保留前后日志,区分连接超时与建立连接后的读取超时。

报错:x509: certificate has expired or is not yet valid

原因:证书有效期检查失败,设备时间错误或服务端证书异常都可能导致。

解法:先同步系统时间,再核对服务器证书状态,不把跳过证书验证当作长期修复。

报错:no such host

原因:域名解析未得到可用结果,需要区分节点域名和网页目标域名。

解法:核对域名拼写与实际使用的 DNS 路径;节点域名解析失败时,先修复建立代理之前的解析环节。

如果日志已经连接到节点,但随后握手失败,再检查订阅是否过期、认证信息是否匹配,以及传输类型、路径、TLS 服务器名称等参数。VLESS 节点启用 REALITY 时还需核对公钥、短 ID 和流控配置。不要把 VMess、VLESS 或传输设置互相替换来试运气,应以服务端提供的完整配置为准。

七、DNS 与路由:处理部分网站打不开

当本地入口和至少一个代理请求已通过,才进入 DNS 与分流排查。Windows 的 nslookup example.com、Linux 的 getent ahosts example.com 可以观察系统侧解析,但不能直接证明内核的内置 DNS 正常。浏览器还可能启用安全 DNS,形成第三条解析路径。

先比较同一域名在系统解析与显式代理请求中的表现。切换 DNS 时记录原设置,每次只改变一处。特别注意:用于建立节点连接的服务器域名需要先解析;若它依赖一个必须经该节点才能访问的 DNS,就可能形成启动阶段的循环依赖。

现象优先检查对照方法
系统解析失败,代理请求成功系统 DNS 或浏览器解析路径核对应用是否把域名交给代理
全局代理成功,分流模式失败直连规则、分类数据和规则顺序从日志核对该请求的出站标签
域名有 AAAA 记录时失败IPv6 连通性与出口支持检查实际连接地址,临时做 IPv4 对照
浏览器失败,其他应用正常浏览器安全 DNS 与独立代理暂停相关扩展,复测同一地址

可临时在客户端「路由」菜单切到全局代理配置,测试同一地址后恢复原设置。全局代理只是改变已进入内核的流量出口,不会让原本忽略系统代理的应用自动接入。若全局正常、分流失败,检查是否有宽泛的直连规则先命中;V2Ray/Xray 的路由规则按顺序匹配,前面的命中规则会影响后续判断。

八、复测与常见问题:保留最小故障记录

修复后,按同一顺序复测:基础网络、本地监听、显式代理、浏览器、原先失败的网站。只有一项变化带来稳定结果,才更容易判断真正原因。订阅更新与节点连接是两件事;更新失败不一定导致已有节点失效,已有节点可用也不代表订阅地址当前可访问。

节点有延迟,为什么网页还是打不开?

先确认延迟测试是否只是 TCP 测试。继续执行显式代理请求,并查看握手日志;端口能连接,仍可能存在认证、TLS 或传输参数不匹配。

退出 v2rayN 后,浏览器也不能上网了?

重新打开客户端,在「系统代理」菜单选择「清除系统代理」,再检查系统代理地址是否仍指向本地端口。若电脑受组织策略管理,应先确认原有代理配置。

v2rayNG 显示运行中,只有浏览器不通?

进入「设置」检查「分应用代理」的包含或排除模式,让浏览器进入接管范围。随后关闭浏览器再打开,并确认没有另一个 VPN 服务接管连接。

改过 DNS 还是失败,要不要重装?

先恢复原 DNS,检查请求是否进入内核以及日志中的失败阶段。重装前保存配置和版本信息;本地监听、系统代理或服务端参数有问题时,重装通常无法替代定位。

基础设置可对照快速上手;需要进一步检查 DNS 和路由时,查看使用手册的 DNS 设置。先确定失败层级,再改具体设置,比反复导入订阅和同时切换多个开关更容易得到可复现的结果。

下载v2rayN查看平台与安装包