Clash 无法上网怎么办:连上代理后打不开网页的逐项排查清单

从系统代理开关、规则模式、DNS 设置到订阅有效性,按顺序逐项检查 Clash 显示已连接但无法上网的常见原因,每一步都给出验证方法。

一、先定位问题出在哪一环

浏览器打开一个网页,请求要依次经过:浏览器、系统代理、Clash 本地端口(默认 7890)、代理节点、目标网站。这条链路上任何一环断开,最终表现都是"网页打不开",但每一环的修法完全不同。所以第一步不是急着改设置,而是先定位断点在哪里。

最快的定位方法,是看 Clash 的连接面板:

  1. 打开 Clash 客户端,切换到"连接"(Connections)页面。
  2. 保持面板可见,回到浏览器,刷新那个打不开的网页。
  3. 观察连接列表的变化。

如果没有任何新记录出现,说明请求根本没到达 Clash,问题出在系统代理或浏览器设置,直接看第二步。如果有新记录出现但网页依旧打不开,说明请求到了 Clash 但转发失败,问题在代理模式、节点、DNS 或订阅,从第三步开始查。先分清这两类情况,后面的步骤就不用挨个盲试。

二、确认系统代理已经生效

系统代理没开,是"Clash 明明显示已连接、网页却打不开"最常见的原因:Clash 自己在运行,但浏览器的流量根本没有被交给它。

检查与修复:

  • Clash for Windows 在主界面打开"系统代理"(System Proxy)开关;Clash Verge、Clash Nyanpasu 等客户端在设置里同样有"系统代理"一项,确认它处于开启状态。
  • Windows 验证:打开"设置 → 网络和 Internet → 代理","使用代理服务器"应为开启,地址为 127.0.0.1,端口与 Clash 的混合端口一致(默认 7890;若在配置里改过 mixed-port,以改后的为准)。
  • macOS 验证:打开"系统设置 → 网络",选中当前网络进入"详细信息 → 代理","网页代理(HTTP)"与"安全网页代理(HTTPS)"应勾选,服务器为 127.0.0.1 与对应端口。

几个高频坑:

  • Clash 的端口被改过,系统代理里却还是旧端口,两端对不上。
  • 另一款代理或加速器软件在 Clash 之后又改写了系统代理设置。
  • 浏览器装着 SwitchyOmega 一类的代理插件,走插件自己的配置,完全绕过系统代理。排障期间先把这类插件停用。

验证方法:用浏览器打开任意一个 IP 查询网站,显示的出口 IP 应当是节点所在地区,而不是本地运营商的地址。

一条命令绕过系统代理

想确认"Clash 到节点"这一段本身是否畅通,可以在命令行执行:

curl -x http://127.0.0.1:7890 -I https://www.google.com

这条命令让流量直接走 Clash 的本地端口,不依赖系统代理。能返回 HTTP 响应头,说明 Clash 与节点之间是通的,问题锁定在系统代理或浏览器;连接失败,则说明 Clash 到节点这一段不通,优先查第三到第五步的模式、节点与订阅。

三、检查代理模式与当前节点

系统代理正常之后,下一个要确认的是:流量到达 Clash 之后,被送去了哪里。

  • 确认代理模式。Clash 有规则(Rule)、全局(Global)、直连(Direct)三种模式。Direct 模式下所有流量都直连,等于没开代理,先确认自己没有停在 Direct。
  • 规则模式下,检查策略组当前选中的节点。如果选中项是 DIRECT,或者是一个已经超时的节点,网页照样打不开,把策略组切到延迟正常的节点上。
  • 在节点列表执行一次延迟测试(通常是测速或闪电图标),把所有 timeout 的节点排除出候选。

验证方法:临时把模式切到 Global,选一个延迟正常的节点,再刷新目标网页。能打开,说明之前是规则分流或所选节点的问题;仍然打不开,继续往下查 DNS。

四、排查 DNS 解析问题

DNS 出问题有一个很典型的现象:不是所有网站都打不开,而是只有一部分打不开;或者能 ping 通 IP,却 ping 不通域名。

逐项检查:

  1. 打开当前使用的配置文件,确认 dns 段存在且 enable 为 true,nameserver 里填的是可用的公共 DNS。整段缺失时 Clash 会退回系统 DNS,在域名解析被污染的网络环境里很容易拿到错误结果。
  2. 清掉旧解析缓存:Windows 在命令行执行 ipconfig /flushdns;浏览器可以打开 chrome://net-internals/#dns 清除缓存,或者直接重启浏览器。
  3. 检查浏览器的"安全 DNS"(DNS over HTTPS)开关。它开启时浏览器会绕过系统 DNS 自行解析,可能与 Clash 的 DNS 接管互相打架,排障期间先关闭。
  4. nslookup 加目标域名验证解析链路。能稳定返回结果即说明解析在工作;如果 Clash 的 DNS 工作在 fake-ip 模式,返回 198.18 开头的地址属于正常现象,不是故障。

DNS 各字段的详细填法与防泄漏配置,可以在使用手册里继续查;这里先把"能不能正常解析"这一关过了再说。

五、检查订阅与节点是否仍然有效

如果节点列表里大面积 timeout,问题多半不在本机,而在订阅这一头。

  • 在配置页面对当前订阅执行一次"更新",拉取最新节点列表。列表长期不更新,里面的节点可能早已下线。
  • 登录服务提供商的后台,确认套餐没有到期、流量没有用完、订阅链接没有被重置。链接一旦重置,旧配置拉到的就是失效内容,需要用新链接重新导入。
  • 更新完成后重新做一次延迟测试,确认至少有一个节点延迟正常,再切回规则模式验证网页。

一条经验:单个节点 timeout 是节点本身的问题;全部节点 timeout,优先怀疑订阅和本地网络。

六、TUN 模式、防火墙与软件冲突

前面五步都没解决,就要往系统层面看了。

  • TUN 模式需要额外组件:Clash for Windows 要安装 Service Mode,Clash Verge 需要安装服务模式并授权。组件没装好就打开 TUN,典型表现是"一开 TUN 就断网,关掉就恢复"。排障期间建议直接关掉 TUN,只用系统代理,少一个变量。
  • Windows 防火墙或第三方安全软件可能拦截了 Clash 内核的联网请求,把客户端程序加入允许列表后再试。
  • 同时运行多款代理、VPN 或网游加速器,会互相争抢系统代理和路由表。排障时只保留 Clash 一个,其余全部退出。
  • 以上都无效时,重启客户端;还不行就重启系统,清掉可能残留的端口占用。
注意

排查时一次只改一项设置,改完立即验证。同时改动多处再测试,即使恢复了也不知道是哪一步起的作用,问题还会再犯。

七、按现象速查

把上面的清单压缩成一张表,下次遇到问题可以直接按现象对号入座:

现象大概率原因先看哪一步
连接面板没有任何新记录系统代理未生效或被插件绕过第二步
有连接记录,但所选节点 timeout节点失效或策略组选错第三步
只有部分网站打不开规则分流或 DNS 解析异常第三、四步
一开 TUN 模式就断网服务模式未安装或权限不足第六步
全部节点 timeout订阅过期、套餐到期或本地拦截第五、六步
手机能用、电脑打不开(同一订阅)电脑端系统代理、防火墙或端口配置问题第二、六步

八、排障时的几个好习惯

最后补几条和具体故障无关、但能省时间的习惯。

  • 先备份再动手。改动配置文件之前,把当前能用的配置导出一份,改坏了可以一键退回。
  • 固定一个验证网址。每次改动后都用同一个目标网站测试,避免"换了个网站又好了"造成的误判——有些网站本身就不稳定。
  • 记住最后做了什么。问题往往出现在最近一次改动之后:更新了订阅、升级了客户端、装了新软件。排查从"最近的变化"倒推,通常比从头查一遍快。
  • 升级客户端后出问题,先回退版本验证。如果旧版本正常、新版本异常,说明是版本兼容问题,可以到对应项目的发布页查看已知问题说明。

按这份清单走一遍,绝大多数"连上了却打不开网页"的情况都能定位到具体环节。如果最终确认是订阅侧的问题,本地再怎么调也解决不了,直接联系服务提供商才是正解。

下载 Clash 最新版

Windows、macOS、Android 全平台客户端,每日核对官方发布,版本号与更新日期一目了然。

Clash最新版下载