本文速览

适用于节点已经选中、内核看似启动,却出现浏览器超时或连接被拒绝的情况。先验证浏览器有没有把请求交给 v2rayN,再检查本地监听、远端节点和 TLS 握手,最后处理分流与防火墙。每次只改一个变量,并保留同一个测试网址,避免把偶然恢复误判成修复成功。

一、系统代理:确认浏览器请求进入内核

“已连接”不是网页可用的完整证明。选中节点表示后续出站使用该配置,内核启动表示进程已经运行;浏览器是否采用代理、服务器是否接受连接、目标网站是否返回内容,仍是独立环节。先暂时关闭主窗口的「启用 TUN」,用系统代理完成最小测试,避免两种接管方式叠加后难以定位。

  1. 设置系统代理

    在 v2rayN 主窗口选择「系统代理」→「自动配置系统代理」。部分界面将入口放在窗口底部,也可从托盘右键菜单进入;不要停留在「清除系统代理」或「不改变系统代理」。

  2. 核对系统设置

    Windows 11 打开「设置」→「网络和 Internet」→「代理」→「手动设置代理」。检查代理服务器是否启用,地址是否指向 127.0.0.1,端口是否与客户端实际 HTTP 或混合监听端口一致。

  3. 排除浏览器覆盖

    暂时停用浏览器代理扩展。Edge、Chrome 通常跟随系统代理;Firefox 还需在「设置」→「常规」→「网络设置」→「设置」中检查是否选择「使用系统代理设置」。

  4. 观察新增日志

    打开一个之前访问失败的 HTTPS 页面,同时观察主窗口日志或连接列表。若有该域名对应的新请求,说明请求至少已经进入内核;完全没有记录时,先查浏览器接管方式,不急着更换节点。

不同版本的日志级别可能隐藏访问记录,因此“没有记录”只是线索,不是最终证据。后面的显式代理命令可以绕过系统代理配置,直接验证本地入口。

二、监听端口:区分未启动与端口占用

打开「设置」→「参数设置」,检查本地监听端口。较新的 v2rayN 常用 10808 作为混合端口,同时接收 HTTP 与 SOCKS 请求;部分旧配置会把 SOCKS 与 HTTP 分别放在 10808、10809。不要把旧教程中的端口直接填进当前系统设置,以下命令以实际混合端口为 10808 为前提。

netstat -ano | findstr :10808
curl.exe -I --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 20 https://www.microsoft.com/

netstat 输出中应有本地地址对应的 LISTENING 行,最后一列是进程 PID。在「任务管理器」→「详细信息」中按 PID 查找进程,确认监听者是本次启动的内核,而不是另一个客户端实例。命令中的 10 秒是连接超时上限,20 秒是整次请求上限,不代表测得的网络延迟。

观察结果优先判断下一步
没有 LISTENING 行端口填错或内核未成功启动回看启动日志,修复配置错误后重新选择节点
监听 PID 属于其他程序端口冲突退出冲突实例,或修改本地端口并同步更新系统代理
显式代理收到目标站 HTTP 响应,浏览器仍失败本地入口和本次目标请求基本可用检查浏览器扩展、独立代理设置与缓存连接
本地监听正常,请求持续超时远端连接、DNS 或路由仍有问题继续测试节点并查看同一时间的错误日志

结论:先固定入口,再改出站

如果显式代理命令已经收到目标网站的响应,就保留当前节点和端口,只排查浏览器的代理路径。若仅出现 HTTP CONNECT 的连接建立提示,仍需确认后续 TLS 握手及目标响应,不能提前认定访问成功。

三、节点可用性:Tcping 不等于代理成功

在节点列表选中服务器,通过右键菜单运行「测试服务器真连接延迟」;也可使用「测试服务器延迟 Tcping」对照。菜单文字可能随版本略有差异,关键是区分“TCP 端口能连接”与“完整代理请求能完成”。订阅导入成功也只证明配置被读取,不代表远端服务仍然有效。

VMess、VLESS 是协议配置,不是可互换的选项。不要为“试一下”擅自切换节点协议或删除 TLS 验证条件。若提供方已更换地址或认证参数,通过「订阅分组」菜单更新对应订阅,再确认活动节点指向更新后的记录。

报错:connection refused

原因与解法:连接被目标地址对应的端口主动拒绝。先看错误中的地址:若是 127.0.0.1:10808,修复本地监听;若是节点服务器,核对远端端口与服务状态。

报错:i/o timeout

原因与解法:某一步读写超过等待时间,单凭这段文字不能确定故障位置。结合完整日志中的目标地址,分别检查节点连接、DNS 查询或目标网站响应。

四、系统时间与 TLS:不要用关闭验证绕过错误

系统时间严重偏差会影响证书有效期判断,也可能影响带有时间校验的协议认证。打开 Windows「设置」→「时间和语言」→「日期和时间」,开启「自动设置时间」,检查时区并点击「立即同步」。重点是日期和实际时间正确,而不只是桌面显示的小时数看起来接近。

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

原因与解法:证书已过期、尚未生效,或本机时钟错误。先同步系统时间;时间正确仍复现时,应由节点维护方检查证书有效期。

报错:x509: certificate signed by unknown authority

原因与解法:证书链无法被信任,也可能存在网络中的 HTTPS 检查。核对服务端证书链与网络环境,不要直接开启跳过证书验证。

若节点使用 TLS,连接地址与用于证书验证的 serverName 不一定相同,必须按服务端配置填写。不要把 serverName 随意改成常见网站域名。使用 REALITY 的节点还应核对公钥、shortId 和服务端指定的 serverName;这些参数出错时,更换本地监听端口没有帮助。

五、路由与 DNS:全局对照只用于定位

前四项通过后,再检查主窗口的「路由」选择。先记录当前规则名称,然后临时选择内置「全局」模式,对同一个失败网址复测。对于普通代理请求,这能帮助判断原来的直连、代理或阻断规则是否选错;它并不等于所有应用和所有 DNS 请求都已经被接管。

对照现象可能原因检查位置
全局可用,原规则失败目标被直连、阻断,或匹配到了不适用的出口「设置」→「路由设置」,核对规则顺序与目标域名条件
日志出现 no such host域名解析失败区分无法解析的是节点地址还是目标网站,再检查对应 DNS 路径
仅自定义路由启动失败规则语法错误或所需数据文件不可用恢复内置规则,阅读启动日志中的具体字段与文件错误
全局与原规则都失败故障不一定在路由回看节点握手与本地入口,不反复叠加域名规则

路由通常按顺序匹配,前面的宽泛规则可能遮住后面的精确规则。使用 geosite:cn、geoip:private 等规则时,还要确认当前内核能够读取所需数据。Xray 与其他内核的配置格式并非处处相同,不应把不同内核的整段配置直接互贴。

六、防火墙与 TUN:最后检查权限和拦截

如果本地监听、节点参数和解析均正常,才检查安全软件的拦截记录。打开「Windows 安全中心」→「防火墙和网络保护」→「高级设置」,查看「出站规则」中是否有针对当前内核可执行文件的阻止规则。客户端更新后程序路径可能变化,应按实际文件位置核对,不要只看旧规则名称。

七、常见追问:恢复访问后的复核

浏览器能上网,终端为什么还是超时?

不少命令行程序不会自动读取 Windows 系统代理。先用前文的 curl.exe --proxy 命令显式指定入口;确认成功后,再按该工具的代理设置方式配置,不能只凭浏览器结果判断终端一定可用。

关掉 v2rayN 后,连普通网页也打不开了?

检查系统代理是否仍指向已经停止的本地端口。可重新打开 v2rayN,选择「系统代理」→「清除系统代理」,或在 Windows 代理设置中关闭本次手动代理,然后重新打开浏览器测试。

真连接延迟有数字,网页却一直转圈?

测速只覆盖测试地址和当时的请求。使用同一个失败域名观察日志,并临时用内置「全局」路由对照。如果只有该站失败,优先检查站点分流与目标服务,不要把测速数值当作全站可用证明。

排查到最后仍失败,要提供哪些信息?

记录 v2rayN 与内核的具体版本号、系统版本、代理模式、本地端口,以及故障发生时间附近的日志。分享前隐藏订阅链接、用户 ID、认证参数和私人地址;保留错误原文、出错阶段与测试步骤即可。

修复后按相反方向收尾:恢复日常分流规则,撤回临时改动,确认浏览器与需要代理的应用均可访问,再退出客户端检查系统代理是否正确清除。把最终有效的端口、节点与规则名称记下来,下次升级后就能快速与基线对照。