v2rayN 能测速却打不开网页,问题出在哪
一句话结论
能测速说明节点和加密握手都正常,问题出在流量没被送进代理或域名解析异常。依次检查:系统代理开关是否真的生效、路由规则是否把目标域名判成了直连、DNS 是否被污染或泄漏,以及浏览器代理插件与 IPv6 是否在抢路。
这类故障最让人困惑的地方在于,界面上一切正常:节点列表有延迟数字,测速跑得出结果,日志里没有报红。可浏览器就是一直转圈,最后停在连接超时。
原因是测速和浏览网页走的根本不是同一条路径。测速时是 v2rayN 自己发起请求,它当然知道要通过代理出去;浏览网页时请求由浏览器发起,能不能进到 v2rayN 手上,取决于系统代理有没有真正生效、路由规则怎么判、域名解析是否正确。测速成功只证明了后半段链路是通的,前半段完全没被验证。
所以排查方向要从"节点好不好"转到"我的请求有没有走进去、走进去之后被送到哪儿"。下面按四层展开,每层给出一个明确的判据。
测速通过,意味着哪些环节已经可以排除
先把已经确认没问题的部分划掉,剩下的范围会小很多。
| 环节 | 测速通过是否证明它正常 | 说明 |
|---|---|---|
| 本机到节点的网络可达性 | 是 | TCP 连接已成功建立 |
| 加密与协议握手 | 是 | 参数填错时握手会直接失败 |
| 节点服务端存活 | 是 | 服务器有响应并返回了数据 |
| 内核进程运行状态 | 是 | 内核没起来测速无法执行 |
| 浏览器流量是否进入代理 | 否 | 走的是另一条路径 |
| 路由规则的判定结果 | 否 | 测速请求可能命中不同规则 |
| 域名解析是否正确 | 否 | 测速常用固定地址,不依赖解析 |
| 出口 IP 是否被目标站点限制 | 否 | 与目标站点的风控策略有关 |
后四项就是本文要逐个验证的对象。
系统代理显示已开启却没生效,怎么验证
界面上的开关状态不可信,要看系统里实际写入了什么。最直接的判据是打开一个能显示来源 IP 的页面:显示本地运营商的 IP 就是没走代理,显示节点所在地区就是走了。
如果确认没走,按下面几种成因对照:
| 成因 | 典型表现 | 处理方向 |
|---|---|---|
| 上一次异常退出留下残留设置 | 系统代理开关状态与实际不符 | 关掉再重新开启一次系统代理 |
| 端口被其他程序占用 | 日志提示监听失败 | 换一个本地监听端口 |
| 安全软件接管了代理设置 | 开启后几秒自动变回不使用 | 在安全软件里为 v2rayN 放行 |
| 程序权限不足 | 写入系统设置失败无提示 | 以管理员身份重新运行 |
| 组策略锁定了代理配置 | 公司电脑上常见 | 改用其他接管方式 |
系统代理天生管不到一部分程序,这一点和"没生效"是两回事。如果只有个别软件不通、浏览器正常,那属于覆盖范围问题,参考系统代理与 TUN 模式的覆盖差别。
PAC 模式下漏掉的域名是怎么产生的
PAC 的工作方式是浏览器下载一份脚本,然后对每个域名调用脚本判断走不走代理。脚本里没收录的域名一律直连,于是就出现了"大部分网站正常、某些网站打不开"的局面。
漏网的域名通常有三类来源:新上线或改过域名的站点,脚本列表还没更新;主站在列表里但资源域名不在,页面框架能打开而图片脚本加载不出来,表现为白屏或半张页面;以及使用了大量第三方 CDN 的站点,主域名走代理而 CDN 域名直连,内容始终加载不完整。
判据很简单:把模式从 PAC 切成全局系统代理再试一次。立刻好了就是 PAC 列表的问题,此时要么更新 PAC 文件,要么干脆改用按路由规则分流,后者的可控性明显更好。
路由规则把网站误判成直连有什么典型表现
最典型的是"打得开首页但登录不了",以及"能访问但被跳转到中文版本"。前者说明主域名走了代理而接口域名走了直连,后者说明整站都在直连、目标站点按你的真实 IP 判断了地区。
验证方法是临时把代理模式切到全局。全局模式下路由表基本被旁路,如果这时网站正常了,问题就锁定在规则里。接着按两个方向找:
一是顺序问题。你写的具体规则排在了 geosite:cn 这类宽泛列表后面,被提前命中判成直连。二是列表收录问题。内置的地区域名列表会随更新变化,某个域名被新收进 cn 列表后,原本走代理的流量会突然改走直连。
这两种情况的修复方式相同:把目标域名单独写成一条 proxy 规则,放到规则表最上方。完整的写法和匹配顺序原则见路由分流规则的排列方法。
DNS 污染和 DNS 泄漏分别怎么看出来
这两个词经常混用,其实是相反的两个问题。
污染指的是解析请求被中途拦截,返回了一个错误的 IP。表现是浏览器很快报错而不是长时间转圈——因为它拿到 IP 了,只是连不上或者连到了错误的地方。泄漏指的是解析请求没走代理,用本地 DNS 解析了本该由代理解析的域名。表现是解析结果指向就近的国内节点,导致本该走境外的服务被解析到访问不了的地址上。
| 现象 | 更可能是 | 快速验证 |
|---|---|---|
| 秒级报错,提示无法访问此网站 | 污染 | 用节点直接按 IP 访问看是否能通 |
| 长时间转圈最后超时 | 流量没走代理 | 查来源 IP 是否为本地运营商 |
| 解析出的 IP 是国内地址 | 泄漏 | 对比代理内外的解析结果 |
| 部分域名正常部分异常 | 规则或列表问题 | 切全局模式复核 |
处理方向是让域名解析交给代理侧完成,而不是在本地解析完再把 IP 送出去。v2rayN 的 DNS 设置里可以指定远程解析的服务器,让走代理的域名由节点那侧解析;国内域名则保留本地解析,避免绕远。这一块配置不当会引发新的问题,改动之后务必逐项验证,不要一次改一堆。
# 结构示例:对比同一域名在不同 DNS 下的解析结果,example.invalid 换成实际域名
nslookup example.invalid
nslookup example.invalid 127.0.0.1
两次结果差异明显时,基本可以确认本地解析链路存在问题。
浏览器扩展、IPv6 抢路该怎么处理
浏览器里的代理扩展优先级高于系统代理设置。它按自己的规则表工作,v2rayN 的路由规则对它无效。症状是:同一个网址在装了扩展的浏览器里打不开、换一个干净的浏览器就正常。处理方式是先把扩展禁用做对照测试,确认后再决定保留哪一套规则——两套规则同时生效几乎必然产生冲突。
IPv6 的问题在于优先级。系统在拿到 IPv6 和 IPv4 两个地址时通常优先尝试 IPv6,而代理链路如果只支持 IPv4,这次尝试就会走本地出口,失败或者超时之后才回退。表现为网页加载特别慢、偶尔能开偶尔不能。
排查阶段可以临时在网络适配器属性里取消勾选 IPv6 做验证,确认现象消失后再决定是长期关闭还是在 v2rayN 里配置 IPv6 支持。纯 IPv6 接入的宽带不适合直接关闭,先确认自己的接入方式。
只有某一个网站打不开时,单独怎么查
范围缩到单站,排查顺序要反过来,从目标侧往回查。
- 换一个地区的节点。同一份配置换节点就好了,说明是这个出口 IP 被目标站点限制,与 v2rayN 无关。这属于出口 IP 属性的问题,原生 IP 与广播 IP 的判定差异那篇有更完整的解释。
- 换一个浏览器或用无痕窗口。好了就是缓存、Cookie 或扩展的问题,和网络层无关。
- 检查该域名是否被某条规则命中。特别是自己写过的 block 规则和地区列表,单站故障里规则误判占了相当比例。
- 确认不是站点本身的问题。用手机流量直接访问一次,如果同样不通,那就与代理无关了。
这四步走完仍然定位不了,再考虑抓包看请求究竟发到了哪里。多数情况下不需要走到这一步。
小结
测速成功只验证了 v2rayN 到节点这一段,浏览器的请求能否进到代理是另一条独立路径。排查按四层推进:先确认系统代理真的生效(看来源 IP,不看开关),再确认路由规则没把域名判成直连(切全局模式做对照),然后区分 DNS 污染与泄漏(比对解析结果),最后处理浏览器扩展和 IPv6 抢路这两个容易被忽略的干扰源。只有单个网站打不开时改从目标侧往回查,换节点、换浏览器两步就能分掉大半可能性。重装客户端对这类问题基本无效。
常见问题
测速能通过,说明节点是好的吗
说明这个节点当时是可用的:TCP 连接建立成功、加密协商通过、能拿到带宽。但它只证明 v2rayN 自己发出的那次请求走通了,不证明浏览器的请求也进了代理,这两条路径是分开的。
怎么快速确认浏览器的流量真的走了代理
打开一个能显示访问来源 IP 的页面看结果。显示的是本地运营商 IP 就说明没走代理,显示的是节点所在地区就说明走了。这比看 v2rayN 界面上的开关状态可靠得多。
为什么只有一个网站打不开,其他都正常
范围这么小基本可以排除代理接管和 DNS 全局问题,更可能是这个域名被某条路由规则判成了直连或拦截,或者目标站点本身对该出口 IP 做了限制。先把节点换一个地区试,再检查规则。
关掉 IPv6 会不会影响其他上网需求
家庭宽带环境下影响很小,绝大多数网站和服务仍然可以通过 IPv4 正常访问。但如果你的宽带是纯 IPv6 接入,或者需要访问只有 IPv6 地址的内网资源,关掉之后这部分会不通,需要单独确认。
重装 v2rayN 能解决这类问题吗
很少能。这类故障的原因大多在系统代理设置、路由规则和 DNS 上,重装会保留配置,问题照旧;即使重置了配置,也只是把你的自定义规则一起清掉造成的假象。按层排查比重装省时间。