最后更新于:2026年06月

Clash Meta
Clash Meta 进阶配置

如果你是一名进阶用户,你可能已经发现:代理客户端的配置远不止是"填订阅链接,真正决定使用体验的,是分流规则、策略组、TUN 模式等进阶功能。Clash Meta 作为当前最强大的开源代理核心,凭借其强大的规则引擎与灵活的策略组系统,成为了进阶用户的首选。

本文将带你深入理解 Clash Meta 的核心概念,掌握规则编写策略组、DNS 分流与 TUN 透明代理,把你的 Clash 客户端打造为一台功能齐全的网络分流神器。


🧭 Clash Meta 核心架构

在深入配置之前,我们需要先理解 Clash Meta 的三大核心组件,它们共同构成了你看到的一切。

PLAINTEXT
┌────────────────────────────────────────────────────┐
│                    Clash Meta                      │
│                                                   │
│  [Proxies(代理节点]                            │
│    ├── VLESS / Trojan / Shadowsocks / WireGuard│
│    └── (你的订阅节点)                           │
│                                                   │
│  [Proxy Group(策略组)                          │
│    ├── 手动选择 (select)                        │
│    ├── 自动测速 (url-test)                      │
│    ├── 故障转移 (fallback)                      │
│    └── 负载均衡 (load-balance)                │
│                                                   │
│  [Rules(规则引擎)                            │
│    ├── DOMAIN-SUFFIX / DOMAIN-KEYWORD         │
│    ├── IP-CIDR / GEOIP                        │
│    ├── PROCESS-NAME / SRC-PORT                  │
│    └── MATCH(最终规则)                         │
│                                                   │
│  [DNS 模块]                                     │
│    ├── nameserver / fallback                 │
│    ├── fake-ip / redir-host                    │
│    └── DoH / DoT                                │
└────────────────────────────────────────────────────┘

核心概念速查

概念 含义 类比
Proxies 代理节点列表 你拥有的所有"钥匙"
Proxy Group 节点分组与选择逻辑 如何选择用哪一把钥匙
Rule 流量分流规则 不同网站走不同钥匙
DNS 域名解析策略 如何将域名转为 IP
TUN 虚拟网卡模式 所有流量强制走 Clash

📦 配置文件结构

Clash Meta 使用 YAML 格式。一份完整的配置包含以下模块:

YAML
# 基础配置
mixed-port: 7890
allow-lan: true
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

# DNS 配置
dns:
  enable: true
  listen: 0.0.0.0:53
  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

# 代理节点
proxies:
  - name: "节点1"
    type: vless
    server: server1.example.com
    port: 443
    uuid: your-uuid
    network: tcp
    tls: true
    servername: www.microsoft.com

# 策略组
proxy-groups:
  - name: "🚀 节点选择"
    type: select
    proxies:
      - "节点1"
      - "节点2"

# 规则
rules:
  - DOMAIN-SUFFIX,google.com,🚀 节点选择
  - GEOIP,CN,DIRECT
  - MATCH,🚀 节点选择

🎯 Proxies:代理节点配置

Clash Meta 支持多种协议。以下是各主流协议的配置模板。

VLESS + Reality 配置

YAML
- name: "VLESS-Reality"
  type: vless
  server: server.example.com
  port: 443
  uuid: your-uuid-here
  network: tcp
  tls: true
  servername: www.apple.com
  reality-opts:
    public-key: your-public-key
    short-id: ""
  client-fingerprint: chrome
  udp: true

Trojan 配置

YAML
- name: "Trojan"
  type: trojan
  server: trojan.example.com
  port: 443
  password: your-password
  network: tcp
  tls: true
  servername: trojan.example.com
  sni: trojan.example.com
  alpn:
    - h2
    - http/1.1

Shadowsocks 2022 配置

YAML
- name: "SS2022"
  type: ss
  server: ss.example.com
  port: 8388
  password: your-password
  cipher: 2022-blake3-aes-128-gcm
  udp: true

订阅导入

大多数用户使用订阅链接,无需手动填写节点。在 GUI 客户端(如 Clash Verge Rev、Clash Meta for Android)中,粘贴订阅链接即可自动拉取节点列表。

YAML
# 在 GUI 客户端中通常使用以下格式
# subscription: https://your-subscription-url.com

🚀 Proxy Group:策略组详解

策略组是 Clash Meta 的精髓。通过合理的策略组设计,你可以实现智能的灵活性与高性能的平衡。

1. Select(手动选择)

YAML
- name: "🚀 节点选择"
  type: select
  proxies:
    - "节点1"
    - "节点2"
    - "节点3"
    - "香港 🌏"
  use:
    - provider1

适用场景:主入口策略组。用户手动选择节点。

2. URL-Test(自动选最快)

YAML
- name: "⚡ 自动选择"
  type: url-test
  proxies:
    - "节点1"
    - "节点2"
  url: http://www.gstatic.com/generate_204
  interval: 300
  tolerance: 50

参数说明

3. Fallback(故障转移)

YAML
- name: "🔄 故障转移"
  type: fallback
  proxies:
    - "主节点"
    - "备用节点1"
    - "备用节点2"
  url: http://www.gstatic.com/generate_204
  interval: 300

工作原理:按顺序使用第一个可用节点,失败自动切换到下一个。

4. Load-Balance(负载均衡)

YAML
- name: "⚖️ 负载均衡"
  type: load-balance
  proxies:
    - "节点1"
    - "节点2"
  strategy: consistent-hashing
  url: http://www.gstatic.com/generate_204
  interval: 300

策略

实战:多级策略组

YAML
proxy-groups:
  - name: "🚀 节点选择"
    type: select
    proxies:
      - ⚡ 自动选择
      - 香港节点
      - 日本节点
      - 美国节点
      - 新加坡节点
      - DIRECT

  - name: "⚡ 自动选择"
    type: url-test
    include-all: true
    proxies: []
    use:
      - all_provider

  - name: "香港节点"
    type: select
    use:
      - hk_provider

  - name: "日本节点"
    type: select
    use:
      - jp_provider

  - name: "美国节点"
    type: select
    use:
      - us_provider

📜 Rules:规则引擎深度解析

规则决定了每一个请求的走向。这是 Clash Meta 配置中最重要、最灵活的部分。

规则类型速查

规则类型 匹配对象 示例
DOMAIN 完整域名 DOMAIN,www.google.com,🚀 节点选择
DOMAIN-SUFFIX 域名后缀 DOMAIN-SUFFIX,google.com,🚀 节点选择
DOMAIN-KEYWORD 域名关键词 DOMAIN-KEYWORD,google,🚀 节点选择
DOMAIN-REGEX 域名正则 DOMAIN-KEYWORD,goog.*?,🚀 节点选择
IP-CIDR IP 地址段 IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
GEOIP IP 地理位置 GEOIP,CN,DIRECT
PROCESS-NAME 进程名称 PROCESS-NAME,chrome.exe,DIRECT
SRC-IP-CIDR 源 IP SRC-IP-CIDR,192.168.1.100/32,DIRECT
DST-PORT 目标端口 DST-PORT,80,DIRECT
SRC-PORT 源端口 SRC-PORT,1234,DIRECT
IN-TYPE 入站类型 IN-TYPE,SOCKS/HTTP,DIRECT
MATCH 最终匹配 MATCH,🚀 节点选择

规则编写实战

1. 国内网站直连

YAML
- DOMAIN-SUFFIX,baidu.com,DIRECT
- DOMAIN-SUFFIX,qq.com,DIRECT
- DOMAIN-SUFFIX,taobao.com,DIRECT

2. 国外网站走代理

YAML
- DOMAIN-SUFFIX,google.com,🚀 节点选择
- DOMAIN-SUFFIX,youtube.com,🚀 节点选择
- DOMAIN-SUFFIX,github.com,🚀 节点选择
- DOMAIN-SUFFIX,twitter.com,🚀 节点选择

3. 广告拦截

YAML
- DOMAIN-SUFFIX,doubleclick.net,REJECT
- DOMAIN-SUFFIX,googletagmanager.com,REJECT
- DOMAIN-SUFFIX,googleadservices.com,REJECT

4. 局域网直连

YAML
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

5. GEOIP 分流

YAML
- GEOIP,LAN,DIRECT,no-resolve
- GEOIP,CN,DIRECT,no-resolve

6. 进程名规则

YAML
- PROCESS-NAME,chrome.exe,🚀 节点选择
- PROCESS-NAME,firefox.exe,🚀 节点选择
- PROCESS-NAME,WeChat.exe,DIRECT

完整规则模板

YAML
rules:
  # 1. 常见 CDN 和本地
  - IP-CIDR,127.0.0.1/32,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve

  # 2. 常见国内网站
  - DOMAIN-SUFFIX,baidu.com,DIRECT
  - DOMAIN-SUFFIX,bilibili.com,DIRECT
  - DOMAIN-SUFFIX,qq.com,DIRECT
  - DOMAIN-SUFFIX,taobao.com,DIRECT

  # 3. 常见加速网站
  - DOMAIN-SUFFIX,google.com,🚀 节点选择
  - DOMAIN-SUFFIX,googleapis.com,🚀 节点选择
  - DOMAIN-SUFFIX,youtube.com,🚀 节点选择
  - DOMAIN-SUFFIX,github.com,🚀 节点选择
  - DOMAIN-SUFFIX,twitter.com,🚀 节点选择
  - DOMAIN-SUFFIX,telegram.org,🚀 节点选择
  - DOMAIN-SUFFIX,discord.com,🚀 节点选择

  # 4. 流媒体分流
  - DOMAIN-SUFFIX,netflix.com,🎬 流媒体
  - DOMAIN-SUFFIX,disneyplus.com,🎬 流媒体
  - DOMAIN-SUFFIX,spotify.com,🎬 流媒体

  # 5. 地理位置分流
  - GEOIP,CN,DIRECT,no-resolve

  # 6. 默认规则
  - MATCH,🚀 节点选择

🌐 DNS 配置与分流

DNS 是科学上网体验中的关键环节。配置不好的 DNS 会导致解析缓慢甚至 DNS 泄漏。

基础 DNS 配置

YAML
dns:
  enable: true
  listen: 0.0.0.0:53
  ipv6: false
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  use-hosts: true
  default-nameserver:
    - 223.5.5.5
    - 119.29.29.29
  nameserver:
    - https://223.5.5.5/dns-query
    - https://1.12.12.12/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

DNS 模式详解

模式 说明 适用场景
fake-ip 返回假 IP,真正的 IP 请求在 fake-ip 中映射后获取 大多数用户
redir-host 返回真实 IP,性能略低但兼容性好 有特殊应用需求

为什么 fake-ip 更快?

PLAINTEXT
传统流程:
应用 → DNS 请求 → 等待 DNS 回复 → 连接真实 IP

fake-ip 流程:
应用 → DNS 请求 → 返回假 IP(本地保存映射)
              ↓
         真正请求通过代理转发
              ↓
         代理服务器负责解析真实 IP

fake-ip 模式下,DNS 请求不再需要等待真实 DNS 响应,显著提升首次连接速度。

DNS 过滤配置

YAML
fallback-filter:
  geoip: true
  geoip-code: CN
  ipcidr:
    - 240.0.0.0/4
  domain:
    - "+.google.com"
    - "+.facebook.com"
    - "+.youtube.com"

工作原理:当域名匹配 geoip: CN 时,使用 nameserver(国内 DNS)解析;否则使用 fallback(国外 DNS)解析。


🔒 TUN 模式与透明代理

TUN 模式是 Clash Meta 的杀手级特性。启用 TUN 后,系统所有网络流量都会被 Clash 接管,实现系统级代理。

TUN 模式架构

PLAINTEXT
应用程序
    │
    ▼
系统网络栈
    │
    ▼
TUN 虚拟网卡(Clash 接管)
    │
    ├── 国内流量 → 直连(DIRECT)
    │
    ├── 国外流量 → 走代理(PROXY)
    │
    └── 广告流量 → 拒绝(REJECT)

TUN 配置

YAML
tun:
  enable: true
  stack: system
  dns-hijack:
    - "any:53"
    - "tcp://any:53"
  auto-route: true
  auto-detect-interface: true

参数详解

参数 说明
enable true 是否启用 TUN
stack system 使用系统网络栈
dns-hijack any:53 DNS 劫持端口
auto-route true 自动设置路由表
auto-detect-interface true 自动检测网络接口

macOS 启用 TUN

BASH
# macOS 需要 sudo 权限
sudo chown root:admin /Applications/Clash\ Meta.app/Contents/MacOS/clash-meta

Windows 启用 TUN

Windows 下需要安装 WinTun 驱动。大多数 GUI 客户端会自动处理。


⚡ 性能优化技巧

1. 优化 DNS 缓存

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

fake-ip 模式下,首次请求会缓存 DNS 映射,显著降低延迟。

2. 合理设置并发连接

YAML
unified-delay: true
tcp-concurrent: true
find-process-mode: strict

3. 内存优化

YAML
profile:
  tracing: false

4. 日志级别调整

YAML
log-level: warning  # silent/error/warning/info/debug

生产环境建议使用 warningsilent,减少日志写入。

5. 规则集(Rule Provider)

将大规则集拆分为单独的 Rule Provider,实现动态加载:

YAML
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/reject.list"
    path: ./ruleset/reject.yaml
    interval: 86400

  cn:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cn.txt"
    path: ./ruleset/cn.yaml
    interval: 86400

然后在规则中引用:

YAML
rules:
  - RULE-SET,reject,REJECT
  - RULE-SET,cn,DIRECT
  - MATCH,🚀 节点选择

🔧 故障排查手册

问题 1:无法连接

BASH
# 检查 Clash 是否运行
# 查看日志(log-level: info/debug)
# 检查 mixed-port 是否被占用
netstat -ano | findstr 7890

问题 2:DNS 泄漏

YAML
# 确保配置中启用 fake-ip
dns:
  enable: true
  enhanced-mode: fake-ip

# 同时检查系统 DNS 设置指向 127.0.0.1

问题 3:规则不生效

YAML
# 检查规则顺序(首条匹配优先)
# 打开 debug 日志查看规则匹配
log-level: debug

问题 4:TUN 模式无法启用

BASH
# Windows: 以管理员身份运行
# macOS: 检查虚拟网卡权限
# Linux: 检查内核模块

问题 5:订阅更新失败

YAML
# 检查订阅链接是否有效
# 检查网络是否正常
# 尝试手动下载订阅链接文件

📚 完整生产配置模板

以下是一份完整的配置模板,可直接复制使用:

YAML
mixed-port: 7890
allow-lan: true
mode: rule
log-level: warning
external-controller: 127.0.0.1:9090
external-ui: ui
ipv6: false
tcp-concurrent: true
find-process-mode: strict
unified-delay: true

dns:
  enable: true
  listen: 0.0.0.0:53
  ipv6: false
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  use-hosts: true
  default-nameserver:
    - 223.5.5.5
    - 119.29.29.29
  nameserver:
    - https://dns.alidns.com/dns-query
    - https://223.5.5.5/dns-query
  fallback:
    - https://1.1.1.1/dns-query
    - https://dns.google/dns-query
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4

proxies:
  - name: "香港节点"
    type: vless
    server: hk.example.com
    port: 443
    uuid: your-uuid
    network: tcp
    tls: true
    servername: www.apple.com
    reality-opts:
      public-key: your-public-key
      short-id: ""
    client-fingerprint: chrome
    udp: true

proxy-groups:
  - name: "🚀 节点选择"
    type: select
    proxies:
      - ⚡ 自动选择
      - 香港节点
      - DIRECT
  - name: "⚡ 自动选择"
    type: url-test
    proxies:
      - 香港节点
    url: http://www.gstatic.com/generate_204
    interval: 300

rules:
  - IP-CIDR,127.0.0.1/8,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - DOMAIN-SUFFIX,baidu.com,DIRECT
  - DOMAIN-SUFFIX,qq.com,DIRECT
  - DOMAIN-SUFFIX,google.com,🚀 节点选择
  - DOMAIN-SUFFIX,youtube.com,🚀 节点选择
  - GEOIP,CN,DIRECT,no-resolve
  - MATCH,🚀 节点选择

🎓 下一步学习

恭喜你掌握了 Clash Meta 的核心配置!接下来推荐学习:


结语

Clash Meta 的强大之处在于其灵活的规则引擎与策略组。通过合理的配置,你可以构建一套高度定制化的网络分流系统。无论是简单的科学上网,还是复杂的企业级路由,Clash Meta 都能胜任。

**总结要点:

Clash Meta 不仅仅是代理工具,更是网络艺术。掌握它,你就拥有了高度定制的网络自由。

愿你在网络世界中畅游无阻!🚀

版权声明

作者: 易邦

链接: https://e8k.net/posts/clash-meta-guide/

许可证: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。