一、先看全局:一次完整配置需要经过四个阶段

很多人第一次配 Clash 会感觉步骤很多,但把它们按顺序摆开之后,其实只有四个阶段:导入订阅、接管流量、定制分流、保持更新。前两步是必做的,做完就能上网;后两步是加分项,做完体验会明显不一样。

下面的章节按这四步展开。每一节都会先讲「这一步解决什么问题」,再给出不同平台的具体操作路径。如果你只想快速跑通,可以只读前两节;如果你想让规则按自己的想法走,第三节值得细看。

本文以 Clash Verge Rev 为主例,因为它同时覆盖 Windows、macOS、Linux 三个平台,界面逻辑也最完整。其他客户端(ClashX Pro、Clash for Android、Stash)的操作路径会在每节末尾单独说明。

二、第一步:导入订阅,让节点列表先出来

订阅链接是整条链路的入口。它通常由机场后台的「一键订阅」入口提供,也可能由自建服务生成。拿到链接后,先确认两件事:它是否返回 Clash 专用格式,以及令牌参数是否完整。

2.1 先验链接:用浏览器快速判断订阅有效性

在导入之前,建议先花十秒验证一次链接。把订阅地址粘贴进浏览器地址栏并回车,观察返回内容:

如果不方便打开浏览器,用命令行查看响应前几行也可以,速度更快:

# 查看订阅链接返回内容的前 5 行 curl -sL "你的订阅链接" | head -n 5

返回 <!DOCTYPE html> 或 <html 开头的基本可以判定为网页,而不是配置。这时候导入客户端只会得到「解析失败」,先解决订阅本身再回来操作。

2.2 导入配置:不同平台的入口位置

确认链接有效之后,进入客户端导入。各平台的菜单名称略有差别,但逻辑一致:找到订阅 / Profiles 页面,粘贴链接,确认下载。

客户端 操作路径 备注
Clash Verge Rev 左侧菜单「订阅」→ 顶部输入框粘贴链接 → 回车确认 支持多订阅并存,可分别命名
ClashX Pro 菜单栏图标 → 配置 → 管理 → 添加订阅地址 只支持 macOS
Clash for Android 「配置」标签 → 右下角加号 → 从 URL 导入 建议关闭省电优化
Stash / Shadowrocket 「订阅」标签 → 右上角加号 → 粘贴链接 需外区 App Store 账号

2.3 另一种方式:直接放入 YAML 文件

如果你已经拿到一份现成的 YAML 文件,也可以直接把它放进客户端的配置目录。各平台的默认路径如下:

# 各平台默认配置目录 Windows: %USERPROFILE%\.config\clash\ macOS: ~/.config/clash/ Linux: ~/.config/clash/

放好之后,需要在客户端里手动刷新一次配置列表,仅复制文件不会自动出现条目。部分客户端使用私有配置目录,具体路径可在设置页查看。

导入成功后,建议第一时间打开「自动更新」开关,按 12 或 24 小时拉取一次。机场调整线路时节点会自动同步,不需要你手动操作。

三、第二步:接管流量,让请求真的经过 Clash

订阅导入之后,节点列表已经有了,但这时候流量还没有经过 Clash。接管流量有两种方式:系统代理和TUN 模式。二者的覆盖范围不同,选择哪一种取决于你要接管哪些应用。

3.1 系统代理与 TUN 模式的核心差异

对比项 系统代理 TUN 模式
覆盖范围 只接管读取系统代理设置的应用 接管设备全部 TCP / UDP 流量
典型覆盖 浏览器、部分桌面软件 浏览器、游戏、命令行、Docker 容器
配置复杂度 低,一键开关 中,首次需安装虚拟网卡、授权
权限要求 无 Windows 需管理员、macOS 需网络扩展授权
适用场景 日常浏览为主 游戏、开发调试、全屋网关

3.2 TUN 模式开启方法(Clash Verge Rev)

Clash Verge Rev 把 TUN 开关放在主界面比较显眼的位置。开启流程如下:

  1. 进入「设置」页面,找到「TUN 模式」开关
  2. 打开开关,系统会弹出授权提示(Windows 管理员授权 / macOS 网络扩展授权)
  3. 确认授权后,客户端会自动安装虚拟网卡驱动
  4. 驱动安装完成后,TUN 状态灯变绿,说明接管生效

虚拟网卡驱动安装失败怎么办

少数情况下,驱动会因为安全软件拦截或系统策略限制而安装失败。判断方式:打开系统的「网络连接」面板,查看是否多出一张 Clash 相关的虚拟网卡。如果没有,说明驱动没有装成功。

系统防火墙放行内核

TUN 模式需要内核进程拥有创建网络接口与修改路由表的权限。如果系统防火墙把内核进程拦截了,会出现「TUN 显示已开启但完全没网」的情况。可以在防火墙的出站规则中把 Clash 客户端目录整个放行,或者把内核进程(mihomo / clash-verge-service)加入白名单。

系统代理与 TUN 模式不要同时开启。两者同时启用会造成流量重复接管,典型表现是部分应用无法联网。切换时先关掉当前模式,再开启另一种。

3.3 切换到「规则」模式

无论使用系统代理还是 TUN,都需要把运行模式切到「规则(Rule)」。客户端顶部通常有一个下拉或分段按钮,提供「规则 / 全局 / 直连」三种选项。日常使用选「规则」,Clash 会按配置文件里的分流规则自动判断每条请求的去向。

四、第三步:规则分流,让流量按你的想法走

规则分流是 Clash 最核心的能力。它决定了「哪些请求走代理、哪些请求走直连、走代理的请求分配到哪个节点」。这一节先讲规则集的加载方式,再讲常用规则类型的写法,最后给出一个可套用的规则结构模板。

4.1 用规则集(rule-providers)加载远程规则

把所有规则写死在配置文件里,维护起来很痛苦。更推荐的方式是用规则集把规则放在远程维护,本地只引用。修改规则时改远程文件,本地会自动同步。

配置结构大致如下:

# 规则集声明 rule-providers: reject: type: http behavior: domain url: "https://example.com/rules/reject.yaml" path: ./ruleset/reject.yaml interval: 86400 proxy: type: http behavior: domain url: "https://example.com/rules/proxy.yaml" path: ./ruleset/proxy.yaml interval: 86400 # 在 rules 中引用规则集 rules: - RULE-SET,reject,REJECT - RULE-SET,proxy,PROXY - GEOIP,CN,DIRECT - MATCH,PROXY

interval 是规则集自动更新间隔,单位秒。86400 表示每天更新一次。行为类型 domain 表示规则集里放的是域名规则,还可以用 ipcidr 表示 IP 段规则、classical 表示混合类型。

4.2 常用规则类型与写法

Clash 的规则语法不复杂,掌握几种常用的就能覆盖绝大多数场景。下面按匹配粒度从细到粗列出:

规则类型 匹配方式 典型写法
DOMAIN 完整域名精确匹配 DOMAIN,www.google.com,PROXY
DOMAIN-SUFFIX 域名后缀匹配,含所有子域名 DOMAIN-SUFFIX,google.com,PROXY
DOMAIN-KEYWORD 域名关键词包含匹配 DOMAIN-KEYWORD,youtube,PROXY
IP-CIDR IPv4 地址段匹配 IP-CIDR,8.8.8.8/32,PROXY
IP-CIDR6 IPv6 地址段匹配 IP-CIDR6,2001:db8::/32,PROXY
GEOIP 按 IP 归属国家 / 地区匹配 GEOIP,CN,DIRECT
SRC-IP-CIDR 按来源 IP 段匹配 SRC-IP-CIDR,192.168.1.0/24,DIRECT
MATCH 兜底规则,匹配所有剩余请求 MATCH,PROXY

no-resolve 标记的用法

在 IP 类规则后加上 no-resolve,表示匹配时不触发 DNS 解析。对已知的 IP 段规则加上这个标记,能减少不必要的解析请求,也能避免部分域名被提前暴露。

- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve

4.3 规则顺序为什么重要

规则匹配是从上到下逐条判断,命中第一条就停止。因此规则顺序直接决定分流结果。一个常见的误区是把宽泛的规则写在前面,导致更具体的规则永远不会被命中。

推荐的规则排序思路

  1. 广告拦截:把 REJECT 规则放在最前,避免无效请求占用带宽
  2. 局域网与内网:SRC-IP-CIDR 与 IP-CIDR 私有网段走 DIRECT
  3. 具体域名规则:DOMAIN 与 DOMAIN-SUFFIX 精确匹配
  4. 关键词规则:DOMAIN-KEYWORD 用来兜底一批同类型站点
  5. GeoIP 兜底:GEOIP,CN,DIRECT 让国内 IP 走直连
  6. MATCH 兜底:MATCH,PROXY 处理所有剩余请求

4.4 一个可直接套用的规则结构

如果你不想从零组织规则,可以直接从下面这个结构开始,再按需要替换域名:

rules: # 1. 广告拦截 - RULE-SET,reject,REJECT # 2. 局域网直连 - 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 # 3. 具体服务走代理 - DOMAIN-SUFFIX,google.com,PROXY - DOMAIN-SUFFIX,github.com,PROXY - DOMAIN-SUFFIX,openai.com,PROXY # 4. 关键词兜底 - DOMAIN-KEYWORD,youtube,PROXY - DOMAIN-KEYWORD,twitter,PROXY # 5. 国内 IP 直连 - GEOIP,CN,DIRECT # 6. 兜底 - MATCH,PROXY
这套结构配合远程规则集使用效果更好:把 reject 与 proxy 规则集放在远程维护,本地只保留少量自定义规则。更新规则时改远程文件即可,不必动本地配置。

五、第四步:让配置保持自动更新

Clash 的配置文件包含两大部分:节点订阅与规则集。两者都需要定期更新——前者保证节点列表不过期,后者保证分流规则跟上新服务。

5.1 更新间隔设置建议

更新频率不是越高越好。过于频繁的更新会产生额外流量,也会因为频繁重载配置造成连接中断。下面是推荐的间隔设置:

内容 推荐间隔 理由
节点订阅 12 ~ 24 小时 机场调整线路不频繁,一天一次足够
代理规则集 24 小时 规则变化较慢,一天一次足够
广告拦截规则集 24 ~ 72 小时 变化更慢,无需频繁更新

5.2 避免更新打断连接的两个技巧

六、各平台差异速查

整体流程一致,但不同客户端的操作入口与文件位置存在细微差别。下表把最常被问到的环节按平台列出来,遇到具体问题时可以对照参考。

操作环节 桌面端(Win / macOS / Linux) 移动端(Android / iOS)
导入订阅 「订阅 / Profiles」→ 粘贴链接 → 回车 「配置」→ 加号 → 从 URL 导入
配置文件目录 ~/.config/clash/ 或客户端自带目录 客户端内部管理,一般不手动放置
开关代理 主界面「系统代理」开关,设置页开 TUN 首页一键启动,触发 VPN 授权弹窗
模式切换 主界面顶部「规则 / 全局 / 直连」分段按钮 配置详情页内的运行模式选项
订阅更新 订阅条目右键「更新」,或开启自动更新 订阅条目下拉刷新,或开启自动更新
节点测速 策略组页面点「测速」按钮,按延迟排序 策略组内点击测速图标,或长按节点

七、配置完成后的四个验证动作

开关都打开了不代表流量真的走了代理。配置完成后,用下面四个动作快速确认链路是否正常:

  1. 看节点延迟:在策略组页面点一次测速。数值能出来(一般低于 300ms)说明客户端已经能连上节点服务器
  2. 访问境外站点:打开一个境外网站,能正常加载说明代理链路通畅。同时打开一个国内网站对比速度,确认分流生效
  3. 查看连接日志:客户端的「连接」页面会列出当前活动请求,以及每条请求命中的规则与出口节点
  4. 确认出口 IP:访问任意 IP 查询站点,返回的地址应与你选择的节点地区一致。如果仍显示本地 IP,说明流量没有走代理

八、小结与下一步

到这一步,一份可长期使用的 Clash 配置就基本成型了:订阅导进来了、流量接管住了、规则分流按你的想法工作了、配置也在自动更新。日常使用基本不需要再手动干预。

如果想继续深入,可以看两个方向:一个是策略组调度(把多个节点编组,用延迟优选或故障转移自动切换),另一个是软路由部署(把 Mihomo 内核跑在内网服务器上,用 TProxy 接管整个局域网)。这两个方向分别在协议页和进阶语法页里有详细说明。