先選規則模式,再確認流量是否進入核心
日常使用建議先選規則模式(Rule),確認訂閱已啟用、目標策略組已選好節點,再前往要測試的網站。如果只有特定網站異常,可以暫時切換至全域模式比較;若要確認目前網路能否直接連上目標,再切換至直連模式。每次只調整一項設定,結果才容易判讀。
三種模式決定的是已進入 Clash 或 Clash Meta(mihomo)核心的連線要如何對外連線,而不是決定哪些應用程式一定會被接管。系統代理、應用程式內的代理設定和 TUN,負責將流量送進核心;規則、全域和直連,則負責處理送進來的流量。這兩層設定要分開檢查。
| 模式 | 進入核心後的處理方式 | 適用情境 | 優先檢查項目 |
|---|---|---|---|
| 規則 Rule | 依規則順序比對,交由對應的出站或策略組處理 | 日常分流、區分直連與代理流量 | 命中的規則及實際選用的策略組 |
| 全域 Global | 通常交由內建的 GLOBAL 策略組處理 | 暫時排查規則遺漏、統一測試對外出口 | GLOBAL 最後選用的出站 |
| 直連 Direct | 由核心直接連線至目標 | 與本地網路比較、排查代理節點因素 | 本機 DNS 與網路連線狀態 |
三種流量路徑:入口相同,出站決策不同
以下圖示以同一個已被接管的應用程式連線為例。圖中的「代理選擇」是範例策略組名稱,並非每份訂閱都會使用的固定名稱;實際設定可能稱為「節點選擇」、「自動選擇」或其他名稱。
規則模式:由上往下比對,第一個符合的規則生效
應用程式連線
↓ 系統代理 / 應用程式代理 / TUN
Clash 或 mihomo 核心
↓ 由上往下檢查 rules
├─ 符合直連規則 → DIRECT → 目標服務
├─ 符合代理規則 → 代理選擇 → 目前節點 → 目標服務
├─ 符合拒絕規則 → REJECT → 中止連線
└─ 套用 MATCH 預設規則 → 指定策略 → 目標服務
規則不是「越具體就會自動優先」,通常會由上往下檢查,先符合的規則先執行。如果把涵蓋範圍很大的規則放在前面,後面更精確的網域規則可能就沒有機會生效。訂閱中的規則集,也要依照它在 rules 清單中的引用位置判斷。
全域模式:略過一般規則分流
應用程式連線
↓ 已被接管
Clash 或 mihomo 核心
↓ Global 模式
GLOBAL 策略組
↓ 目前選取的節點或其他可用出站
目標服務
切換至全域後,還要前往代理頁面檢查 GLOBAL。全域模式不等於「自動選最快的節點」,也不保證出口一定是代理節點。如果 GLOBAL 目前選的是 DIRECT,或選取的下一層策略組最後指向直連,連線仍會直接連出。部分用戶端會以本地化名稱顯示此策略組。
直連模式:仍可經過核心,但不會經過代理節點
應用程式連線
↓ 已被接管
Clash 或 mihomo 核心
↓ Direct 模式
DIRECT
↓ 目前裝置可用的網路出口
目標服務
直連模式不代表退出用戶端,也不等於關閉 TUN。核心仍可能處理連線和 DNS 請求,只是改由直連方式連出。因此,直連成功只能表示在目前的接管與解析環境下,這條連線可以直接連上目標;不能只憑這點就認定系統代理、DNS 和路由都已恢復成未啟動用戶端時的狀態。
規則如何搭配策略組:用最精簡的範例說明
以下是用來說明比對順序的 YAML 片段,不能取代完整訂閱。其中的「代理選擇」必須先在 proxy-groups 中定義。example.com 及其子網域僅用於示範寫法,不代表任何特定服務一定要使用代理。
mode: rule
mixed-port: 7890
rules:
- DOMAIN-SUFFIX,example.com,代理選擇
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- MATCH,代理選擇
mode: rule:表示預設依規則處理。用戶端介面中的即時切換可能會覆蓋此值;重新載入設定後的行為,則取決於用戶端是否保留模式覆寫。mixed-port: 7890:在同一個入口連接埠接收 HTTP 與 SOCKS5 代理連線。7890 僅為範例,並非所有用戶端都使用此連接埠。DOMAIN-SUFFIX:比對指定網域及其子網域;符合後交由「代理選擇」處理,再由該策略組決定實際使用的節點。IP-CIDR:依目標 IP 網段比對。此處僅示範兩個常見的內網網段,並非完整的區域網路直連規則。no-resolve:避免只為了比對這條 IP 規則而主動解析網域;不代表整個連線不需要 DNS。MATCH:作為最後的預設規則。若放在前面,後續規則就無法再比對。
切換至全域或直連後,通常不會再依照這份一般的 rules 清單逐條決定出站。因此,「規則中設定了內網直連」不代表「全域模式也會依照同一條規則直連」。若要連線至本地印表機、路由器管理頁面和企業內網服務,日常使用規則模式會更容易明確控管。
何時暫時切換至全域,何時切回規則
只有特定網站無法連線:用全域模式交叉測試
- 在用戶端的「代理模式」區確認目前選的是「規則」;部分用戶端會將入口放在系統匣選單的「代理模式」中,實際名稱請以介面顯示為準。
- 開啟「連線」頁面,前往目標網站一次,記下目標網域、命中的規則及最後採用的策略鏈。
- 切換至「全域」,並在 GLOBAL 中選擇已確認可用的節點。盡量沿用規則模式原本使用的節點,避免同時變更兩項條件。
- 關閉目標網站的舊連線後再重新連線。必要時只中斷該網域的連線,不必立刻中斷所有應用程式。
- 若全域模式正常、規則模式異常,請切回規則,優先檢查網域是否誤判為 DIRECT、規則集是否遺漏,以及預設規則是否指向不同的策略組。
這項比較無法直接下定論。即使使用同一個節點,兩種模式仍可能受到設定中依模式採用不同 DNS 行為等因素影響。若切換前後的解析結果不同,應一併排查 DNS,而不是直接將所有問題歸咎於規則。
測試統一出口:可短暫使用全域模式
若要查看某個代理節點的出口位置,或測試某項服務能否透過該節點連線,使用全域模式較容易排除規則分流的干擾。不過,在此期間,其他已被接管的應用程式也可能使用相同出口,包括系統更新和雲端硬碟同步。訂閱若按流量計費,尤其要留意背景下載。
日常瀏覽與本地服務:切回規則模式
測試結束後切回規則模式,並重新確認常用策略組。需要代理的網域走代理,本地可直接連線的服務使用 DIRECT,才能減少不必要的繞路。全域不是比規則「更進階」的模式,只是略過一般規則選擇,較適合短時間交叉測試。
系統代理、TUN 與 DNS:切換模式無法解決的問題
應用程式沒有進入核心,全域模式也無法接管
桌面用戶端啟用「系統代理」後,部分應用程式會讀取系統設定,另一些仍使用自己的網路設定。命令列程式也可能依賴環境變數。確認本機混合連接埠為 7890 後,可用以下命令明確指定代理入口,降低系統代理設定造成的不確定性:
curl --proxy http://127.0.0.1:7890 --connect-timeout 10 --max-time 20 -I https://example.com/
在 Windows PowerShell 中,若要明確呼叫系統提供的 curl 程式,可將開頭改為 curl.exe。執行時也請查看用戶端的連線記錄:若出現這次請求,代表它確實進入該代理入口;只有 HTTP 回應,並不能證明使用了遠端節點,還要檢查最後採用的策略鏈。命令中的 10 秒是連線逾時,20 秒是總耗時上限,不是延遲測試結果。
TUN 會透過虛擬網路介面和路由接管更多 IP 流量,但實際範圍仍會受到路由、排除項目、權限及具體實作方式影響。啟用 TUN 不會讓節點自動支援 UDP,也無法修復節點本身無法連線的問題。若要接管不遵循系統代理的應用程式,請再依照用戶端教學檢查 TUN 權限和路由設定。
切換模式不代表清除 DNS 狀態
使用 Fake-IP 時,核心可能會回傳用於網域對應的虛擬位址給應用程式,再透過對應關係識別實際網域。這不代表連線真的被送往某個公網目標。DNS 上游、Fake-IP 排除項目、應用程式自己的加密 DNS,以及本機快取,都可能影響排查結果。
切換至全域後仍無法連線時,不要立刻同時修改 DNS、TUN 和訂閱。先確認連線記錄中有沒有出現,再檢查網域和策略鏈,最後查看解析結果及節點連線錯誤。同時修改多個層級,容易讓原本可重現的問題變成偶發狀況。
切換後沒有變化:逐項核對連線記錄
| 觀察到的現象 | 優先排查項目 | 處理方式 |
|---|---|---|
| 切換至全域後,出口沒有變化 | 仍在沿用舊連線,或 GLOBAL 選了 DIRECT | 檢查 GLOBAL,斷開目標連線後重新發出請求 |
| 瀏覽器能用,遊戲卻無法連線 | 遊戲未遵循系統代理,或節點不支援所需的 UDP | 先檢查遊戲連線是否進入核心,再確認 TUN 和節點能力 |
| 規則模式異常,全域模式正常 | 命中的規則與最後採用的策略不同 | 使用同一個節點比較,檢查規則順序、規則集及預設規則 |
| 直連正常,全域模式失敗 | 所選節點無法使用,或目標拒絕該出口 | 查看握手或逾時錯誤,改用其他可用節點測試 |
| 三種模式都無法使用 | 入口連接埠、DNS、網路或目標服務本身異常 | 先確認本機代理入口和連線記錄,再逐層排查 |
切換模式通常只會影響之後建立的新連線,不保證既有 TCP 長連線或 QUIC 工作階段會立即改道。重新整理網頁也可能沿用既有連線;若記錄仍顯示舊策略,請先關閉相關連線,再重新發出請求。進行中的下載、會議或遠端工作階段可能因此中斷,操作前請先確認影響範圍。
最後確認三件事:連線有進入核心嗎?最後走的是哪個出站?新連線是否使用預期模式?確認這三點後,再決定要修正规則、調整接管方式,還是更換節點。日常維持規則模式,排查時短暫切換至全域或直連,通常比反覆重裝用戶端更容易找出原因。