963 words
5 minutes
Clash 配置完全指南:从入门到弃坑

用了三年 Clash,从 mihomo 到 Clash Verge,再到各种衍生版本。这篇算不上教程,就是一些个人经验的流水账。

先说说背景#

最开始用 Clash 是因为工作需要访问一些外部资源。当时用的是 Surge,但太贵了,后来转投 Clash 阵营。

三年下来,配置文件改了几百版,从最简单的几行规则,到现在上千行的复杂配置。有些坑踩了好几次,干脆写下来备忘。

配置文件结构#

我的配置大概分这几个部分:

# 基础配置
port: 7890
socks-port: 7891
mixed-port: 7892
external-controller: 127.0.0.1:9090
# 代理提供者
proxy-providers:
sub1:
type: http
url: "https://example.com/subscribe"
interval: 3600
path: ./sub1.yaml
health-check:
enable: true
interval: 600
url: http://www.gstatic.com/generate_204
# 代理组
proxy-groups:
- name: "节点选择"
type: select
proxies:
- "自动选择"
- "香港节点"
- "日本节点"
- "DIRECT"
- name: "自动选择"
type: url-test
use:
- sub1
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
# 规则
rules:
- DOMAIN-SUFFIX,company.com,DIRECT
- DOMAIN-SUFFIX,google.com,节点选择
- GEOIP,CN,DIRECT
- MATCH,节点选择

一些实用技巧#

1. 分应用代理#

很多人不知道 Clash 可以按应用分流。比如我只想让浏览器走代理,其他软件直连:

rules:
- PROCESS-NAME,chrome.exe,节点选择
- PROCESS-NAME,firefox.exe,节点选择
- MATCH,DIRECT

Windows 下用进程名,Mac 和 Linux 用进程路径。

2. DNS 防泄漏#

DNS 泄漏是个大问题。我的解决方案:

dns:
enable: true
listen: 0.0.0.0:53
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- https://1.1.1.1/dns-query
- https://8.8.8.8/dns-query
fallback:
- https://1.1.1.1/dns-query
- https://8.8.8.8/dns-query
fallback-filter:
geoip: true
geoip-code: CN
ipcidr:
- 240.0.0.0/4

enhanced-mode: fake-ip 这个很关键,能避免很多 DNS 相关的问题。

3. 规则优先级#

规则是从上到下匹配的,放错了顺序会导致奇怪的问题。我的经验:

  1. DIRECT 规则放最上面(内网、局域网、国内 IP)
  2. REJECT 规则次之(广告、追踪)
  3. 代理规则随后(需要翻墙的域名)
  4. 兜底规则最后(MATCH)
rules:
# 直连
- DOMAIN-SUFFIX,corp.com,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
- GEOIP,CN,DIRECT
# 拦截
- DOMAIN-KEYWORD,ad,REJECT
- DOMAIN-KEYWORD,ads,REJECT
# 代理
- DOMAIN-SUFFIX,google.com,节点选择
- DOMAIN-SUFFIX,youtube.com,节点选择
# 兜底
- MATCH,节点选择

4. 定时更新订阅#

配置文件的 interval 单位是秒。个人建议:

  • 订阅更新:3600(1小时)
  • 健康检查:600(10分钟)
  • 延迟测试:300(5分钟)

太频繁会增加服务器负担,太久又不够及时。

常见问题#

Q: 延迟测试显示超时,但实际能用?#

多半是测试 URL 被墙了。换个测试地址:

url: http://cp.cloudflare.com/generate_204

或者用国内的:

url: http://www.qualcomm.cn/generate_204

Q: 某些网站打不开?#

检查日志,看是哪个规则命中的。可能是:

  1. 域名没进代理规则
  2. DNS 解析问题
  3. IP 被误判为国内

加一条 DOMAIN-SUFFIX 规则通常能解决。

Q: 内存占用越来越高?#

这是老问题了。几个解决方案:

  • 换用 mihomo(Clash 的 Go 版本重写)
  • 限制连接数:external-controller 里设置
  • 定期重启(我用的 cron 定时 kill 进程)

我的完整配置#

太长就不贴了,放几个关键点:

代理组设计

proxy-groups:
- name: "手动选择"
type: select
use:
- sub1
- name: "自动选择"
type: url-test
use:
- sub1
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
- name: "故障转移"
type: fallback
use:
- sub1
url: http://www.gstatic.com/generate_204
interval: 300

分流策略

rules:
# 公司内网
- DOMAIN-SUFFIX,internal.company.com,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
# 国内网站
- DOMAIN-SUFFIX,baidu.com,DIRECT
- DOMAIN-SUFFIX,taobao.com,DIRECT
- GEOIP,CN,DIRECT
# 国外媒体
- DOMAIN-SUFFIX,netflix.com,节点选择
- DOMAIN-SUFFIX,disneyplus.com,节点选择
# 其他
- MATCH,自动选择

最后说两句#

Clash 这东西,配置好了基本就不用管。但第一次配的时候确实挺烦的。

我的建议是:先用别人的模板跑起来,然后慢慢改,改成适合自己的。每个人的网络环境、使用习惯都不一样,照搬配置往往不顺手。

另外,订阅链接保护好,别到处传。节点商发现滥用可能会封账号。


参考链接#


2026-03-17 更新。Clash 生态变化快,部分信息可能已过时。