Linux Clash 翻墙教程 — GUI 桌面版与服务器版

在 Linux 上使用 Clash Verge Rev 或命令行版 Clash 实现科学上网

一、GUI 桌面版
GUI 01

1. 方案概述

Clash Verge Rev for Linux 与 Windows、macOS 版本功能一致,提供图形化界面,支持订阅管理、规则分流、TUN 模式等。

支持发行版:Debian、Ubuntu、Fedora、Arch Linux 等主流桌面发行版。

GUI 02

2. 下载安装

从 GitHub 发布页下载对应格式:

发布页:clash-verge-rev releases

GUI 03

3. 导入订阅

与 Windows 操作相同:

  1. 打开 Clash Verge Rev
  2. 点击 Profiles(配置)
  3. 在输入框粘贴订阅链接
  4. 点击 Import 导入
GUI 04

4. 启动代理

系统代理(System Proxy):打开主界面的 System Proxy 开关,系统代理将指向 Clash(默认 127.0.0.1:7897)。

TUN 模式:开启 TUN 开关可实现全局代理,首次使用可能需安装依赖或授予权限。

GUI 05

5. 桌面环境代理

若系统代理未自动生效,可手动配置:

二、无 GUI 服务器版(Headless)
Headless 01

6. 方案概述

适用于无图形界面的 Linux 服务器,如 Ubuntu Server、CentOS、Debian 等。通过命令行安装 Clash 二进制,配合 systemd 服务与配置文件实现代理。

Headless 02

7. 下载安装

根据架构下载 Clash 二进制:

# 检测架构
uname -m

# 下载(以 amd64 为例)
wget https://github.com/Dreamacro/clash/releases/download/v1.18.0/clash-linux-amd64-v1.18.0.gz
gunzip clash-linux-amd64-v1.18.0.gz
chmod +x clash-linux-amd64-v1.18.0
sudo mv clash-linux-amd64-v1.18.0 /usr/local/bin/clash

# 验证
clash -v

架构对应:x86_64→amd64,aarch64→arm64,armv7l→armv7。

Headless 03

8. 配置文件

配置文件路径:~/.config/clash/config.yaml

关键字段说明:

port: 7890              # HTTP 代理端口
socks-port: 7891        # SOCKS5 端口
allow-lan: false        # 是否允许局域网连接
mode: rule              # 规则模式
external-controller: 127.0.0.1:9090  # REST API 端口

dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver: [223.5.5.5, 119.29.29.29]
  fallback: [8.8.8.8, 1.1.1.1]

proxies: [...]          # 代理节点
proxy-groups: [...]     # 代理组
rules: [...]            # 分流规则

可使用订阅链接下载配置:curl -L "订阅URL" -o ~/.config/clash/config.yaml

Headless 04

9. systemd 服务

创建 /etc/systemd/system/clash.service

[Unit]
Description=Clash daemon
After=network-online.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5
User=你的用户名
ExecStart=/usr/local/bin/clash -d /home/你的用户名/.config/clash

[Install]
WantedBy=multi-user.target

启动与管理:

sudo systemctl daemon-reload
sudo systemctl start clash
sudo systemctl enable clash
sudo systemctl status clash
Headless 05

10. 环境变量代理

临时设置(当前会话):

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7891
export no_proxy=localhost,127.0.0.1,::1

永久设置:将上述内容追加到 ~/.bashrc/etc/environment,然后执行 source ~/.bashrc

Headless 06

11. REST API

Clash 提供 External Controller,默认 127.0.0.1:9090,可用 curl 管理:

# 获取当前配置
curl http://127.0.0.1:9090/configs

# 获取代理列表
curl http://127.0.0.1:9090/proxies

# 切换节点(需替换 proxy-name 和 selector-name)
curl -X PUT http://127.0.0.1:9090/proxies/selector-name \
  -H "Content-Type: application/json" \
  -d '{"name":"proxy-name"}'
Headless 07

12. 一键安装脚本

项目提供一键安装脚本,可自动完成下载、安装、配置目录创建、systemd 服务等步骤:

# 使用项目内脚本
./scripts/install-clash-headless.sh

脚本路径:scripts/install-clash-headless.sh

Headless 08

13. 常见问题

Permission denied — 确保 clash 二进制有执行权限:chmod +x /usr/local/bin/clash

端口被占用 — 修改 config.yaml 中的 port、socks-port;或关闭占用端口的进程。

DNS 解析失败 — 检查 dns 配置;确保 Country.mmdb 已下载到配置目录。

服务无法启动 — 检查 clash -t -d ~/.config/clash 验证配置;查看 journalctl -u clash -f 日志。