客户端教程 使用教程
Mihomo(Clash Meta)内核入门:配置结构、DNS、规则集与 TUN
Mihomo(原 Clash Meta)内核入门指南:内核与图形客户端的关系、配置文件结构、proxy-providers 与规则集、DNS 与 TUN 配置要点,以及命令行部署的基本步骤。
- 作者
- 网络研究组
- 首次发布
- 最后更新
- 内容类型
- 使用教程
- 资料核对
- 阅读时间
- 约 3 分钟
信息可能随服务调整而变化,请以最新官方信息为准。
客户端档案
Mihomo(Clash Meta)
Clash Meta 内核(现名 Mihomo),众多图形客户端的底层核心,也可在服务器和路由器上直接运行。
- 平台
- Windows、macOS、Linux、Android
- 内核
- Mihomo
- 价格
- 免费
- 开源
- 是
- 上手难度
- 高级
- 适合
- 需要自定义配置、软路由或命令行部署的进阶用户
- 支持协议
- Shadowsocks、VMess、VLESS、Trojan、Hysteria2、TUIC、AnyTLS、WireGuard
直接答案
Mihomo 是 Clash Meta 内核改名后的项目,负责实际的协议转发、规则匹配和 DNS 处理。Clash Verge Rev 等图形客户端都把它作为底层核心。普通用户通过图形客户端使用即可;需要在服务器、软路由或命令行中运行,或想精细控制配置时,才需要直接接触 Mihomo 的 YAML 配置文件。
Key Takeaways · 要点速览
- Mihomo 是内核,Clash Verge Rev 等是图形外壳,两者分工不同。
- 配置文件为 YAML,核心由 proxies、proxy-groups、rules 与 dns 四部分组成。
- proxy-providers 与 rule-providers 可以远程引用订阅和规则集,减少手动维护。
- 命令行部署时,内核二进制和规则数据只从官方 GitHub Releases 获取。
操作步骤
-
下载内核
从 Mihomo 官方 GitHub Releases 下载与系统和 CPU 架构匹配的二进制文件,解压并赋予执行权限。
-
准备配置目录
新建一个配置目录,放入 config.yaml,内容可以是机场提供的 Clash / Mihomo 订阅文件,或在其基础上修改的版本。
-
检查配置
使用内核自带的配置测试参数检查 config.yaml 语法,确认没有报错后再正式运行。
-
启动内核
通过命令行指定配置目录启动 Mihomo,观察日志确认端口监听成功、节点加载正常。
-
接入控制面板或系统服务
按需开启 external-controller 并使用网页控制面板切换节点,或将 Mihomo 配置为系统服务实现开机自启。
内核与客户端的关系
理解 Mihomo 最重要的一点:它是引擎,不是界面。Mihomo 负责解析配置、建立代理连接、匹配分流规则、处理 DNS 和 TUN;Clash Verge Rev 等图形客户端负责导入订阅、显示节点、提供开关按钮,再把配置交给 Mihomo 执行。因此,图形客户端里的「规则模式」「DNS 覆写」「TUN 模式」,本质上都是在修改 Mihomo 的配置项。
| 层级 | 代表 | 负责内容 |
|---|---|---|
| 内核 | Mihomo | 协议、规则匹配、DNS、TUN |
| 图形客户端 | Clash Verge Rev 等 | 订阅管理、节点切换、系统代理开关 |
| 配置来源 | 机场订阅 | 节点、策略组与规则 |
大多数用户使用图形客户端就足够;需要部署到 Linux 服务器、软路由或希望完全掌控配置时,才需要直接使用 Mihomo。
配置文件结构
Mihomo 使用 YAML 格式,一个典型的配置可以分为以下几部分(字段名称以官方文档为准):
| 部分 | 作用 |
|---|---|
| 基础设置 | 本地端口(如 mixed-port)、是否允许局域网连接、运行模式、日志级别 |
| external-controller | 控制接口地址,供网页面板或图形客户端调用 |
| dns | DNS 服务器、解析模式(如 fake-ip)、分流解析策略 |
| tun | 虚拟网卡、DNS 劫持、自动路由等设置 |
| proxies | 节点列表 |
| proxy-providers | 远程引用订阅中的节点 |
| proxy-groups | 策略组:手动选择、自动测速、故障转移、负载均衡 |
| rules / rule-providers | 分流规则与远程规则集 |
说明YAML 对缩进极其敏感,必须使用空格而不是 Tab。大部分「配置加载失败」都源于缩进或引号问题。
订阅与规则集:用 providers 减少维护
直接编辑机场订阅文件的问题是:一更新就被覆盖。更稳妥的做法是自己维护一份主配置:
- 用 proxy-providers 引用机场订阅,只取其中的节点;
- 自己编写 proxy-groups,按用途划分,例如「AI 服务」「流媒体」「默认」;
- 用 rule-providers 引用维护良好的规则集,再在 rules 中按顺序指向自己的策略组。
这样机场节点变化时只需更新 provider,自定义规则不会丢失。规则从上到下匹配,越具体的规则越要放在前面,最后一条通常是 MATCH 兜底。
DNS 与 TUN 要点
DNS 是 Mihomo 配置中最容易出错的部分。常见建议:
- 国内域名使用国内 DNS 解析,海外域名通过代理解析,避免污染与泄露;
fake-ip模式响应快,但个别应用需要加入过滤列表;- 开启 TUN 时同时启用 DNS 劫持,确保系统 DNS 查询进入内核。
解析异常的排查方法可参考 DNS 错误与 DNS 污染排查指南。TUN 的实际操作差异,可以对照 Clash Verge Rev TUN 模式设置 理解。
命令行部署的基本步骤
- 从官方 GitHub Releases 下载对应架构的二进制文件,不要使用来源不明的打包版本;
- 建立配置目录,放入
config.yaml; - 先用配置测试参数检查语法;
- 指定配置目录启动内核,观察日志中端口监听与节点加载情况;
- 需要长期运行时,配置为系统服务并设置开机自启。
注意如果开启了 external-controller 且允许局域网或公网访问,务必设置访问密钥(secret),否则任何能访问该端口的人都可以修改你的代理配置。
协议支持
Mihomo 支持 Shadowsocks、VMess、VLESS、Trojan、Hysteria2、TUIC、AnyTLS、WireGuard 等协议,具体以所用版本的官方说明为准。不同协议的取舍可以参考 代理协议对比。
常见问题
Mihomo 和 Clash 有什么关系?
原版 Clash 内核已停止维护,Clash Meta 是在其基础上扩展的分支,后改名为 Mihomo。它兼容 Clash 配置语法,并增加了 VLESS、Hysteria2、TUIC、AnyTLS 等协议支持。
普通用户需要单独下载 Mihomo 吗?
不需要。Clash Verge Rev 等客户端已经内置 Mihomo 内核,安装客户端即可。只有在服务器、软路由或命令行环境中部署时,才需要单独下载内核。
修改机场订阅配置后,为什么更新订阅就失效了?
更新订阅会用机场的新文件覆盖本地配置。正确做法是使用图形客户端的覆写功能,或在自己的配置中通过 proxy-providers 引用订阅节点,把自定义规则写在自己的文件里。
Mihomo 配置出错时怎么定位?
先用配置测试参数检查语法,再把日志级别调为 debug 观察启动日志。常见错误包括 YAML 缩进不正确、策略组引用了不存在的节点名称、规则指向的策略组名称拼写错误。