Clash 已连接但打不开网页:系统代理、DNS 与规则的逐项排查清单
代理开关是绿的、节点也显示已连接,网页却一直转圈打不开——这种"看起来正常但不通"的情况,病因通常出在系统代理是否真正生效、节点本身是否可达、DNS 解析是否正常、规则是否命中预期策略、浏览器缓存是否残留旧连接这五个环节里的某一个。按固定顺序逐项排除,而不是随手换节点重试,才能在最短时间内定位断点。
代理开关是绿的、节点也显示已连接,网页却一直转圈打不开——这种"看起来正常但不通"的情况,病因通常出在系统代理是否真正生效、节点本身是否可达、DNS 解析是否正常、规则是否命中预期策略、浏览器缓存是否残留旧连接这五个环节里的某一个。按固定顺序逐项排除,而不是随手换节点重试,才能在最短时间内定位断点。
客户端界面显示"已连接",只代表客户端与节点之间建立了代理隧道,并不代表系统的网络流量已经被引导进这条隧道。这是最容易被忽略的一层,也是排查的起点。
127.0.0.1:7890 一类的混合端口)。如果系统代理字段是空的、端口不匹配,或者 TUN 模式下找不到对应虚拟网卡,说明流量根本没有进入客户端,后面所有排查都无意义,应先解决这一层。
系统代理确认生效后,下一步要排除"隧道建立了,但节点本身连不出去"的情况。客户端里的"已连接"状态一般只反映握手成功,不代表该节点当前能正常转发流量。
换节点前先看延迟测试结果,而不是凭感觉切换——盲目切换容易把真正的问题(比如 DNS 或规则)误判成"节点不好"。
代理链路通了、节点也可达,但网页仍然转圈,很大概率卡在域名解析这一步。DNS 请求如果没有走代理,或者被本地缓存了错误结果,浏览器会一直等待一个永远不会返回的连接。
fake-ip 或客户端内置的远程 DNS 转发,而不是直接沿用本机原有的 DNS 服务器。ipconfig /flushdns,macOS 下执行 sudo killall -HUP mDNSResponder),再重新访问一次目标网站。DNS 层的问题往往表现为"部分网站能开、部分不能开",且同一网站在不同时间表现不一致,如果观察到这类现象,应优先怀疑解析环节而不是节点本身。
Clash 与 Clash Meta(mihomo)内核都依赖规则(rules)决定每一条连接走哪个策略组。如果规则把目标网站错误分配到了"直连"或某个已失效的策略组,即便代理本身完全正常,该网站依然打不开。
| 现象 | 可能原因 | 处理方向 |
|---|---|---|
| 所有网站都打不开 | 系统代理未生效 / TUN 网卡未启用 | 回到第一步重新确认代理配置 |
| 部分网站打不开,部分正常 | 规则命中错误策略组 | 查看连接日志确认实际命中的规则 |
| 网页一直转圈无报错 | DNS 解析未走代理或被缓存 | 清除本地 DNS 缓存并检查 fake-ip 设置 |
| 某个策略组下全部超时 | 该组落地节点不可用 | 切换策略组内其他可用节点 |
前四步都确认正常后,如果个别网页依然打不开,问题往往出在浏览器自身缓存的旧连接或旧证书信息上,而不是代理链路。
按以上五步从近到远逐一排除,大多数"已连接却打不开网页"的情况都能在十分钟内定位到具体断点。如果排查后确认是客户端版本本身的兼容性问题,可以考虑更新到最新版本重新测试。