节点能连接但打不开网页怎么办?DNS 与路由问题排查

节点显示已连接、延迟正常,网页却打不开或只有部分网站能开——这类问题多出在 DNS 解析与分流规则。本文给出 DNS、路由、规则三条线的完整排查。

直接回答:「连得上却打不开」九成不在节点,而在三处:① 系统代理没生效(流量根本没进客户端);② 分流规则把目标域名判成了直连;③ DNS 污染让域名解析到了错误 IP。按「查出口 IP → 查规则命中 → 查 DNS」三步定位。

问题现象

客户端显示已连接、测延迟正常,但浏览器打不开外网;或大部分网站正常、个别网站转圈超时。

三步定位

  1. 查出口:浏览器访问 ipinfo.io——显示国内 IP 说明流量没走代理,转向系统代理排查;显示节点 IP 则代理链路正常,继续下一步;
  2. 查规则:Clash 类客户端打开 Connections/Logs,访问目标网站看该域名命中的规则——命中 DIRECT 就是分流问题,把域名加入代理规则或临时切「全局」验证;
  3. 查 DNS:全局模式还打不开个别站,多为 DNS 污染,见DNS 污染是什么。

不同客户端的处理

  • Clash Verge Rev:设置里确认「系统代理」开启;规则问题用「全局」模式做 A/B 测试;DNS 问题开启「TUN 模式 + DNS 劫持」;
  • Shadowrocket:全局路由切「代理」测试;设置 → DNS 改为 1.1.1.1 再试;
  • v2rayN:路由切「全局」验证;开启内置 DNS 或 TUN。

常见错误

  • 只重启浏览器不清 DNS 缓存(macOS: dscacheutil -flushcache;Windows: ipconfig /flushdns);
  • 全局模式验证后忘了切回规则模式,国内网站变慢;
  • 把问题归咎节点反复切换,其实规则一直没覆盖目标域名。

换节点还是等机场修?

这类问题极少是机场侧的:换节点通常无效。只有当「全局模式 + 多域名全打不开且出口 IP 正确」时,才可能是该节点被目标网站封禁——此时换节点。

TUN 模式下 DNS 的正确配置见TUN 模式开启失败里的 DNS 一节;同类问题见网络问题排查 · 连不上 / 打不开。

常见问题

为什么国内网站能开、国外全打不开?

说明代理链路没生效:节点虽连接但流量没走出去。检查系统代理开关、代理模式(规则/全局)与端口是否一致。

为什么只有个别网站打不开?

多为该域名的分流规则判成了直连,或 DNS 被污染。把该域名临时加入代理规则测试即可定位。

换 DNS 有用吗?

对直连流量有用(如 223.5.5.5 换 119.29.29.29);走代理的流量由远端解析,本地 DNS 影响不大——重点在客户端的 DNS 设置而非系统 DNS。