标签归档:Clash打不开

Clash导致浏览器打不开网页怎么办 – 原因与解决

这个问题真的太经典了——Clash一开,浏览器就打不开网页,显示”无法访问此网站”或者”连接超时”。把Clash一关,立马就好了。

我刚用Clash的时候,被这个问题折磨了整整两天。一会儿以为是浏览器坏了,一会儿以为是Clash有问题,各种重装,最后发现居然是浏览器代理插件跟系统代理冲突了。

今天就把我踩过的坑都整理出来,帮大家快速定位问题。

先搞清楚是哪种情况

浏览器打不开网页,这个描述太宽泛了。先搞清楚具体是什么情况,排查方向完全不一样。

情况一:所有网站都打不开

开了Clash之后,不管什么网站都打不开,Google、百度全不行。这种一般是代理配置的问题。

情况二:国外网站打不开,国内正常

国内网站能上,Google、YouTube这些上不去。这种是代理没生效或者节点有问题。

情况三:只有某个浏览器不行,其他的可以

比如Chrome打不开,但Edge或者Firefox正常。这种就是单个浏览器的设置问题。

情况四:有时能打开有时打不开

刷新几次,有时候能打开有时候打不开。这种一般是连接不稳定或者DNS的问题。

先对号入座,然后我们接着往下排查。

第一步:先确认Clash是不是真的正常工作

别上来就折腾浏览器,先确认Clash本身是不是好的。

怎么确认

  1. 看看其他软件能不能上网:比如微信、QQ、Steam这些,如果它们也上不了网,那不是浏览器的问题,是Clash整体的问题。
  2. 命令行ping一下:打开命令行,ping一下百度或者Google,看看通不通。
  3. 用Clash内置的测速:测一下节点,看看节点是不是正常的。

如果其他软件也上不了网,那问题在Clash本身,不是浏览器的事。先去把Clash搞定了再说。

如果其他软件都正常,就浏览器不行,那继续往下看。

第二步:检查浏览器的代理设置

这个是最常见的原因。

不同的浏览器,代理设置的方式不一样。有些浏览器用系统代理,有些有自己的代理设置,还有的装了插件。

Chrome/Edge浏览器

Chrome和新版Edge默认是用系统代理的。但如果你装了代理插件(比如SwitchyOmega、Proxy SwitchySharp之类的),插件的优先级更高。

怎么检查
– Chrome:设置 → 系统 → 打开您的计算机的代理设置
– Edge:设置 → 系统和性能 → 打开您的计算机的代理设置

看看是不是指向了Clash的端口(默认7890)。

Firefox浏览器

Firefox比较特殊,它默认有自己的代理设置,不一定用系统代理。

怎么检查
设置 → 常规 → 网络设置 → 设置

看看选的是什么:
– “使用系统代理设置”:跟着系统走,Clash开了系统代理的话应该能用
– “自动检测此网络的代理设置”:不一定靠谱
– “手动代理配置”:需要手动填Clash的地址和端口

如果Firefox打不开网页,先看看这里是不是设对了。建议选”使用系统代理设置”,跟系统保持一致,不容易出问题。

装了代理插件的情况

很多人喜欢用SwitchyOmega之类的插件来管理代理。插件如果配置不对,就算系统代理开了,浏览器也上不了网。

常见的插件问题
– 插件没开,或者选了”直接连接”模式
– 插件里的代理地址或端口写错了
– 规则配置错了,该走代理的没走
– 插件跟其他代理软件冲突了

排查方法:先把插件禁用了,看看能不能上网。如果禁用了就好了,那就是插件的问题,回去重新配。

我当初就是SwitchyOmega里的端口写错了,折腾了好久才发现。

第三步:DNS的问题

这个也是重灾区。很多时候不是连不上,是域名解析不了,看起来就像打不开网页一样。

为什么会有DNS问题

浏览器用了自己的DNS

现在很多浏览器都有”安全DNS”或者”DNS over HTTPS”功能,浏览器自己去解析域名,不走系统的DNS,也不走Clash的DNS。

如果浏览器的DNS被污染了,或者解析不了某些域名,就会表现为打不开网页。

Clash的DNS没配置好

Clash的DNS功能没开,或者配置不对,导致通过代理访问的域名解析失败。

怎么排查

方法一:试试用IP直接访问

比如你知道Google的IP,直接在浏览器里输入IP,看看能不能打开。如果用IP能打开,用域名打不开,那基本就是DNS的问题。

方法二:检查浏览器的安全DNS设置

  • Chrome:设置 → 隐私和安全 → 安全 → 使用安全DNS
  • Edge:设置 → 隐私、搜索和服务 → 安全性 → 使用安全的DNS

把这个功能关掉试试,如果关掉就好了,那就是安全DNS的问题。

方法三:检查Clash的DNS配置

确认Clash的DNS是开启的,而且配置正确。推荐配置参考:

dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - https://1.1.1.1/dns-query
    - https://dns.google/dns-query
  fallback-filter:
    geoip: true
    ipcidr:
      - 240.0.0.0/4

第四步:TUN模式的坑

如果你开了TUN模式,浏览器打不开网页可能跟TUN有关。

为什么TUN模式会影响浏览器

TUN模式需要创建虚拟网卡、修改系统路由表,如果配置不对,可能会导致网络异常。

特别是浏览器的一些网络功能,可能跟TUN模式有兼容性问题。

怎么排查

先把TUN模式关了,用系统代理模式试试。如果关了TUN浏览器就正常了,那就是TUN的问题。

常见的TUN问题和解决方法

  • 没开管理员权限:TUN模式需要管理员权限,右键以管理员身份运行Clash
  • auto-detect-interface没开:开了自动检测接口,防止路由表搞错
  • stack选得不对:试试换成gvisor或者system,不同电脑上表现不一样
  • 浏览器的硬件加速冲突:有些显卡驱动跟TUN模式有冲突,关掉浏览器的硬件加速试试

这个说出来可能有人不信,但有时候就是缓存的锅。

为什么缓存会导致打不开

  • DNS缓存:浏览器缓存了错误的DNS解析结果
  • 页面缓存:缓存了错误的页面状态
  • Cookie问题:Cookie过期或者损坏

怎么解决

方法一:强制刷新页面

按Ctrl+F5强制刷新,跳过缓存重新加载。

方法二:清浏览器缓存

  • Chrome:设置 → 隐私和安全 → 清除浏览数据
  • 把”缓存的图片和文件”勾上,时间范围选”所有时间”,然后清除

方法三:用无痕模式试试

打开无痕/隐私窗口,访问同一个网站。如果无痕模式能打开,那就是缓存或者Cookie的问题,清一下就好了。

第六步:浏览器扩展的冲突

除了代理插件,其他扩展也可能跟Clash冲突,导致打不开网页。

常见的冲突扩展

  • 广告拦截插件:AdBlock、uBlock Origin这些,有时候会跟代理冲突,或者误拦截了一些东西
  • VPN扩展:有些VPN也有浏览器插件,会跟Clash抢代理
  • 脚本管理器:Tampermonkey之类的,某些脚本可能会影响网络请求
  • 安全类扩展:一些网页安全、反追踪的扩展,可能会干扰代理连接

怎么排查

最简单的方法——把所有扩展都禁用了,看看能不能上网。如果能上,就一个个启用,启用到哪个出问题了,就是哪个的锅。

嫌麻烦的话,可以先把跟网络、代理、广告、安全相关的扩展禁掉试试。

第七步:系统代理的问题

有时候Clash开了系统代理,但系统代理没设置对,或者被其他软件改了。

怎么检查系统代理

Windows的话:设置 → 网络和Internet → 代理

看看”自动检测设置”、”使用设置脚本”、”使用代理服务器”这几个选项的状态。

Clash的系统代理一般是通过”使用代理服务器”来实现的,地址是127.0.0.1,端口是7890。

常见的问题

  • 代理地址或端口不对:跟Clash里的设置不一致
  • 被其他软件改了:别的代理软件、VPN什么的改了系统代理设置
  • Clash退出时没清干净:Clash崩了或者非正常退出,系统代理没恢复,导致上不了网

如果是Clash退出后上不了网,去系统代理里把”使用代理服务器”关掉就行。

第八步:防火墙或安全软件

这个之前也说过,但针对浏览器的情况稍微有点不一样。

有些安全软件会单独监控浏览器的网络流量,可能会把通过代理的流量当成可疑行为给拦了。

怎么判断

临时关掉防火墙和杀毒软件,试试浏览器能不能上网。如果关掉就好了,那就是它们的问题。

解决方法

  • 把Clash加到白名单里
  • 把浏览器也加到白名单里
  • 关掉一些深度扫描、流量监控之类的功能

快速排查流程

给大家整理了一个排查顺序,照着来,一般很快就能找到问题:

  1. 其他软件能上网吗? → 不能的话先修Clash本身的问题
  2. 换个浏览器试试? → 其他浏览器能上的话就是单个浏览器的问题
  3. 检查浏览器代理设置:是用系统代理还是自己的设置?
  4. 有没有装代理插件? → 先禁用了试试
  5. 关掉浏览器的安全DNS:DoH功能有时候会捣乱
  6. 用无痕模式试试:排除缓存和扩展的问题
  7. 关掉TUN模式试试:排除TUN的影响
  8. 清一下浏览器缓存:死马当活马医
  9. 关了防火墙/杀软试试:最后排查安全软件

一般到第三步第四步就能找到原因了。

我踩过的几个坑

说几个我自己碰到的奇葩案例,大家乐一乐,也参考一下。

坑一:SwitchyOmega端口写错了

刚用Clash的时候,我把端口从7890改成了7891,但SwitchyOmega里还是7890,结果浏览器死活上不了网。其他软件都正常,就浏览器不行,折腾了好久。

所以改了Clash的端口之后,记得把所有地方的代理设置都检查一遍。

坑二:Chrome的安全DNS

Chrome开了安全DNS之后,有些国内网站反而打不开了,解析特别慢。关了之后就好了。

如果你用了Clash的DNS,其实浏览器的安全DNS可以关掉,让Clash来管理DNS就行。

坑三:广告拦截插件的误杀

有一次某个网站突然打不开了,各种排查都没问题。最后发现是uBlock Origin更新了规则,把这个网站误拦了。

最后说两句

Clash导致浏览器打不开网页,这个问题看起来很吓人,但大部分时候都是小问题——要么是代理设置不对,要么是插件冲突,要么是DNS的事。

别一上来就重装浏览器、重装系统。按上面的步骤一步步排查,大部分问题几分钟就能搞定。

还是那句话,遇到问题先看日志,不管是Clash的日志还是浏览器的控制台,都能给你很多信息。别瞎猜,越猜越乱。

希望这篇文章能帮到你。有什么其他的坑,也欢迎在评论区补充。

FAQ

开了Clash之后国内网站也打不开是为什么?

这种一般是代理配置的问题。可能是系统代理开了但Clash没正常工作,或者代理地址端口不对。也有可能是DNS的问题,国内域名解析失败了。先检查一下Clash是不是在正常运行,端口对不对。

为什么关了Clash之后浏览器还是上不了网?

大概率是系统代理没清掉。Clash非正常退出的时候,可能来不及把系统代理恢复原样,导致系统还在走代理但代理已经关了。手动去系统设置里把代理关掉就行,或者重新打开Clash再正常退出。

只有Chrome打不开,其他浏览器正常是怎么回事?

那就是Chrome自己的问题了。检查一下Chrome的代理设置、有没有装代理插件、安全DNS开了没有。也可以试试禁用所有扩展,或者重置Chrome设置。

浏览器显示”您的连接不是私密连接”是怎么回事?

这个一般是证书的问题。如果开了抓包工具或者某些杀毒软件的SSL扫描功能,它们会替换证书,导致浏览器认为连接不安全。也有可能是节点的证书有问题。看看是不是开了什么安全软件,或者检查节点的TLS配置。

手机上的浏览器也会碰到这种问题吗?

手机上的情况不太一样。如果是用VPN模式的Clash客户端,那所有流量都走VPN,浏览器应该是正常的。如果是用代理模式,那浏览器的代理设置也需要单独配置。手机上的浏览器一般没有那么多扩展插件,问题相对少一些。