跳到正文
🧭 新手教程

Linux 用 Clash 教程:Mihomo 内核安装、Systemd 服务化与终端环境变量配置

详细的 Linux 用 Clash 教程。手把手指导在 Ubuntu、Debian 及 CentOS 纯命令行服务器或桌面端配置 Mihomo 内核、Systemd 开机自启与代理环境。

作者 阿 KING ·最后更新 ·评测方法
📑 本页目录(15)
  1. 准备工作:下载 Linux 二进制内核与物料准备
  2. Linux 命令行部署 Mihomo 四步实操流程
  3. 开发者专属:Git、Docker 与包管理器代理配置
  4. Web 可视化控制面板与节点切换管理
  5. 常见疑问解答与排障指南(FAQ)
  6. Linux 用 Clash 教程常见问题
  7. 相关阅读

准备工作:下载 Linux 二进制内核与物料准备

本节说明在 Linux 操作系统上部署科学上网所需的核心二进制程序与环境。

在 Linux 环境下,尤其是无图形界面的服务器或开发机上,直接运行官方维护的独立 Mihomo(原 Clash Meta)内核是最高效、最节省资源的方案。准备工作如下:

准备项 官方指标要求 获取途径与注意事项
内核二进制程序 mihomo-linux-amd64-*.gz (或 arm64) 仅从官方 GitHub Releases 获取编译好的原生二进制文件
系统支持范围 Ubuntu、Debian、CentOS、Arch Linux 等 具备 Systemd 服务管理器的现代 Linux 发行版
节点订阅链接 支持 Clash 协议的有效订阅 URL 从购买的服务商后台复制(如站长主推的 sogo云)

在配置之前,如果需要为开发服务器挑选低延迟、大带宽的稳定专线,可前往 梯子推荐 首页查阅深度测评。

Linux 命令行部署 Mihomo 四步实操流程

本节分步演示如何解压二进制、下载配置文件、注册 Systemd 系统服务并开启终端代理。

按照以下标准化四步命令操作,即可在 Linux 上完成工业级部署:

第 1 步:安装二进制可执行文件

# 1. 解压并移动至系统二进制目录
gzip -d mihomo-linux-amd64-*.gz
sudo mv mihomo-linux-amd64-* /usr/local/bin/mihomo
sudo chmod +x /usr/local/bin/mihomo

# 2. 创建配置专用目录
mkdir -p ~/.config/mihomo

第 2 步:下载机场订阅配置文件

  1. 在服务商用户中心复制你的 Clash 专属订阅链接(通用说明请参考 订阅链接导入教程);
  2. 在终端使用 curl 将其直接下载为本地配置文件:
curl -L -o ~/.config/mihomo/config.yaml "你的订阅链接"
  1. 检查文件开头确认是否成功拉取到了 YAML 节点格式。

第 3 步:配置 Systemd 守护进程与开机自启

创建一个名为 /etc/systemd/system/mihomo.service 的服务单元文件:

[Unit]
Description=Mihomo Daemon, A rule-based proxy in Go.
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/mihomo -d /root/.config/mihomo
Restart=always

[Install]
WantedBy=multi-user.target

保存后,在终端执行以下命令激活并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable mihomo --now
sudo systemctl status mihomo

第 4 步:设置终端环境变量并验证连接

在当前终端会话中导出代理环境变量:

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890

# 测试是否成功获得境外出口 IP
curl -s https://ipinfo.io

若终端打印出境外节点的 IP 信息,证明代理已在 Linux 终端中全面生效!

核心配置模块 设定推荐值 技术原理与效果
本地混合端口 7890 同时支持 HTTP 与 Socks5 协议请求在同一端口接入
外部控制端口 9090 供 Web 控制面板远程连接和调用 API 切换节点
工作模式 Rule (规则) 避免国内软件包(如 apt/yum 镜像源)走代理减速

若需比较各品牌在 Linux 平台编译下载加速中的稳定性表现,可前往 梯子对比 页面深入查阅。

开发者专属:Git、Docker 与包管理器代理配置

本节为开发人员说明如何在 Linux 下分别针对特定开发工具配置精准的代理转发通道。

在 Linux 生产或测试环境中,许多后台守护进程不主动读取全局环境变量,需要进行针对性配置:

开发工具/服务 代理配置路径与命令 核心配置要点与生效验证
Git 命令行拉取 git config --global http.proxy http://127.0.0.1:7890 极大加速 GitHub 仓库克隆,解决 RPC failed 报错
Docker 容器镜像拉取 在 /etc/systemd/system/docker.service.d/http-proxy.conf 注入代理 解决拉取 Docker Hub 境外基础镜像超时失败的问题
APT 软件包更新 在 /etc/apt/apt.conf.d/proxy.conf 中添加代理指令 避免由于 sudo 权限隔离丢失环境变量导致的更新失败
Pip Python 包管理 pip config set global.proxy http://127.0.0.1:7890 加速境外 PyPI 依赖包的下载与虚拟环境构建

通过针对性配置,可以确保即使终端没有全局 export 代理,核心开发工具依然能够稳定高效地拉取境外依赖。

Web 可视化控制面板与节点切换管理

本节讲解如何为纯命令行 Linux 服务器接入漂亮的 Web 控制面板。

无需安装任何图形桌面环境,你只需在一台处于同一局域网的个人电脑浏览器中打开公网开源面板:

  1. 打开浏览器访问:https://metacubex.github.io/metacubexd/(MetaCubeX 官方面板);
  2. 在控制端界面中填入 Linux 服务器的内网 IP 与外部控制端口(例如 http://192.168.1.50:9090);
  3. 若在配置文件中设置了 secret 访问秘钥,填入对应秘钥后点击“添加并连接”;
  4. 连接成功后,面板以可视化卡片展示所有策略组与节点,点击测速后即可通过鼠标轻松完成节点切换。

常见疑问解答与排障指南(FAQ)

本节针对 Linux 系统使用代理时最常遇到的 4 个疑难问题进行专业解答。

1. 为什么 curl 可以走代理,但 sudo apt update 依然超时?

因为 sudo 提权时,默认会出于安全隔离清除当前用户的环境变量。解决办法是在 /etc/apt/apt.conf.d/proxy.conf 中专门添加:Acquire::http::Proxy "http://127.0.0.1:7890/";。若网络全盘阻断,可参考 梯子连不上怎么办。

2. 怎么设置定时自动更新订阅配置?

可利用 Linux 原生 crontab 配置每天凌晨自动下载新配置并重启服务:运行 crontab -e,添加一行 0 4 * * * curl -L -o /root/.config/mihomo/config.yaml "订阅链接" && systemctl restart mihomo。

3. 如何在 Linux 下彻底接管所有不听话的程序?

在 config.yaml 顶部开启 TUN 虚拟网卡模式(tun: enable: true),并确保以 root 用户运行服务,内核会自动创建虚拟网卡接管系统所有的底层网络流量,包括 Docker 容器对外请求。

4. 换了新服务器怎么快速部署?

只需将写好的 systemd 脚本保存为模板,复制订阅链接后一条 curl 命令即可完成部署。如果需要挑选高性价比、适合多台 Linux 服务器共同连接的专线套餐,可在 便宜梯子推荐 挑选不限设备数的优秀品牌。

Linux 用 Clash 教程常见问题

下面的问题默认全部展开,方便直接查看答案。

QLinux 无桌面环境(纯命令行服务器)怎么运行 Clash?
纯命令行服务器通常直接下载官方 Mihomo(Clash Meta)的独立二进制可执行文件,将其配置为后台守护进程,并通过 Systemd 实现开机自启;本地应用程序通过 export 环境变量或开启内核 TUN 虚拟网卡实现无感代理。
Q如何在 Linux 终端中让 curl、git 和 wget 走代理?
在终端中运行 `export http_proxy=http://127.0.0.1:7890` 与 `export https_proxy=http://127.0.0.1:7890` 即可让当前终端会话的所有工具走本地代理;若需长期生效,可将这两行命令写入 `~/.bashrc` 文件中。
Q怎么在 Linux 服务器上随时切换节点?
Mihomo 内核原生提供了 RESTful API 外部控制接口(默认端口 9090)。你可以在本地通过 curl 命令调用 API 切换节点,或者在内网电脑的浏览器中打开基于 Web 的控制面板(如 Yacd 或 metacubex.github.io)可视化切换节点。
QLinux 系统更新订阅失败怎么处理?
可使用 Linux 自带的 curl 或 wget 工具直接拉取订阅并覆盖本地 config.yaml:`curl -o ~/.config/mihomo/config.yaml '你的订阅链接'`;确认配置拉取完毕后运行 `systemctl restart mihomo` 重载即可。

还在犹豫?新手直接选 sogo云

IPLC 专线,全节点 1x 倍率,晚高峰不降速,AI 与流媒体全解锁。支持支付宝、微信、USDT 付款。