适合 v2rayNG 已出现 VPN 标识、或 v2rayN 已启动内核,却仍打不开网页的情况。先确认本地网络与系统时间,再检查应用流量有没有进入客户端,随后分开验证 DNS、路由和节点。每次只改一项,保留一次失败请求的日志,比反复更换整份配置更容易找出原因。
一、先区分“已启动”和“请求成功”
Android 状态栏出现 VPN 标识,表示系统已经建立本地 VPN 接口,不等于远端节点认证成功。v2rayN 显示内核运行,也只说明本地进程已启动。网页能否打开,还取决于应用接管、域名解析、路由选择、远端连接和目标网站响应。
先固定一个测试动作:使用同一个浏览器,打开同一个完整的 HTTPS 地址。另选一个平时能访问的网站作为对照。不要一边更换节点,一边改 DNS 和浏览器设置,否则恢复后也不知道是哪项起效。
| 看到的现象 | 优先检查 | 下一步动作 |
|---|---|---|
| 全部应用都失败 | 本地联网、VPN 接管、节点出口 | 停止代理后先验证基础网络 |
| 只有一个浏览器失败 | 浏览器代理扩展、安全 DNS、分应用列表 | 换另一个浏览器做同地址对照 |
| 部分域名失败 | DNS、域名规则、目标网站限制 | 查看失败请求对应的域名与出站 |
| 节点测试有结果,网页仍失败 | 实际应用的流量路径 | 不要把测试结果当作全链路证明 |
二、核对基础网络与系统时间
先停止 v2rayNG 的连接,或在 v2rayN 的「系统代理」中选择「清除系统代理」。若同时开启了 TUN,也要暂时关闭。仅清除系统代理不会自动停止 TUN 接管。再打开日常可访问的网站,确认 Wi-Fi 或移动数据本身能用。
-
检查联网
关闭代理后打开浏览器。公共 Wi-Fi 若弹出登录页,先完成网络认证;若仍不能联网,切换到移动数据再测,不要先修改节点参数。
-
校准时间
Android 通常在「设置」→「系统」→「日期和时间」开启自动设置时间。Windows 在「设置」→「时间和语言」→「日期和时间」中开启自动设置并执行同步;手机厂商的菜单名称可能不同。
-
恢复连接
回到客户端,选择原节点并重新启动连接。设备时间偏差可能影响证书有效期判断,也可能让 VMess 的时间相关认证失败;只修改时区显示不能修正错误的实际时间。
-
记录结果
记下网络类型、节点名称、失败地址和请求时间。后续每次测试沿用这个地址;网络切换后重新连接,避免把旧连接状态当成新网络的结果。
三、确认浏览器流量进入客户端
v2rayNG 要先获得 Android 的 VPN 授权。若设备正在运行另一个占用系统 VPN 接口的工具,先停止该工具,再启动 v2rayNG。v2rayN 则要区分系统代理和 TUN:前者只对遵循系统代理设置的应用有效,终端程序通常还需要单独指定代理。
在 v2rayNG 的侧边菜单进入「设置」→「分应用代理」,检查开关、列表和模式。启用“仅代理选中的应用”时,浏览器必须被选中;使用绕过模式时,被选中的浏览器反而不会经过代理。不同版本的模式文案可能有差异,要以界面描述为准。
- Android 对照:先记下原列表,暂时关闭分应用代理限制,重新建立连接,再用同一浏览器重试。
- Windows 对照:在 v2rayN 的「系统代理」中选择「自动配置系统代理」,检查浏览器是否被代理扩展强制设置为直连或旧端口。
- 查看日志:发起一次请求,寻找对应域名或目标地址。如果访问日志未启用,看不到记录不能直接证明流量没有进入;可短时提高日志详细度后重试。
桌面端还可以显式指定本地代理,绕开浏览器的代理设置做对照。下面是示例端口,不是所有版本的固定默认值。先查看客户端当前的监听设置,再把命令里的端口改成实际值。
# Windows 终端;目标地址替换为需要复现问题的网站
curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
curl.exe --proxy http://127.0.0.1:10809 --connect-timeout 10 --max-time 20 -I https://example.com/
socks5h 表示把目标域名交给代理端处理。若显式代理能返回 HTTP 状态,而浏览器仍失败,优先检查浏览器和系统代理接管。返回 403 或 405 也说明收到了 HTTP 响应,并不等于页面访问权限正常;个别网站不接受 HEAD 请求,可去掉 -I 再试。
四、分开排查节点域名与网站 DNS
DNS 有两个容易混淆的对象:节点服务器地址,以及准备访问的网站地址。如果节点地址本身是域名,客户端必须先找到它的 IP 才能建立出站。此时把所有 DNS 请求都送进尚未建立的代理,可能形成依赖环路。
另一种情况是节点可连接,但网站域名解析失败。浏览器自己的安全 DNS、Android 的私人 DNS、客户端 DNS 规则可能参与不同的解析路径。Android 通常可在「设置」→「网络和互联网」→「私人 DNS」查看当前状态;厂商界面可能放在「连接与共享」内。
- 先记录原值:保留自定义 DNS 地址与相关规则,不要直接覆盖整份配置。
- 短时对照:若私人 DNS 使用了自定义主机名,暂时切回自动,再重连测试;浏览器自定义安全 DNS 也单独测试一次。
- 判断对象:日志里失败的是节点域名,就先修复节点地址的解析;失败的是网站域名,再检查网站流量使用的 DNS 路径。
- 避免误判:不要简单用网站 IP 替代 HTTPS 域名测试,证书名称和虚拟主机匹配会改变结果。
报错片段:no such host
原因与解法:相关域名未得到可用解析结果。先看日志里的具体主机名,核对拼写与 DNS 可达性;若它是节点域名,确认解析不依赖尚未建立的代理。
报错片段:connection refused
原因与解法:目标地址的连接被拒绝。若目标是 127.0.0.1,核对本地监听端口与内核状态;若是远端节点,核对订阅端口并确认服务是否运行。
报错片段:i/o timeout
原因与解法:操作在期限内没有完成,不能单凭这句判定 DNS 故障。结合前后的目标地址与操作阶段,分别验证网络、解析和远端连接。
五、核对路由顺序与分流命中
如果只有部分网站失败,先看它们实际走了哪个出站。V2Ray/Xray 的路由规则按顺序匹配,前面的规则命中后,后面的规则通常不会再决定该连接。宽泛的直连规则若放在前面,可能让原本准备代理的网站走了直连。
v2rayNG 可从侧边菜单进入「路由设置」,检查当前规则与模式;v2rayN 从「设置」→「路由设置」核对所用规则集。界面中的模式名称可能随版本变化,重点是确认测试请求使用的出站,而不是只看模式标题。
- 保存当前路由配置,或截图记录当前模式,方便恢复。
- 短时使用把普通网站流量送往代理的测试模式,保留局域网必要的直连规则。
- 重新建立连接,再访问原来失败的网站,避免旧连接复用影响判断。
- 如果恢复访问,回到自定义规则,按从上到下的顺序核对域名、IP、出站标签及规则数据库。
geosite:cn 是域名集合条件,geoip:private 是私有地址集合条件,两者不是一回事。引用规则数据库时,文件缺失、集合名称错误可能导致加载失败,应以启动日志为准。也不要把含有域名条件和 IP 条件的同一条规则,想当然地理解成任意满足一个就匹配。
结论:测试模式恢复后,优先修规则
同一个节点、同一个网络下,只有切换路由模式才能打开原网站,就先比较两套规则的命中差异。此时反复更换 TLS 或传输参数,通常会让排查范围变大。
六、最后验证节点与服务端参数
流量已经进入客户端、DNS 也有结果,仍无法建立远端连接,再查节点本身。先更新订阅,确认当前选中的条目没有被旧配置替代。订阅更新只表示取回配置,不代表服务端一定在线,也不代表账户额度仍可用。
- 服务器与端口:对照服务提供方的当前配置,别把网站常用的 443 当作所有节点的固定端口。
- 协议与认证:VMess、VLESS 的协议类型及用户标识要与服务端一致,不能只改协议名称沿用其他参数。
- 传输与安全:核对 WebSocket 路径、Host、TLS 服务器名称;使用 REALITY 时还要核对公钥和 shortId 等对应参数。只检查节点实际启用的项目。
- 内核支持:v2rayNG 使用 Xray 内核,v2flyNG 使用 V2Fly 内核;不同内核支持的功能并非完全相同,复制节点前要核对协议与安全设置的支持情况。
做两组对照就够:同一网络换另一个已知可用节点,同一节点换另一种本地网络。如果其他节点能用而这个节点始终失败,重点查节点配置、服务端状态和账户;如果所有节点只在某个 Wi-Fi 下失败,重点查该网络的限制和解析路径。对照结果是定位线索,不是单次测试就能确认的最终结论。
七、恢复设置与常见追问
找到原因后,把用于对照的临时设置逐项恢复。尤其是全量代理模式、私人 DNS 和浏览器安全 DNS,不应因为测试时改过就一直搁置。先确认原失败地址恢复,再测试一个直连网站和需要访问的局域网服务,避免修好一处又改变了另一处的路径。
有延迟数字,为什么还是打不开?
先看执行的是端口测试还是真实请求测试。端口可连接不代表认证、DNS 和目标网站都正常;即使测试请求成功,也只证明那条测试路径可用。接着用浏览器访问同一地址,并核对它是否进入代理。
浏览器能开,其他应用不能用?
在 v2rayNG 检查分应用代理的列表与模式;在 v2rayN 确认该应用是否遵循系统代理。不要把浏览器成功当作所有应用都已接管的依据,需要时再按教程配置 TUN 并单独验证。
锁屏后不通,重开客户端就好了?
检查 Android「设置」→「应用」→「v2rayNG」→「电池」中的后台活动限制,具体入口随设备变化。允许必要的后台运行后,锁屏再测;若仅切换网络后发生,还要检查重连情况。
已经改乱了,要不要直接重装?
先备份订阅分组和自定义规则,恢复一份已知可用的基础配置,再只选一个节点测试。重装不能修复远端服务中断,还可能丢失定位所需的配置与日志,不应作为第一步。