進階設定 閱讀約 17 分鐘

Clash Meta 負載均衡怎麼寫?load-balance 與 consistent-hashing 逐步設定(2026)

若您已會用 url-testfallback 做延遲挑選與主備切換(細節見本站 url-test/fallback 專文),下一個常見需求是:在多個健康節點之間把連線散開——有時要輪詢降低單節點壓力,有時希望同一目的地盡量走同一出口以減少目標站看到「來回換 IP」的體感。在 MihomoClash Meta 系核心)裡,這通常落在 proxy-groupstype: load-balance,並以 strategy 選擇 round-robinconsistent-hashing。本文給可複製的 YAML 骨架、與 url-test 的分工、規則怎麼指到策略組名才生效,以及訂閱更名、UDP、規則順序等踩坑;不重複較長的健康檢查參數教學。

Clash 編輯組 Clash Meta · Mihomo · load-balance · consistent-hashing · 負載均衡

先釐清:負載均衡在做什麼,和 url-test 差在哪?

url-test 的核心是「對候選節點做探測,傾向選延遲表現較佳的那個」;load-balance 則是「在候選節點間分配連線」,目標不一定是挑最低延遲,而是分散依目的地做可重現的指派。因此兩者常並存:例如外層仍用 url-test 先確保池子裡多半是「當下可用且不算慢」的節點,內層或另一條規則再用 load-balance 把長連線或大量並行連線攤開;或反過來,只在特定域名策略組上使用 consistent-hashing,其餘流量維持自動測速。

round-robin 偏向輪流派發:新連線依序輪換使用清單中的節點,適合想降低「所有人都擠在同一節點」時的尖峰,但要接受目標站可能觀察到多個出口 IPconsistent-hashing 則以雜湊把「某個連線特徵」對應到固定候選上,實務上常被說成連線級的粘滯:有助於同一服務端點盡量落在同一節點,但不是應用層 Session 的完整保證——若訂閱把節點順序或數量改掉,雜湊環路可能重算,粘滯會變動;HTTP/3、多路徑 Retry、短連線暴增時體感也會不同。

何時用輪詢,何時用 consistent-hashing?

若您的主要痛點是「單節點容易被打滿/晚高峰排隊」,且目標服務不要求長時間固定出口(例如靜態下載、只讀 API),round-robin 較直覺。若痛點是「同一網站頻繁跳出驗證、或長連線中途被視為換 IP」,可先試 consistent-hashing,並搭配 規則順序 讓該域名穩定命中同一策略組。若您同時需要不健康節點自動剔除,仍應回到 url-testfallback 或拆出獨立池,不要把 load-balance 誤當成全自動延遲最佳化。

1設定 round-robin:輪詢分散新連線

proxy-groups 新增一組,type 設為 load-balancestrategy 設為 round-robinproxies 內僅能引用已存在的節點名稱(或不含循環依賴的其他策略組)。撰寫完優先做一次設定重載,確認沒有「找不到名稱」或「策略組循環」錯誤。

# Snippet — round-robin; replace proxy names with yours
proxy-groups:
  - name: LB-RR
    type: load-balance
    strategy: round-robin
    proxies:
      - NODE-A
      - NODE-B
      - NODE-C

小結:輪詢改善的是連線層分散;並不幫您挑「全球最快」節點,也未必彌補單一節點頻寬瓶頸。

2設定 consistent-hashing:連線級粘滯語意

將同一組的 strategy 改為 consistent-hashing 即為常見的「粘滯」用法:核心會依內部演算法把連線映射到較固定的候選上,讓同一目標較容易反覆落在同一節點。這對部分銀行/大型站台的風控較友善,但請記住:若您只有兩三個節點又頻繁汰換,或訂閱每次更新都打亂名稱,體感仍可能像「一直換線」。運維上建議搭配穩定命名proxy-providers 或固定手寫別名,並在更新後驗收。

# Snippet — consistent hashing pool
proxy-groups:
  - name: LB-STICKY
    type: load-balance
    strategy: consistent-hashing
    proxies:
      - NODE-A
      - NODE-B
      - NODE-C

少數場景會與 relay 鏈路 疊加:鏈路越長,除錯時越要講究「每一跳是否支援實際協議」。若 UDP/語音異常,先單獨測節點與規則命中,再掛負載均衡,避免一次改太多變因。

3規則接到策略組:名稱對了才算數

url-test 相同:rules 最後一欄必須是策略組名(例如 LB-STICKY),不是訂閱內的原始節點字串。Clash 系規則由上而下先命中先贏;若 GEOIP 或寬鬆規則在前面把流量拉走,後面的負載均衡組不會生效。整理規則時可對照 規則順序與 MATCH 一文。

rules:
  - DOMAIN-SUFFIX,corp.internal,DIRECT
  - GEOIP,CN,DIRECT
  - DOMAIN-SUFFIX,example.com,LB-STICKY
  - MATCH,PROXY

與外層 selecturl-test 並存:常見接線

實務上常在 select 裡並列「手動節點」「url-test 自動池」「load-balance 池」,讓日常使用可切換;或讓 MATCH 指到外層 PROXY,由使用者在面板選 LB-RR。關鍵仍是:實際命中的那條規則,最終要能把封包送到您預期的策略組。圖形客戶端若保留舊的 GLOBAL 選擇,也可能蓋過 YAML 預設;請用連線日誌核對策略名稱。

proxy-groups:
  - name: LB-RR
    type: load-balance
    strategy: round-robin
    proxies:
      - NODE-A
      - NODE-B

  - name: PROXY
    type: select
    proxies:
      - LB-RR
      - NODE-A
      - DIRECT

常見踩坑(與排除順序)

  • 訂閱改名或洗牌:proxies 清單順序一變,consistent-hashing 映射跟著變;長連線仍可能維持舊節點,新連線卻換出口,風控仍可能跳。
  • 把不同用途節點混池:例如僅支援 TCP 的線與強 UDP 線在同一 load-balance,輪詢後應用隨機踩雷;應按協議/地區拆池
  • 以為能取代健康檢查:load-balance 預設語意是分配;懶得探測的壞節點仍可能被取中。要自動剔除請用 url-testfallback 或手動維護清單。
  • UDP/QUIC 體感:部分遊戲、語音或 HTTP/3 路徑對 NAT 與出口敏感;若輪詢造成斷斷續續,先改單節點或改 consistent-hashing,再談負載分散。
  • 循環依賴:LB-A 引用 LB-BLB-B 又引用 LB-A 會載入失敗;巢狀時畫出依賴圖較保險。

提醒:代理設定須符合所在地法規與服務條款;教學僅供合法合規的網路除錯與自用學習。

可併入現有設定的最小範例

下列片段示範兩個負載池並列,並讓最外層 select 可切換;註解使用英文以利部分解析器相容。請替換 REPLACE-* 為實際節點名,並與既有 dnstun 合併調整。

# Minimal pattern — merge with your proxies / dns / tun
mode: rule
log-level: info

proxy-groups:
  - name: LB-ROUND-ROBIN
    type: load-balance
    strategy: round-robin
    proxies:
      - REPLACE-A
      - REPLACE-B
      - REPLACE-C

  - name: LB-CONSISTENT
    type: load-balance
    strategy: consistent-hashing
    proxies:
      - REPLACE-A
      - REPLACE-B
      - REPLACE-C

  - name: PROXY
    type: select
    proxies:
      - LB-CONSISTENT
      - LB-ROUND-ROBIN
      - REPLACE-A
      - DIRECT

rules:
  - MATCH,PROXY

若您希望「大部分自動測速、少數域名粘滯」,可把 MATCH 指到 url-test 組,並在前列為敏感域名加 DOMAIN-SUFFIXLB-CONSISTENT;細部健康檢查參數仍以 該篇 為主。

開源資訊與安裝包取得方式

Mihomo 上游以開源方式維護,查核版本行為或提交 Issue 時適合前往公開程式庫。日常下載或更新圖形客戶端,建議優先使用 本站 Clash 下載頁,並搭配 設定說明文件;將「取得安裝包」與「閱讀原始碼」分開,可避免誤以為必須自行從 Release 頁拼裝環境。

結語

load-balanceClash MetaMihomo 有機會在多節點間做連線級分散:round-robin 求輪換,consistent-hashing 求對同一目的地的可重現指派。兩者都不能取代針對延遲與可用性的 url-testfallback,而是常與之分工。把 rules 命中與策略組命名一次對齊,再用日誌確認「第一條規則→實際策略名」無誤,通常比盲目加節點更有效。

相較於只靠手動切換或訂閱預設排序,顯式寫出負載池可以長期與 relay、GEOIP、DNS 政策並存;遇到 HTTPS 只有 IP、域名規則不觸發時,再串接 Sniffer 與 DNS 相關文章即可,但策略組命名與順序永遠是第一道關卡。

相較於其他同類工具,Clash 系在「規則、策略組、日誌」之間的對照較一致,對要同時處理自動測速多節點分攤的使用者較友善。完成上述負載設定後,建議保留一小段觀察期:訂閱更新前後各驗收一次粘滯是否符合預期。

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

Clash Meta / Mihomo 客戶端 負載均衡

load-balance 策略組透過 consistent-hashing 將同一目標 IP 固定到同一節點,避免會話中斷;round-robin 適合無狀態請求的吞吐均攤。

一致性雜湊

同 IP 固定節點,會話不中斷

輪詢模式

無狀態請求吞吐最大化

延遲感知

結合 url-test 動態剔除慢節點

文件參考

搭配本站 proxy-groups 專題

上下篇導覽

相關閱讀

負載均衡先對齊規則

從本站下載 Clash(Mihomo 核心),用日誌確認流量命中的是您的 load-balance 策略組;再依場景選 round-robin 或 consistent-hashing。

免費下載客戶端