本文目录
代理应用显示“已连接”,只是排查的起点;真正要确认的是刚才访问的目标有没有拿到结果。网页立即报代理错误、只有域名失败,以及开启虚拟网卡后整机断网,检查位置并不相同。记录具体症状,能避免把规则、节点和系统设置一起改乱。
显示已连接,不代表请求已经成功
记录失败目标、错误原文和当前模式,再按下表选择检查项。不要用内核运行代替代理端口可用,也不要用节点可达代替 DNS 正常;这些结果需要分别确认。
下面的系统代理对照与端口检查适用于 Windows/macOS。Android 用户先核对 VPN 授权和分应用设置,具体操作见手机教程;已有连接记录时,DNS、规则和节点的判断仍可参考后文。
不同现象的第一检查点
| 现象 | 先检查 |
|---|---|
| 所有网站都立即报代理连接失败 | 系统代理指向的本地地址和端口 |
| 域名打不开,直接访问 IP 有响应 | DNS 与浏览器安全 DNS |
| 国内正常,需代理站点超时 | 节点、策略组和规则命中 |
| 系统代理正常,一开 TUN 全断 | 服务、虚拟网卡、默认路由和其他 VPN |
| 只有某个应用失败 | 该进程是否进入 Clash,以及应用自身状态码 |
系统代理、TUN 与直连的对照
关闭 TUN,只保留 Rule 模式与系统代理,重新打开同一个网页。系统代理可用而 TUN 断网,订阅和节点至少有一条基本可用路径,重点转向服务、路由与 DNS;两种模式都失败,则先不碰虚拟网卡。
直连测试换用当前网络本来能打开的网页;不要沿用必须代理的目标。关闭系统代理后,这类网页也失败时,再检查 Wi-Fi、宽带、企业认证或路由器。Clash 不能修复本来就无法上网的网络。
网页请求有没有出现在连接页面?
清空连接记录,访问一个固定域名。如果完全没有新请求,浏览器可能没有使用系统代理,端口可能写错,或应用绕过了当前接管方式;继续换规则和节点不会改变这一点。
请求已经出现时,记下目标、命中规则、策略组和错误。意外 DIRECT、REJECT、timeout、connection refused 提示的原因不同,应分别检查。只看托盘图标颜色,会漏掉这些具体证据。
一次最小复现
固定配置和节点
暂时关闭自动切换,只保留一个出口。
清空连接与日志视图
避免把后台更新误认成刚才的网页请求。
访问同一个 HTTPS 地址
记录是否进入 Clash、命中什么规则、出现什么错误。
只改一个变量再重试
节点、规则、DNS、TUN 不要同时变化。
立即报错时,核对系统代理和监听端口
浏览器一打开就显示无法连接到代理服务器,常见原因是 Windows 或 macOS 仍指向 127.0.0.1 的旧端口,而当前客户端没有监听。到客户端设置读取真实 mixed-port,再用 netstat、lsof 或 ss 验证。
端口存在时可用 curl -x 显式请求,区分本地代理入口与系统代理写入。显式代理成功、浏览器失败,问题在系统或浏览器设置;显式代理也失败,才回到内核、节点和日志。
# 将 7890 换成客户端实际端口
curl -I -x http://127.0.0.1:7890 https://example.com
# Windows
netstat -ano | findstr :7890
# macOS / Linux
lsof -nP -iTCP:7890 -sTCP:LISTEN只有解析表现异常时,才进入 DNS 排查
域名没有目标地址、nslookup 失败,或关闭浏览器安全 DNS 后结果改变时,检查解析入口。暂时关闭浏览器 DoH 做对照,再核对系统与 Clash 实际使用的解析路径和 nameserver 是否可达;关闭一个开关并不能自动让两者使用相同解析设置。
恢复后再决定是否重新开启浏览器的独立解析。路由器解析与浏览器解析并存时,Clash 可能拿不到完整域名。
Fake-IP 虚拟地址与旧缓存怎样区分?
Fake-IP 模式下,域名解析到 198.18.0.0/15 一类地址通常是正常现象:应用先连接这个虚拟地址,Mihomo 再把它还原成域名并匹配规则。看到 198.18.x.x 本身不代表 DNS 被污染,关键是连接页面能否保留原域名并命中预期策略。
真正需要处理的是切换配置、改规则或从 Redir-Host 改到 Fake-IP 后,系统和应用仍拿着旧结果。此时先关闭测试应用,清理系统 DNS 缓存,再重启 Mihomo 内核后复测;不要一边保留旧连接,一边连续切换增强模式。
NAS、打印机、路由器后台和企业内部域名若必须返回真实内网地址,应加入当前配置的 fake-ip-filter 或交给对应内网 DNS。验证结果是这些本地域名仍解析到真实 LAN 地址,而公网域名能在连接页恢复为域名并正确分流。
ipconfig /flushdns请求进入以后,再按规则、节点或 TUN 分开处理
请求命中 DIRECT 后超时
常见原因:可能误命中直连规则,也可能是本地网络或目标服务不可达
处理方法:先确认是否本应直连;本应代理时,才把精确规则放在 GEOIP 与 MATCH 前面,并重做同一请求。
命中代理组但 dial timeout
常见原因:当前节点、协议或远端不可达
处理方法:固定另一条已知可用节点对照,不先改 DNS。
本地代理 connection refused
常见原因:端口未监听或系统代理写错
处理方法:核对 mixed-port、进程状态和端口占用。
只有 TUN 下全断
常见原因:服务权限、默认路由、虚拟网卡或其他 VPN 冲突
处理方法:恢复系统代理后逐项检查,不执行整机网络重置。
