v2rayN 桌面端显示运行中,不代表浏览器请求已经经过代理,更不代表远端节点能访问目标网站。下面按本机网络、系统代理、监听端口、节点状态、路由、DNS、TLS、TUN、应用设置和日志十项检查。以 Windows 操作为主,补充 v2rayNG 与 v2flyNG 的安卓检查点;每次只改一项,用同一个网址复测,避免把多个问题叠在一起。
一、先确认基础网络,排除登录页与断网
先保存当前节点名称、代理模式和最近一次错误,再暂时关闭 TUN,并在 v2rayN 托盘菜单中选择「系统代理」→「清除系统代理」。此时打开平时能直接访问的网站。若仍然失败,应先检查 Wi-Fi、网线、路由器和网络认证,而不是反复更新订阅。
酒店、校园或公共网络可能要求打开认证页面。网络图标显示已连接,只说明设备连接到局域网。完成认证后,再恢复代理测试。下列三步用于建立可重复的测试条件,后面的所有检查都沿用同一个浏览器和同一个目标网址。
-
记录现场
记下当前节点、系统代理状态、TUN 开关和测试时间;保留错误关键词,不公开完整订阅地址。
-
验证直连
关闭 TUN,执行「系统代理」→「清除系统代理」,访问可直连网站,必要时先完成网络认证。
-
固定目标
恢复节点后只测试一个网址。记录是立即报错、长时间等待,还是只有图片加载失败,避免同时切换多个条件。
二、检查系统代理,请求是否进入 v2rayN
回到 v2rayN 托盘菜单,选择「系统代理」→「自动配置系统代理」。Windows 11 可在「设置」→「网络和 Internet」→「代理」中核对实际代理地址与端口。通常本机代理地址使用 127.0.0.1;端口必须与客户端当前监听值一致,不能照着旧截图填写。
系统代理主要影响遵循该设置的应用,并不自动接管所有程序。先关闭 TUN,只验证系统代理这条路径。如果浏览器刷新网页时客户端没有任何对应连接记录,可以先用显式代理命令绕过浏览器设置测试。下面的 10808 仅为已启用 HTTP 或混合监听的示例端口,运行前必须替换成实际值。
curl.exe --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
- 命令返回目标站点的 HTTP 响应:说明这一次请求经本地代理到目标的链路可用,转查浏览器或系统代理。
- 立即提示连接本地端口失败:跳到第三项,检查内核是否监听。
- 只看到代理隧道建立,随后 TLS 失败或超时:不能据此判定网页已可访问,继续检查远端、DNS 和证书。
三、检查监听端口,区分未启动与被占用
v2rayN 是管理界面,实际处理连接的是内核进程。界面打开但内核启动失败时,系统代理仍可能指向一个没有服务的本地端口。在「设置」→「参数设置」中核对本地监听相关选项,并与日志中的监听地址对照;不同版本的字段名称和默认端口可能不同。
在 PowerShell 中执行以下命令。第一条查监听与进程编号,第二条根据实际查到的编号确认所属进程;示例中的 1234 不是固定值。不要仅凭端口相同就结束进程,更不要强制结束不认识的系统服务。
Get-NetTCPConnection -LocalPort 10808 -State Listen
Get-Process -Id 1234
报错:bind: address already in use
原因与解法:监听地址或端口已被其他进程占用。先确认是否重复启动了客户端;退出重复实例,或修改本地监听端口,再同步更新系统代理和应用代理配置。
报错:Failed to connect to 127.0.0.1 port 10808
原因与解法:这次请求未能连接示例本地端口。核对监听值、内核启动日志与本机安全软件拦截记录,不能直接归因于远端节点失效。
四、检查节点与订阅,测试不等于实际可用
节点列表里有延迟数值,不代表整条代理链路正常。TCP 延迟通常只能说明某个地址和端口可以建立连接;真实延迟测试还取决于客户端采用的测试地址。应先选择节点并设为活动服务器,再通过该节点访问实际目标,而不是只看列表里的数字。
- 在「订阅分组」中选中对应分组,使用更新订阅功能,核对节点地址、端口及服务商通知。不同版本更新命令的文案可能略有差异。
- 确认账户流量、到期时间、设备限制与节点维护状态。订阅更新成功仅说明拿到了配置,不代表配置对应的服务正在工作。
- 切换同一订阅中的另一个节点,保持目标网址和路由模式不变。只有某个节点失败,优先查该节点,而不是重装客户端。
- 安卓上,v2rayNG 使用 Xray 内核,v2flyNG 使用 V2Fly 内核。导入成功不代表内核支持所有参数,应核对协议及传输组合。
VMess、VLESS 是代理协议,REALITY 是相关安全传输方案,不能把三个名称当作互斥的节点类别。手动编辑参数前先备份。特别是 VLESS 配合 REALITY 的配置,服务端地址、公钥、短标识和服务器名称等字段需要与服务端要求对应,不能用猜测值补齐。
五、检查路由分流,确认目标走了哪条出站
只有部分网站打不开时,优先检查路由。系统代理负责把请求交给本地入口;路由规则再决定请求直连、代理或阻断。这是两个不同环节。系统代理已开启,并不意味着所有目标都被送往远端节点。
| 观察结果 | 优先检查 | 验证动作 |
|---|---|---|
| 代理目标被直连 | 域名规则、规则顺序 | 临时选用全部走代理的路由方案 |
| 网页主文能开,图片失败 | 图片与静态资源域名 | 查看失败资源对应的出站记录 |
| 日志明确显示阻断 | 阻断规则是否过宽 | 只调整命中的那条规则 |
| 切换方案后恢复 | 原方案的域名与 IP 匹配 | 恢复原方案后逐条定位差异 |
结论:先用对照方案隔离路由问题
若同一节点、同一网址在全部走代理时正常,而原分流方案失败,就先修正命中规则;此时更换节点或降低 TLS 安全设置通常偏离了问题所在。
路由方案名称会随版本和自定义配置变化,应以规则的实际出站行为为准。更完整的定义可查看路由分流术语说明。完成排查后恢复适合日常使用的方案,不要把临时对照配置当成最终设置。
六、检查 DNS,分清节点域名与目标域名
DNS 至少涉及两类地址:客户端要先找到远端服务器,而网页目标域名也需要在合适的位置完成解析。前者失败,通常无法连上节点;后者异常,可能表现为节点有延迟但网站打不开。查到一个 IP 并不能证明解析正确,也不能只凭不同网络返回不同 IP 就认定污染,内容分发网络本来就可能返回不同结果。
Resolve-DnsName example.com
ipconfig /flushdns
curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
第一条查看系统解析结果,第二条清除 Windows 系统 DNS 缓存。第三条仅在该端口提供 SOCKS5 或混合监听时使用;socks5h 会把目标主机名交给代理端处理,适合与本地解析路径做对照。它不保证绕开内核内部的 DNS 与路由配置。
- 系统解析超时:检查网络下发的 DNS 是否可达,以及当前网络是否限制特定解析服务。
- 刷新缓存后仍失败:再查浏览器安全 DNS、客户端 DNS 配置和内核缓存,系统缓存不是唯一一层。
- 代理端解析可用而本地解析路径失败:重点检查本地 DNS 路径;切换解析服务后仍要重新访问目标确认。
七、检查系统时间、TLS 与 SNI
证书错误需要按具体层级判断:可能是节点的 TLS 握手失败,也可能是浏览器访问目标网站时收到证书错误。Windows 11 可打开「设置」→「时间和语言」→「日期和时间」,启用自动设置时间并执行「立即同步」。证书验证依赖实际系统时间,单纯更改显示时区并不等于完成校时。
报错:x509: certificate has expired or is not yet valid
原因与解法:证书有效期与当前时间不匹配。先同步本机时间;时间正确仍报错,再由服务端维护方检查证书有效期及部署情况。
报错:x509: certificate signed by unknown authority
原因与解法:当前验证环境无法建立可信证书链。核对服务端证书链、系统信任库与网络中的 HTTPS 检查设备,不要直接跳过验证。
报错:tls: handshake failure
原因与解法:这是较宽泛的握手失败提示。核对节点提供的服务器名称、传输方式和 TLS 参数,并结合服务端日志判断,不能只凭这一行断定是证书过期。
SNI 应采用服务端配置要求的名称,不一定等于连接地址,更不能随意改成一个知名网站域名。不要把 allowInsecure 当成通用修复开关:绕过证书验证可能掩盖错误连接或中间环节异常,却无法修复账号、路由和传输参数问题。
八、检查 TUN、权限与虚拟网卡冲突
如果显式代理命令可用,但开启 TUN 后整机无法联网,应将排查范围转到虚拟网卡、路由和 DNS 接管。TUN 会改变系统流量路径,通常需要提升权限;仅给浏览器设置代理时则不必为了测试而同时开启 TUN。
- 先关闭 TUN,确认第二项的显式代理测试能够成功,建立不依赖虚拟网卡的基线。
- 按客户端提示授予创建网卡和修改路由所需的权限。Windows 上可退出后用管理员身份启动 v2rayN,再尝试开启。
- 暂时退出其他 VPN 或流量接管程序,避免多个虚拟网卡同时改写默认路由。企业设备应先遵循组织网络要求。
- 用
Get-NetAdapter查看网卡状态,用route print保存路由信息;先记录,不要批量删除陌生路由。
安卓的 v2rayNG、v2flyNG 通过系统 VPN 服务接管所选应用流量。检查连接授权、分应用代理列表和系统中是否已有其他 VPN 会话。若只有锁屏后断流,再查电池优化与后台运行限制,不要把后台被终止误判为节点失效。桌面 TUN 的基础说明见TUN 使用教程。
九、检查浏览器、应用代理与防火墙
显式代理测试成功而浏览器失败,通常值得先检查应用层差异。浏览器扩展可能覆盖系统代理,安全 DNS 可能选择另一条解析路径;终端程序还可能读取 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY。无痕窗口也不一定排除所有扩展和企业策略,不能作为唯一证据。
- 临时停用代理相关扩展,检查浏览器是否有手动代理或策略设置,再完全退出浏览器并重新启动。
- 应用单独填写代理时,确认 HTTP 与 SOCKS5 类型匹配。同一个端口只有在支持混合监听时才能接受这两类连接。
- 用
Get-ChildItem Env:*PROXY*查看当前 PowerShell 的代理环境变量。发现旧端口后,只清理确认属于旧配置的条目,并重启受影响的应用。 - 检查防火墙或安全软件对内核程序的阻止记录。按程序路径建立必要的放行规则,不要为了试错长期关闭整套防护。
如果只是某个网站登录失败、返回 403 或触发验证码,说明至少已经收到网站层面的响应,不宜直接归类为“完全无法联网”。这类问题可能与出口地址信誉、地区限制或账户风控有关,应与连接超时分开处理。
十、用日志收尾,一次只改一个变量
前九项仍未定位时,清空当前日志显示,记录时间,然后只发起一次目标请求。必要时临时提高日志详细程度,复现后恢复,避免长期记录过多访问细节。判断重点是失败停在哪一层:本地接入、远端连接、握手,还是目标网站响应。
| 关键词或现象 | 说明 | 下一步 |
|---|---|---|
connection refused | 连接被明确拒绝 | 按报错地址区分本地监听与远端服务 |
i/o timeout | 某个网络阶段超时 | 核对地址、端口、网络路径及超时前日志 |
no such host | 相关域名解析失败 | 确认失败的是节点域名还是目标域名 |
| 没有对应访问记录 | 请求可能未进入被观察的入口 | 确认日志级别,再查应用代理与接管范围 |
向维护方反馈时,提供操作系统、客户端版本、内核版本、测试时间、网络类型和已脱敏的错误片段。隐藏订阅令牌、用户标识、密码、私钥及敏感访问记录;不要直接发送整份配置。若更新客户端,先备份节点和路由,再从客户端下载页选择对应平台与架构。
常见追问:测试结果该怎么判断?
节点有延迟,为什么网页还是打不开?
先确认测的是 TCP 延迟还是真实请求延迟。选中节点后执行第二项的显式代理命令;端口探测通过不能证明认证、TLS 和目标网站访问全部正常。
订阅能更新,是不是说明节点没问题?
不是。订阅地址与节点服务器可以是不同服务。更新后核对活动节点、流量和到期状态,再用同一目标分别测试两个节点,比较实际请求结果。
浏览器能用,其他应用都不能用怎么办?
先查这些应用是否遵循系统代理,或能否单独填写本机代理。只有确实需要接管不支持代理的应用时,再按教程配置 TUN,并检查权限与分应用范围。
重启后恢复,过一会儿又断,先查哪里?
保留故障时段日志,核对端口占用、休眠恢复后的网卡路由及后台限制。不要只记录“重启有效”,要比较断流前后监听进程、活动节点和代理状态是否变化。