實操教學 精選 標籤: Clash Linux Ubuntu 22.04 systemd

Clash Linux 安裝與 systemd 常駐:Ubuntu 22.04 命令列逐步設定(Mihomo)

在 Linux 桌面或無介面伺服器上,以 Mihomo(Clash Meta 核心)搭配 systemd,可穩定實現開機自啟、程序異常時自動重啟,並用標準指令校驗埠號與權限。本文以 Ubuntu 22.04 LTS 為例,全程命令列可重現。

約 18 分鐘閱讀
Clash 編輯部

一、為何用命令列 + systemd 管理 Clash

Ubuntu 22.04 上,圖形介面客戶端(例如 Clash Verge)適合日常桌面;但若你維運無頭伺服器、或希望與既有腳本/容器化流程一致,直接執行 Mihomo 核心並交由 systemd 託管,是更貼近伺服器習慣的做法。systemd 能統一處理開機順序(等待 network-online)、程序崩潰後自動拉起、以及標準化的日誌與除錯入口(journalctl)。

與本站已發布的 Windows TUN 與防火牆專文混合埠與區域網共享相比,本文聚焦Linux 安裝與服務化維運:讀者若在找「如何把核心裝上 Ubuntu、如何開機自啟、如何確認埠有在聽」,可依序完成本篇步驟。若需深入規則與訂閱語法,可併讀 設定說明與文件

名詞對齊:本文所稱 Clash Linux 實務上多指以 Mihomo 二進位檔搭配 config.yaml 運行;與舊版 Clash 核心相比,Mihomo 延續 Meta 規則能力,並持續整合社群需求,適合作為長期常駐選型。

二、環境準備與取得 Mihomo 二進位檔

先確認系統架構(常見為 amd64),並安裝解壓與下載所需工具:

sudo apt update
sudo apt install -y curl unzip

接著從上游發行頁取得對應平台的壓縮包或二進位檔(請依官方 Release 頁面為準,檔名會隨版本變動)。下載完成後,建議將可執行檔安裝至 /usr/local/bin/,以便全系統可直接呼叫:

sudo mv mihomo /usr/local/bin/mihomo
sudo chmod 755 /usr/local/bin/mihomo
mihomo -v

mihomo -v 能印出版本資訊,代表執行檔已就緒。接下來要建立工作目錄設定檔,因為 Mihomo 預期透過 -d 參數指向「資料目錄」,在該目錄中讀取 config.yaml

安全提醒:訂閱網址與節點資訊屬敏感資料,請勿將含密碼的 config.yaml 上傳至公開倉庫;檔案權限建議僅允許執行帳號讀取(見後文「檔案權限」一節)。

三、目錄結構與 config.yaml 要點

以下以系統級目錄 /etc/mihomo 為例(亦可用 /opt/mihomo,重點是與 systemd 中 -d 路徑一致):

sudo mkdir -p /etc/mihomo
sudo nano /etc/mihomo/config.yaml

一份可啟動的設定檔至少需要連接埠基礎規則/代理結構。實務上多數使用者會匯入訂閱並沿用服務商提供的範本,再依本機需求調整 mixed-portexternal-controller、DNS 等欄位。請注意:

  • 連接埠portsocks-portmixed-port 擇一或併用時,須避免與系統其他服務衝突。
  • 監聽位址:若僅本機使用,可將相關 bind 設為 127.0.0.1;若需區域網其他裝置連線,才考慮 0.0.0.0 並搭配防火牆,概念與 Windows 混合埠一文所述一致。
  • DNS:若啟用 fake-ip 或自訂 nameserver,請留意與 Ubuntu 的 systemd-resolved 是否互相干擾;出現「能連線但解析怪異」時,優先對照 DNS 區塊與日誌。

撰寫或貼上設定後,可先以前景模式試跑,確認無語法錯誤再交給 systemd:

sudo /usr/local/bin/mihomo -d /etc/mihomo

若終端機持續輸出日誌且無報錯,可用另一終端機進行下一節的服務化;按 Ctrl+C 結束前景程序即可。

四、撰寫 systemd 服務單元

建議為 Mihomo 建立專用系統帳號,避免以 root 長期執行:

sudo useradd --system --home /etc/mihomo --shell /usr/sbin/nologin mihomo
sudo chown -R mihomo:mihomo /etc/mihomo

建立單元檔 /etc/systemd/system/mihomo.service(註解維持英文以利跨環境維護):

[Unit]
Description=Mihomo proxy service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=mihomo
Group=mihomo
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure
RestartSec=5
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

Restart=on-failure 表示程序非正常退出時會在 RestartSec 秒後重啟;若你希望設定檔錯誤時也反覆嘗試,可改為 Restart=always,但可能導致日誌刷屏,需自行取捨。After=network-online.target 有助於在乙太網路或 Wi‑Fi 尚未就緒時降低啟動失敗機率;若仍遇開機時序問題,可再依環境調整。

使用者層級 service(選用)

若你只在單一登入使用者下使用桌面環境,亦可改用 systemctl --user 搭配 linger,無需 root;但伺服器與多使用者場景仍以系統單元較易統一管理。兩種模式擇一即可,避免重複啟動兩個核心。

五、啟用、開機自啟與日誌排查

載入設定並啟動服務:

sudo systemctl daemon-reload
sudo systemctl enable --now mihomo.service
systemctl status mihomo.service --no-pager

開機自啟已由 enable 寫入連結;重開機後可再次執行 systemctl is-enabled mihomo 確認為 enabled。除錯時請優先查看日誌:

journalctl -u mihomo.service -e --no-pager
journalctl -u mihomo.service -f

若服務反覆重啟,日誌中通常會出現設定檔路徑、YAML 解析行號或埠被佔用等線索;請先修正設定或釋放埠,再 systemctl restart mihomo

六、埠號、監聽位址與檔案權限校驗

埠號是否與 config.yaml 一致,可用下列方式檢查(依實際埠替換):

ss -tlnp | grep -E '7890|9090'

若見到 LISTEN 且程序為 mihomo,表示核心已綁定成功。接著用 curl 走本機 HTTP 代理測試(埠請改為你的 mixed-portport):

curl -x http://127.0.0.1:7890 -I https://www.cloudflare.com

權限方面:/etc/mihomo 目錄應由執行使用者擁有;含訂閱的 config.yaml 建議 chmod 600,避免同機其他帳號讀取。若你將執行檔或目錄放於使用者家目錄,亦請避免世界可讀。

現象 建議優先檢查
status 顯示 failed(exit code 非 0) journalctl -u mihomo 內 YAML 錯誤、訂閱無法下載、或埠已被佔用
本機 curl 通,瀏覽器不走代理 瀏覽器是否另行指定 PAC/插件;桌面環境變數 HTTP_PROXY 是否未設定
服務啟動慢或開機偶發失敗 網路就緒時序、DNS 解析慢;可微調 After= 或延遲啟動策略

七、常見問題速查

  • 埠已被佔用:用 ss -tlnp 找出既有程序,修改 config.yaml 埠號或停用衝突服務。
  • 權限拒絕:確認 mihomo 使用者對資料夾與設定檔具備讀取權,對執行檔具備執行權。
  • 訂閱更新失敗:檢查機器時間是否正確、出站網路是否需先走代理(可先以前景模式測試 curl 訂閱網址)。
  • 需要 TUN/透明代理:牽涉額外能力與路由,情境與 Windows TUN 類似但細節不同;建議在核心與文件確認 Linux 下所需權限與模組後再啟用。

以上排查與本站其他平台文章可交叉參考:Windows 讀者可對照 TUN 與路由防火牆;需要釐清監聽與區網分享時,可複習 混合埠與防火牆中的概念映射到 Linux。

八、小結

Ubuntu 22.04 上完成 Clash Linux 路線的關鍵,是將 Mihomo 二進位檔、設定目錄systemd 單元三者路徑對齊,並透過 enable 實現開機自啟、以 Restart= 處理崩潰重啟。相較僅手動執行可執行檔,服務化後的日誌與狀態可查性更佳,也更符合伺服器維運習慣。

相較功能單一、各平台設定互不連貫的工具,Clash 生態在規則、核心與多系統客戶端之間更容易沿用同一套心智模型;在 Linux 上把核心跑穩後,無論是桌面還是輕量雲主機,都能一致地管理出口與策略。

若你仍習慣圖形介面,也可先自本站取得適用於 Windows、macOS 或 Linux 圖形版的安裝包,再依環境選擇是否改走命令列託管。

立即免費下載 Clash,開啟流暢上網新體驗

Ubuntu 22.04 上 Clash Mihomo 與 systemd 服務化示意 Linux 實務

把 Mihomo 跑在 Ubuntu 22.04
安裝、systemd、開機自啟一次到位

需要圖形介面時可選擇跨平台客戶端;需要伺服器常駐與自動重啟時,依本文完成核心與 systemd 設定,並用 ss 與 curl 自檢埠與代理鏈路。

  • 命令列可重現,適合桌面與無頭環境
  • systemd 管理開機自啟與異常重啟
  • 專用系統帳號與設定檔權限更易審核
Clash Clash

Linux 上完成 Mihomo 與 systemd 設定後,別忘了也可在本站取得圖形客戶端。免費下載 Clash,依裝置選擇最順手的用法。

免費下載 Clash