Clash for Linux:新手安装与使用指南 – wiki基地


Clash for Linux:一份详尽的新手安装与使用指南

在当今复杂的网络环境下,有效管理网络流量、保护隐私以及访问全球信息资源变得越来越重要。Clash 作为一款功能强大且备受欢迎的开源网络代理工具,以其灵活的规则配置、跨平台支持和高效的性能,赢得了众多用户的青睐。对于 Linux 用户而言,虽然图形界面不如 Windows 或 macOS 那样原生丰富,但 Clash 核心程序同样能在 Linux 系统上稳定运行,并通过命令行或 Web UI 进行管理。

本指南旨在为 Linux 新手用户提供一份详尽的 Clash for Linux 安装和基础使用教程,帮助你从零开始,一步步配置并运行 Clash,最终实现更自由、更安全的网络访问体验。

本文将涵盖以下内容:

  1. Clash 简介与优势:了解 Clash 是什么,以及为什么选择在 Linux 上使用它。
  2. 准备工作:安装前需要了解和准备的事项。
  3. 下载与安装 Clash 核心程序:获取适用于你 Linux 系统的 Clash 二进制文件。
  4. 获取并配置 Clash 配置文件:理解配置文件的作用,并获取你的第一个配置文件。
  5. 下载 GeoIP/GeoSite 数据库:为基于地理位置的规则路由做准备。
  6. 运行 Clash:启动 Clash 服务。
  7. 配置系统代理:让你的应用程序通过 Clash 访问网络。
  8. 使用 Clash Web UI (Dashboard):通过图形化界面管理 Clash。
  9. 基础使用与模式切换:了解不同代理模式的含义和切换方法。
  10. 常见问题与故障排除:解决一些新手可能遇到的问题。
  11. 进阶话题(简介):了解更多高级功能。

1. Clash 简介与优势

Clash 是一个使用 Go 语言编写的基于规则的多平台代理客户端。它的核心特点在于:

  • 基于规则的路由 (Rule-Based Routing):Clash 允许用户根据域名、IP 地址、地理位置、进程名等多种条件,精细地控制网络流量走向。你可以设定哪些流量直连,哪些通过代理,哪些被阻止。
  • 支持多种代理协议:Clash 支持 Shadowsocks(R), VMess, Trojan, Snell, SOCKS5, HTTP(S) 等多种主流代理协议。
  • 远程配置与策略组 (Remote Configuration & Policy Groups):支持从 URL 动态加载配置文件,并允许用户通过策略组灵活地切换节点或负载均衡。
  • 透明代理 (Transparent Proxy):在 Linux 上可以通过配置 TUN 模式或结合 iptables/nftables 实现透明代理,让系统内所有或指定应用的流量自动通过 Clash,无需单独配置每个应用的代理。
  • Web UI 控制面板:内置或支持外部 Web UI,方便用户查看连接状态、切换节点、更改模式、查看日志等。
  • 跨平台:除了 Linux,Clash 核心同样可以运行在 Windows, macOS, Android (Clash for Android), iOS (Stash, Shadowrocket 等兼容 Clash 配置) 以及路由器 (OpenClash 等) 上。

为什么在 Linux 上使用 Clash?

  • 性能优异:Go 语言编译的二进制文件运行效率高,资源占用相对较低。
  • 高度可定制:命令行接口和配置文件提供了极大的灵活性。
  • 开源社区活跃:遇到问题容易找到解决方案,软件更新迭代快。
  • 与其他 Linux 工具链结合:可以方便地通过脚本、Systemd 服务等方式进行管理和自动化。

2. 准备工作

在开始安装之前,请确保你已具备以下条件:

  • 一台运行 Linux 的计算机:无论是桌面版(如 Ubuntu, Fedora, Arch Linux 等)还是服务器版(如 Debian, CentOS 等),只要能运行标准 Linux 二进制文件即可。
  • 基本的 Linux 命令行知识:你需要会使用终端 (Terminal),执行一些基本命令,如 cd (切换目录), ls (列出文件), mkdir (创建目录), wgetcurl (下载文件), chmod (修改权限), mv (移动/重命名文件), tar (解压文件) 等。
  • Clash 订阅链接或配置文件:这是使用 Clash 的核心。你需要从你的代理服务提供商处获取一个 Clash 兼容的订阅链接 (URL),或者一个现成的 config.yaml 配置文件。请注意:Clash 本身只是一个工具,它不提供代理服务。你需要自行购买或获取代理节点信息。
  • 知道你的 CPU 架构:Linux 软件通常需要针对不同的 CPU 架构进行编译。你需要知道你的系统是 amd64 (也叫 x86_64,最常见的 64 位架构), arm64 (常见于树莓派 4/5、某些 ARM 服务器或笔记本), armv7 (常见于较旧的树莓派或嵌入式设备) 等。可以在终端输入 uname -m 查看。

3. 下载与安装 Clash 核心程序

Clash 的核心是一个单独的可执行二进制文件。

步骤 1:访问 Clash GitHub Releases 页面

前往 Clash (Dreamacro 版本,最原始和核心的版本) 的官方 GitHub Releases 页面:
https://github.com/Dreamacro/clash/releases

或者,你也可以选择使用 Clash Premium 核心(闭源但功能可能更多,通常是服务商推荐,如果有的话):
https://github.com/Dreamacro/clash-premium/releases (注意:Premium 核心可能需要特定的配置文件格式)

本指南以 Dreamacro 的开源 Clash 为例。

步骤 2:选择并下载适合你系统的版本

在 Releases 页面,找到最新的稳定版本 (通常没有 pre-release 标记)。在 “Assets” 列表中,根据你的 CPU 架构 (uname -m 的结果) 选择对应的压缩包下载。常见对应关系:

  • x86_64amd64 -> 下载 clash-linux-amd64-vX.Y.Z.gz
  • aarch64arm64 -> 下载 clash-linux-arm64-vX.Y.Z.gz
  • armv7l -> 下载 clash-linux-armv7-vX.Y.Z.gz

你可以使用浏览器下载,或者在终端中使用 wgetcurl 命令下载。例如,下载 amd64 版本的 v1.18.0 (请替换为实际最新版本号和文件名):

“`bash

使用 wget 下载

wget https://github.com/Dreamacro/clash/releases/download/v1.18.0/clash-linux-amd64-v1.18.0.gz

或者使用 curl 下载

curl -Lo clash-linux-amd64.gz https://github.com/Dreamacro/clash/releases/download/v1.18.0/clash-linux-amd64-v1.18.0.gz

“`

步骤 3:解压下载的文件

下载的文件是一个 .gz 压缩包。使用 gzipgunzip 命令解压:

bash
gunzip clash-linux-amd64-v1.18.0.gz

解压后,你会得到一个名为 clash-linux-amd64-v1.18.0 (或类似名称) 的可执行文件。

步骤 4:重命名并赋予执行权限

为了方便使用,我们将其重命名为 clash,并赋予它执行权限:

“`bash

重命名 (将 vX.Y.Z 替换为你下载的版本号)

mv clash-linux-amd64-v1.18.0 clash

赋予执行权限

chmod +x clash
“`

步骤 5:(可选但推荐) 将 Clash 移动到系统路径

为了能在任何目录下直接运行 clash 命令,建议将其移动到 /usr/local/bin 目录下 (这通常需要 sudo 权限):

bash
sudo mv clash /usr/local/bin/

如果你没有 sudo 权限或不想移动,后续运行 Clash 时需要指定其完整路径 (例如 ./clash)。

步骤 6:验证安装

在终端输入以下命令,如果能看到 Clash 的版本信息,说明核心程序已准备就绪:

bash
clash -v


4. 获取并配置 Clash 配置文件

Clash 的所有行为都由一个名为 config.yaml 的配置文件控制。

步骤 1:创建 Clash 配置目录

Clash 默认会读取 ~/.config/clash/ 目录下的配置文件。我们先创建这个目录:

bash
mkdir -p ~/.config/clash

~ 代表你的用户主目录 (Home Directory)。-p 参数确保即使父目录不存在也会一并创建。

步骤 2:获取配置文件 (config.yaml)

你有两种主要方式获取配置文件:

  • 方式一:使用订阅链接下载
    如果你的服务提供商提供了 Clash 订阅链接 (通常是一个 URL),你可以使用这个链接来生成或下载 config.yaml

    • 在线转换工具:许多在线订阅转换服务 (如 subconverter 的部署实例) 可以将你的订阅链接转换为 Clash 兼容的 config.yaml 文件。你需要访问这些工具的网站,粘贴你的订阅链接,选择输出为 Clash 配置,然后下载生成的 config.yaml 文件。
    • 本地 subconverter:你也可以在本地运行 subconverter 程序来完成转换。
    • 某些客户端自带转换:一些图形化 Clash 客户端(如 Clash Verge)内置了订阅转换功能。

    下载或生成 config.yaml 文件后,将其保存或移动到刚刚创建的配置目录 ~/.config/clash/ 下。

  • 方式二:直接获取 config.yaml 文件
    有些服务商可能直接提供 config.yaml 文件。直接下载并将其放入 ~/.config/clash/ 目录即可。

重要提示:确保你最终放在 ~/.config/clash/ 目录下的配置文件名为 config.yaml

步骤 3:(可选) 初步检查配置文件

你可以用文本编辑器打开 config.yaml 文件(如 nano ~/.config/clash/config.yamlvim ~/.config/clash/config.yaml)简单浏览一下内容结构。你会看到类似 proxies, proxy-groups, rules 等字段。暂时不需要修改它,只需确认文件内容看起来是正常的 YAML 格式。


5. 下载 GeoIP/GeoSite 数据库

Clash 的许多规则(特别是基于地理位置的规则)需要 GeoIP 数据库 (Country.mmdb) 和 GeoSite 数据库 (geosite.dat)。

步骤 1:下载 Country.mmdb

这是 MaxMind 的 GeoLite2 Country 数据库。Clash 需要它来判断 IP 地址所属的国家/地区。

你可以从 Clash 的官方仓库或其他可信来源下载。一个常见的来源是 Loyalsoldier 维护的仓库:

“`bash

进入 Clash 配置目录

cd ~/.config/clash

下载 Country.mmdb

wget https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country.mmdb

或者使用 curl

curl -Lo Country.mmdb https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country.mmdb

“`

下载完成后,Country.mmdb 文件应该位于 ~/.config/clash/ 目录下。

步骤 2:(可选) 下载 GeoSite.dat

GeoSite 文件包含了常见的网站域名分类列表,用于更精细的域名规则匹配。它通常由 V2Fly 社区维护。

“`bash

仍然在 ~/.config/clash 目录下

wget https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat

或者使用 curl

curl -Lo geosite.dat https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat

“`

注意:是否需要 geosite.dat 取决于你的 config.yaml 配置文件中的规则是否用到了 GEOSITE 类型的规则。Country.mmdb 通常是必需的。

现在,你的 ~/.config/clash/ 目录下应该至少有 config.yamlCountry.mmdb 这两个文件。


6. 运行 Clash

一切准备就绪,可以启动 Clash 了。

方式一:前台运行 (用于测试)

在终端中直接运行 clash 命令。Clash 会加载默认路径下的配置文件并开始工作。

“`bash

切换回主目录或任意其他目录

cd ~

运行 Clash (指定配置目录)

clash -d ~/.config/clash
“`

  • -d ~/.config/clash 参数明确告诉 Clash 配置文件的存放目录。
  • 运行时,终端会输出 Clash 的启动日志,包括监听的端口、加载的节点信息等。
  • 这种方式运行时,关闭终端窗口会导致 Clash 停止。主要用于初次测试或调试。
  • Ctrl + C 可以停止 Clash。

首次运行检查

  • 检查端口:留意日志中显示的 HTTP 代理端口 (通常是 7890) 和 SOCKS5 代理端口 (通常是 7891),以及 Web UI 访问端口 (通常是 9090)。这些端口号可以在 config.yaml 中自定义。
  • 检查错误:仔细阅读输出日志,看是否有 ERRORFATAL 级别的错误信息。常见错误包括配置文件语法错误、Country.mmdb 未找到等。

方式二:后台运行 (长期使用)

为了让 Clash 在后台稳定运行,即使用户登出或关闭终端也不受影响,有多种方法。

  • 使用 nohup:这是最简单的方法之一。

    bash
    nohup clash -d ~/.config/clash > ~/.config/clash/clash.log 2>&1 &

    • nohup:让命令忽略挂断信号 (HUP),即使终端关闭也继续运行。
    • >:重定向标准输出 (stdout) 到 clash.log 文件。
    • 2>&1:将标准错误输出 (stderr) 也重定向到与标准输出相同的文件。
    • &:让命令在后台执行。

    这样,Clash 就会在后台运行,并将日志输出到 ~/.config/clash/clash.log 文件。你可以通过 cat ~/.config/clash/clash.logtail -f ~/.config/clash/clash.log 查看日志。

    要停止 nohup 运行的 Clash,需要找到其进程 ID (PID) 并 kill 掉:
    ps aux | grep clash (找到 clash 进程的 PID)
    kill <PID> (将 <PID> 替换为实际的进程号)

  • 使用 systemd 服务 (推荐,更稳定可靠)
    这是在现代 Linux 系统上管理后台服务的标准方式。它允许设置开机自启、自动重启、资源限制等。配置 systemd 服务相对复杂一些,涉及编写一个 .service 文件,通常放在 /etc/systemd/system/~/.config/systemd/user/ 目录下。

    简单的用户级 systemd 服务示例 (~/.config/systemd/user/clash.service)

    “`ini
    [Unit]
    Description=Clash daemon
    After=network.target

    [Service]
    Type=simple
    User=%i # 如果放在 /etc/systemd/system/ 且想用特定用户运行,写用户名;如果放在用户目录,可能不需要这行或用 %i
    ExecStart=/usr/local/bin/clash -d /home/%i/.config/clash # 使用绝对路径,%i 会被替换为用户名
    Restart=on-failure # 或 always
    RestartSec=10s

    [Install]
    WantedBy=default.target # 如果是用户服务

    WantedBy=multi-user.target # 如果是系统服务

    “`

    启用和管理用户服务
    bash
    systemctl --user enable clash # 开机自启 (用户登录后启动)
    systemctl --user start clash # 立即启动
    systemctl --user status clash # 查看状态
    systemctl --user stop clash # 停止服务
    journalctl --user -u clash -f # 查看日志

    注意:配置 systemd 服务需要更深入的了解,请根据你的系统和需求进行调整。对于新手,nohup 是一个更容易上手的起点。


7. 配置系统代理

Clash 运行起来后,它只是在本地监听指定的端口 (如 7890 HTTP, 7891 SOCKS5)。你需要告诉你的操作系统或应用程序将网络请求发送到这些端口,才能真正通过 Clash 上网。

方法一:配置环境变量 (临时,当前终端会话有效)

在当前终端中设置代理环境变量。这种方法只对从该终端启动的程序有效。

“`bash

假设 Clash 的 HTTP 代理端口是 7890, SOCKS5 端口是 7891

注意:地址通常是 127.0.0.1 (本机)

配置 HTTP/HTTPS 代理

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

(可选) 配置 SOCKS5 代理 (有些应用优先使用 SOCKS)

export socks_proxy=”socks5://127.0.0.1:7891″

(可选) 配置 all_proxy (覆盖 http/https,某些工具如 curl 支持)

export all_proxy=”socks5://127.0.0.1:7891″ # 或者 http://127.0.0.1:7890
“`

设置后,你可以在这个终端里运行 curl google.comwget https://www.google.com 等命令来测试代理是否生效。

要取消环境变量,可以使用 unset http_proxy https_proxy all_proxy

要让环境变量持久生效(每次登录自动设置),可以将 export 命令添加到你的 shell 配置文件中(如 ~/.bashrc, ~/.zshrc)。

方法二:配置桌面环境的网络代理设置 (全局,推荐用于桌面环境)

如果你使用的是带有桌面环境的 Linux 发行版 (如 GNOME, KDE, XFCE 等),通常可以在系统设置中配置全局代理。

  • GNOME (如 Ubuntu 默认桌面)
    设置 (Settings) -> 网络 (Network) -> 网络代理 (Network Proxy)。选择“手动 (Manual)”,然后填入 HTTP 和 HTTPS 代理的地址 (127.0.0.1) 和端口 (7890)。如果需要,也可以填写 SOCKS 代理 (127.0.0.1, 7891)。

  • KDE Plasma
    系统设置 (System Settings) -> 网络 (Network) -> 设置 (Settings) -> 代理 (Proxy)。选择“手动配置代理服务器 (Manually specify proxy settings)”,然后分别配置 HTTP 和 HTTPS (以及可选的 SOCKS) 代理。

  • XFCE 等其他环境:通常也有类似的网络设置或代理配置工具。

这种方法的好处是,大多数遵守系统代理设置的图形化应用程序(如浏览器、邮件客户端等)会自动使用你配置的代理。

方法三:应用程序内部代理设置

有些应用程序(尤其是浏览器,如 Firefox, Chrome/Chromium)允许你独立于系统设置来配置代理。这在你想让特定应用走代理,而其他应用不走时很有用。

  • Firefox:设置 (Preferences) -> 常规 (General) -> 网络设置 (Network Settings) -> 设置 (Settings…)。选择“手动代理配置 (Manual proxy configuration)”,填写 HTTP 代理 (127.0.0.1, 7890) 或 SOCKS v5 代理 (127.0.0.1, 7891)。建议勾选“也将此代理用于 HTTPS (Also use this proxy for HTTPS)”或单独配置 HTTPS 代理。你也可以选择“使用系统代理设置 (Use system proxy settings)”。
  • Chrome/Chromium:通常默认使用系统代理设置。可以通过安装 Proxy SwitchyOmega 等浏览器扩展来更灵活地管理代理。

测试代理是否生效
配置好代理后,最简单的测试方法是访问一个通常无法直接访问的网站 (如 google.com),或者访问 ipinfo.io, myip.com 等 IP 查询网站,看看显示的 IP 地址是否变成了你代理节点的 IP。


8. 使用 Clash Web UI (Dashboard)

Clash 提供了一个内置的 Web 用户界面 (Dashboard),让你可以在浏览器中方便地管理 Clash。

步骤 1:获取 Web UI 地址

在你的 config.yaml 文件中,查找 external-controller 字段,它指定了 Web UI 的监听地址和端口。默认通常是:

yaml
external-controller: '127.0.0.1:9090'

这意味着 Web UI 运行在本地的 9090 端口。

步骤 2:(可选) 配置静态 Web UI 资源

Clash 核心本身只提供 API。你需要一个前端 Dashboard 来与 API 交互。config.yaml 中通常还有一个 external-ui 字段,指向存放 Dashboard 文件的目录。

“`yaml

示例:使用 yacd (Yet Another Clash Dashboard)

external-ui: /path/to/yacd-dashboard # 你需要将 yacd 下载到这个路径

或者使用 Razord (另一个流行的 Dashboard)

external-ui: /path/to/razord-dashboard

“`

下载 Dashboard 文件
你需要从 GitHub 或其他来源下载 Dashboard 的文件 (通常是一堆 HTML, CSS, JS 文件)。
* YACD: https://github.com/haishanh/yacd (下载 yacd.tar.gz 解压)
* Razord: https://github.com/razord-dev/Razord-Web (下载 Release 中的 zip 包解压)

将解压后的文件夹路径填入 config.yamlexternal-ui 字段。如果你没有配置 external-ui,Clash 可能无法提供 Web 界面,或者你需要使用支持连接到 Clash API 的独立 Dashboard 应用或网站。

一个更简单的方法:许多现成的 config.yaml 文件(尤其是通过订阅转换生成的)可能已经配置了指向一个在线 Dashboard 的 URL,或者包含了一个默认的 Dashboard。

步骤 3:访问 Web UI

打开你的 Web 浏览器,访问 http://127.0.0.1:9090。如果 external-controller 配置了不同的端口,请使用那个端口。

注意:如果你是通过远程服务器 SSH 连接来运行 Clash 的,并且想在本地电脑的浏览器访问服务器上的 Web UI,你需要:
* 确保服务器防火墙允许访问 9090 端口。
* 将 external-controller 地址改为 0.0.0.0:9090,让 Clash 监听所有网络接口。(警告:这会让同一局域网内的任何人都能访问你的 Clash API 和 UI,除非你设置了 secret 密码)
yaml
external-controller: '0.0.0.0:9090'
secret: 'YourSecretPassword' # 强烈建议设置密码

* 或者,使用 SSH 端口转发 (更安全):在本地终端执行 ssh -L 9090:127.0.0.1:9090 user@your_server_ip,然后在本地浏览器访问 http://127.0.0.1:9090

Web UI 主要功能

  • 代理 (Proxies):查看所有可用的代理节点和策略组,手动选择节点,测试节点延迟。
  • 模式 (Mode):切换 Clash 的工作模式(见下一节)。
  • 规则 (Rules):查看当前加载的规则列表。
  • 连接 (Connections):实时查看当前通过 Clash 的网络连接。
  • 日志 (Logs):查看 Clash 的运行日志。
  • 设置 (Settings):通常可以切换主题、配置 API 地址 (如果 UI 是独立部署的)。

9. 基础使用与模式切换

Clash 的核心优势在于其灵活的规则路由。通过 Web UI,你可以轻松切换不同的工作模式:

  • 全局模式 (Global):所有(非直连/非拒绝规则匹配的)网络流量都通过你在“全局”策略组中选定的那个代理节点。适用于需要强制所有流量走代理的场景。
  • 规则模式 (Rule):Clash 根据 config.yaml 文件中定义的规则列表来判断每个网络请求应该如何处理(直连 Direct, 走代理 Proxy, 或拒绝 Reject)。这是 Clash 最常用也是最强大的模式。配置文件通常会预设好规则,将国内网站直连,国外网站走代理。
  • 直连模式 (Direct):所有(非拒绝规则匹配的)网络流量都直接连接,不通过任何代理节点。相当于暂时禁用代理。

在 Web UI 中切换模式:通常在界面顶部或侧边栏会有明显的模式切换按钮 (Global / Rule / Direct)。

在 Web UI 中切换节点:在“代理 (Proxies)”标签页,找到你想要使用的策略组 (例如,常见的有 “PROXY”, “国外流量”, “自动选择”, “故障转移” 等,具体名称取决于你的配置文件)。点击策略组,然后选择你偏好的节点。如果你选择了一个具体的节点(如 “香港节点01″),那么匹配到这个策略组的流量就会走这个节点。如果你选择了 “自动选择 (URLTest)” 或 “负载均衡 (LoadBalance)” 这样的内置策略,Clash 会自动根据延迟或特定算法选择节点。


10. 常见问题与故障排除

  • 无法启动 Clash,提示 config.yaml not found 或类似错误
    • 确保你使用了 -d ~/.config/clash 参数指定了正确的配置目录。
    • 确保 ~/.config/clash/ 目录下确实存在名为 config.yaml 的文件。
    • 检查 config.yaml 文件是否有读取权限。
  • Clash 启动了,但无法上网
    • 检查系统代理设置:确认你已经正确配置了系统或浏览器的代理,指向了 Clash 监听的 HTTP/SOCKS5 端口 (默认 7890/7891)。
    • 检查 Clash 模式:确认 Clash 不是处于“直连 (Direct)”模式。尝试切换到“全局 (Global)”模式并选择一个已知可用的节点进行测试。
    • 检查节点可用性:在 Web UI 的“代理 (Proxies)”页面,点击节点旁边的闪电图标测试延迟。如果延迟很高或超时 (timeout),说明该节点可能暂时不可用,尝试切换到其他节点。
    • 检查防火墙:确保你的 Linux 系统防火墙 (如 ufw, firewalld) 没有阻止 Clash 的端口 (7890, 7891, 9090 等) 或出站连接。
    • 检查配置文件规则:如果你处于“规则 (Rule)”模式,可能是规则配置不当导致你想访问的网站被错误地直连或拒绝了。检查 Web UI 的“连接 (Connections)”和“日志 (Logs)”获取线索。
    • 检查 Country.mmdb:如果日志提示找不到 Country.mmdb,请重新下载并放到 ~/.config/clash/ 目录下。
  • Web UI (Dashboard) 无法访问
    • 确认 Clash 正在运行。
    • 确认访问的地址和端口 (http://127.0.0.1:9090) 与 config.yaml 中的 external-controller 配置一致。
    • 确认 config.yaml 中配置了 external-ui 指向有效的 Dashboard 文件目录,或者你使用的是指向在线 Dashboard 的配置。
    • 如果 Clash 在远程服务器上运行,检查网络连接、防火墙和 SSH 端口转发(如果使用了)。
  • 订阅链接更新后节点没变
    Clash 不会自动更新订阅。你需要手动重新下载 config.yaml 文件(通过在线转换工具或本地 subconverter),替换掉旧的 ~/.config/clash/config.yaml,然后重启 Clash(如果是 systemd 服务,使用 systemctl --user restart clash)才能加载新的节点和配置。一些高级配置或 GUI 客户端可能支持自动更新。

11. 进阶话题(简介)

当你熟悉了 Clash 的基本使用后,可以探索以下进阶功能:

  • 自定义规则 (Custom Rules):学习 YAML 语法和 Clash 规则语法,根据自己的需求定制流量分流策略。你可以添加自己的规则列表文件。
  • TUN 模式:在 Linux 上启用 TUN 虚拟网卡,实现真正的透明代理,无需为每个应用单独配置代理。配置相对复杂,需要 root 权限,并可能涉及 DNS 劫持处理 (dns.enhanced-mode: fake-ip)。
  • 使用图形化客户端:虽然本文关注 Clash 核心,但 Linux 上也有一些不错的第三方图形化 Clash 客户端,如 Clash Verge (https://github.com/zzzgydi/clash-verge),它们封装了 Clash 核心,提供了更友好的界面,通常集成了订阅管理、系统代理设置、UI 等功能,对新手更友好。
  • 编写 Systemd 服务单元:学习如何编写健壮的 systemd 服务文件,实现开机自启、失败自动重启、日志管理等。
  • 理解策略组 (Policy Groups):深入了解 select, url-test, fallback, load-balance 等不同类型的策略组,实现更智能的节点选择和故障切换。

结语

Clash for Linux 是一个强大而灵活的网络工具。虽然初次配置可能比在 Windows 或 macOS 上稍微复杂一些,需要接触命令行和配置文件,但一旦设置完成,它就能为你提供稳定、高效、可定制的网络代理体验。

本指南覆盖了从安装到基础使用的关键步骤,希望能帮助 Linux 新手用户顺利上手 Clash。随着你使用的深入,你会发现 Clash 的潜力远不止于此。多查阅官方文档、社区讨论和尝试不同的配置,你将能更好地驾驭这个工具,让你的网络访问更加自由和安全。祝你使用愉快!

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部