配置文件使用 YAML 格式,对缩进非常敏感 —— 只能使用空格,不能使用 Tab。 一个完整的配置文件大致分为五块:基础设置、DNS、节点、代理组、规则。

加载位置与生效方式

内核通过 -d 参数指定工作目录,其中必须有 config.yaml

clash-meta -d /etc/clash

# 目录内至少包含
/etc/clash/config.yaml
/etc/clash/Country.mmdb   # 首次运行自动下载

基础端口设置

mixed-port: 7890          # HTTP 与 SOCKS5 共用端口
allow-lan: false          # 是否允许局域网设备接入
bind-address: "*"         # 允许接入时监听的地址
mode: rule                # rule / global / direct
log-level: info           # silent / error / warning / info / debug
ipv6: false               # 是否启用 IPv6
external-controller: 127.0.0.1:9090   # 控制接口
secret: ""                # 控制接口鉴权密码
字段作用
mixed-port同时接受 HTTP 与 SOCKS5 请求,最常用
mode全局流量策略,rule 为按规则分流
allow-lan手机、电视等设备共用电脑代理时才需要开启
external-controller面板与 API 的入口,不要暴露到公网

proxies:节点定义

每个节点是一个列表项,通过 type 区分协议:

proxies:
  - name: "东京-01"
    type: ss
    server: 203.0.113.10
    port: 8388
    cipher: aes-256-gcm
    password: "your-password"

  - name: "新加坡-01"
    type: trojan
    server: sg.example.com
    port: 443
    password: "your-password"
    sni: sg.example.com
    skip-cert-verify: false

name 是节点在规则里被引用的唯一标识,建议保持唯一且可读。 skip-cert-verify 原则上都应设为 false,跳过证书校验会带来中间人风险。

proxy-groups:代理组

代理组把若干节点聚合成一个逻辑出口,规则里引用的是组名而不是节点名。

proxy-groups:
  - name: "🚀 节点选择"
    type: select
    proxies: ["东京-01", "新加坡-01", "♻️ 自动选择"]

  - name: "♻️ 自动选择"
    type: url-test
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    tolerance: 50
    proxies: ["东京-01", "新加坡-01"]

四种常用类型的区别在 代理组与负载均衡策略 中有详细说明。

rules:分流规则

规则自上而下匹配,命中第一条即停止,因此顺序非常重要。

rules:
  - DOMAIN-SUFFIX,local,DIRECT
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - DOMAIN-SUFFIX,example.cn,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,🚀 节点选择

记住两件事:内网与本地地址必须直连,否则会出现访问路由器后台失败;MATCH 是兜底规则,必须放在最后一行。

dns 与 tun 字段

dns:
  enable: true
  listen: 0.0.0.0:1053
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - https://1.1.1.1/dns-query

tun:
  enable: true
  stack: system          # system / gvisor / mixed
  auto-route: true
  auto-detect-interface: true

DNS 的细节较多,单独放在 DNS 配置与防泄漏实践 中展开。

校验与热重载

改完配置后不要直接重启服务,先做语法校验:

# 语法校验,通过则不会有报错输出
clash-meta -d /etc/clash -t

# 服务方式运行时重载
systemctl reload clash

# 或通过 API 触发重载
curl -X PUT http://127.0.0.1:9090/configs \
  -H "Content-Type: application/json" \
  -d '{"path":"/etc/clash/config.yaml"}'

热重载不会中断已有连接,是日常调试的首选方式。


配置结构清楚之后,建议继续阅读 规则引擎与分流规则详解

配置 ← 返回教程列表