解决 ClashX 无法连接的问题:完整故障排查指南

🔌

问题诊断流程

当 ClashX 无法连接时,系统性的诊断流程能帮助你快速定位问题。遵循正确的排查顺序可以避免浪费时间在错误的方向上。

快速诊断清单

首先执行这些基础检查:

网络连接
是否能访问其他网站
ClashX 状态
应用是否正常运行
代理设置
系统代理是否启用
节点状态
选中的节点是否有效

查看错误信息

ClashX 的错误信息能提供重要线索:

查看日志步骤

1. 点击菜单栏 ClashX 图标

2. 选择"帮助" > "显示日志"

3. 查找包含 "error"、"failed"、"timeout" 的行

4. 记录错误代码和时间戳

🔍
诊断技巧

使用排除法:先测试是否所有节点都无法连接,还是仅特定节点。这能帮助判断是节点问题还是本地配置问题。

连接失败排查

常见连接错误类型

根据不同的错误信息采取对应措施:

错误类型 症状 可能原因 解决方法
Connection timeout 长时间无响应 节点失效或网络阻断 切换节点
Connection refused 立即被拒绝 端口错误或服务未运行 检查端口配置
Authentication failed 认证失败提示 密码或密钥错误 更新订阅或修改配置
Network unreachable 网络不可达 本地网络问题 检查网络连接

节点连接测试

系统性测试节点可用性:

  1. 点击"代理" > "延迟测试"
  2. 等待所有节点测试完成
  3. 选择延迟最低的可用节点
  4. 如果所有节点都失败,更新订阅

订阅更新问题

如果是订阅导致的连接问题:

🔄
订阅刷新步骤

1. 检查订阅链接是否有效
2. 手动更新订阅配置
3. 如更新失败,联系服务商
4. 备用方案:使用备份的配置文件

DNS 问题解决

DNS 故障的表现

DNS 问题通常有以下症状:

  • 网页显示"无法解析域名"
  • 可以 ping 通 IP 但无法访问域名
  • 某些网站可以访问,某些不能
  • 连接速度异常缓慢

修改 DNS 配置

优化 ClashX 的 DNS 设置:

推荐 DNS 配置

dns:
  enable: true
  ipv6: false
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16

  # 国内 DNS
  nameserver:
    - 119.29.29.29
    - 223.5.5.5
    - 114.114.114.114

  # 国外 DNS (加密)
  fallback:
    - tls://1.1.1.1:853
    - tls://8.8.8.8:853
    - https://dns.google/dns-query

  # 分流规则
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4
      - 0.0.0.0/32

清除 DNS 缓存

刷新系统和 ClashX 的 DNS 缓存:

清除缓存命令

# macOS 清除系统 DNS 缓存
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

# 重启 ClashX 以清除应用缓存

DNS 泄漏测试

验证 DNS 是否正常工作:

🧪
DNS 测试方法

访问 dnsleaktest.com 检查 DNS 查询是否被正确代理。如果显示的 DNS 服务器与你的配置不符,说明存在 DNS 泄漏。

证书错误处理

证书错误类型

HTTPS 网站访问时可能遇到的证书问题:

🔐
常见证书错误

• 证书过期
• 证书不受信任
• 证书域名不匹配
• 中间人攻击警告

安装 ClashX 证书

解决证书信任问题的步骤:

  1. 点击 ClashX 菜单 > "证书" > "安装CA证书到系统"
  2. 输入管理员密码确认安装
  3. 打开"钥匙串访问"应用
  4. 找到 ClashX CA 证书
  5. 双击证书,展开"信任"选项
  6. 将"使用此证书时"设为"始终信任"

证书问题排查

如果安装证书后仍有问题:

  • 检查系统时间是否正确(证书有时效性)
  • 重新生成并安装证书
  • 检查是否有其他安全软件干扰
  • 尝试禁用 HTTPS 解密功能

特殊网站证书问题

某些银行或支付网站可能不兼容 HTTPS 解密。可以在规则中添加 DOMAIN 规则,让这些网站走 DIRECT,绕过代理。

网络配置问题

系统代理设置检查

验证 macOS 系统代理配置:

HTTP 代理
127.0.0.1:7890
HTTPS 代理
127.0.0.1:7890
SOCKS5 代理
127.0.0.1:7891

防火墙配置

确保防火墙不阻止 ClashX:

防火墙设置步骤

1. 打开"系统偏好设置" > "安全性与隐私"

2. 点击"防火墙"标签

3. 点击"防火墙选项"

4. 确保 ClashX 被允许接收传入连接

端口冲突检查

检查 ClashX 使用的端口是否被占用:

检查端口命令

# 检查端口占用
sudo lsof -i :7890
sudo lsof -i :7891
sudo lsof -i :9090

# 如果端口被占用,可以在 ClashX 配置中修改端口

VPN 冲突问题

同时运行多个代理工具可能导致冲突:

⚠️
避免 VPN 冲突

使用 ClashX 时,建议关闭其他 VPN 或代理工具(如 ShadowsocksX、V2RayU、Surge 等)。如果必须同时使用,请确保它们使用不同的端口。

高级故障修复

完全重置 ClashX

当其他方法都无效时,尝试完全重置:

重置步骤

# 1. 完全退出 ClashX
# 2. 删除配置文件
rm -rf ~/.config/clash

# 3. 删除日志文件
rm -rf ~/Library/Logs/ClashX

# 4. 重新启动 ClashX
# 5. 重新添加订阅或配置
💾
重要提醒

重置前务必备份你的配置文件和订阅链接!可以将 ~/.config/clash 目录复制到安全位置。

重新安装 ClashX

如果应用本身出现问题:

  1. 完全退出 ClashX
  2. 将 ClashX.app 移到废纸篓
  3. 清空废纸篓
  4. 从官方 GitHub 下载最新版本
  5. 安装并重新配置

使用增强模式

如果系统代理模式不工作,尝试增强模式:

增强模式优势

增强模式可以捕获不遵循系统代理设置的应用流量。在 ClashX 菜单中勾选"增强模式"即可启用。

寻求帮助

如果以上方法都无法解决问题:

  • 在 GitHub Issues 搜索类似问题
  • 加入 Telegram 社区寻求帮助
  • 联系你的代理服务商技术支持
  • 提供详细的日志信息以便诊断
资源 用途 链接
GitHub Issues 报告 bug 和问题 github.com/charlessnow/ClashX
官方文档 查看详细说明 clash.wiki
社区论坛 交流经验 各大技术论坛

评论

💬

评论功能即将上线,敬请期待!