本頁使用方式
在上方目錄找到最貼近症狀的一章,從「排查順序」的第一步開始按步驟走,每步都寫明通過與不通過的去向,不要跳步。排查中涉及的指令可直接複製執行,連接埠、路徑等「劑量」以本機實際設定為準。
一、排查總則:先定位環節,再對症下藥
故障排查最怕東改一處、西改一處,最後不知道是哪一處起了作用。動手之前先建立一張地圖:一次代理請求從發出到返回,要經過下面這些環節。任何一環出問題,表現出來的都是「上不了網」四個字,但解法完全不同。
應用程式 → 系統代理 / TUN 模式 → Clash 核心(本地連接埠) → 規則比對(策略群組) → 節點 → 目標網站
逐段說明:第一段,應用程式是否把流量交給了系統代理——部分應用程式(某些遊戲、命令列工具)預設不讀系統代理設定;第二段,系統代理是否真正寫入、指向的連接埠與 Clash 核心的監聽連接埠是否一致;第三段,核心收到請求後按規則集逐條比對,決定走直連還是交給某個策略群組,策略群組再選出具體節點;第四段,節點是否存活、協定是否被核心支援、途中是否被電信業者阻斷。故障在哪一段,就去哪一章。
問診三條規矩
- 先定位環節,再動手改。先判斷故障發生在鏈路的哪一段,再去對應章節找解法;不定位就改設定,等於蒙著眼睛抓藥,改對了是運氣,改錯了添新病。
- 一次只改一個變數。改一處、測一次。同時改三處,好了不知道哪處起效,壞了不知道哪處闖禍,排查會變成無底洞。
- 先看日誌,再下結論。日誌是 Clash 的病歷本:請求有沒有進來、命中了哪條規則、報了什麼錯,都寫在裡頭。排查前把日誌等級從預設的 warning 調到 info 或 debug,重現一次故障,再回頭讀日誌。error 等級只記致命錯誤,info 能看到每條連線的去向,debug 最細、也最吵,定位完記得調回去。
三個基礎測試
下面三個測試貫穿全書,後面各章會反覆讓妳回到這裡:
測試一,本機連接埠測試——驗證核心到節點這一段是否通暢:
curl -x http://127.0.0.1:7890 https://www.google.com -I
能返回 HTTP 回應標頭,說明核心、規則、節點這一整段是通的,問題在系統代理或應用層;超時或直接報錯,說明核心到節點這一段出了問題。連接埠 7890 是常見預設值,以客戶端裡顯示的混合連接埠(mixed-port)為準。
測試二,延遲測試——客戶端面板裡的延遲測試,只反映節點能否建立 TCP 連線,不代表速度快慢。全部 timeout 與個別 timeout 是兩種病,走第三章的兩條不同路線。
測試三,直連對照——暫時關閉系統代理(或退出客戶端),確認本機網路本身能上網。本機就不通,先修本機網路,Clash 治不好它。
| 故障環節 | 典型表現 | 對應章節 |
|---|---|---|
| 系統代理未生效 | 日誌裡沒有任何新連線記錄 | 第七章 |
| 規則比對錯誤 | 全域模式能用、規則模式不行 | 第二章 |
| 節點故障 | 延遲測試 timeout、日誌報連線失敗 | 第三章 |
| 訂閱異常 | 節點清單為空或長期不更新 | 第四章 |
| DNS 故障 | 報「找不到伺服器 IP」、首次存取極慢 | 第六章 |
| 核心/客戶端故障 | 啟動失敗、閃退、介面卡死 | 第八章 |
配合服用
讀日誌的具體方法——日誌等級怎麼調、常見錯誤關鍵字各是什麼意思——另有一篇專文:《Clash 運行日誌怎麼看》,建議與本頁配合服用。
二、連上後無法上網
症狀客戶端顯示運行中、系統代理開關已打開,瀏覽器卻打不開任何網頁;或只有部分網站能開,其餘轉圈到超時。
排查順序
- 看日誌有沒有新連線。打開客戶端的日誌面板,重新整理一次打不開的網頁。日誌裡一條新記錄都沒有,說明請求根本沒到 Clash,是系統代理沒生效,直接去第七章;有記錄,往下走。
- 切到全域模式測一次。把代理模式從「規則」切到「全域」,再重新整理網頁。全域模式下能開,說明核心與節點都沒問題,是規則把請求送去了直連或錯誤的策略群組,看本章「規則誤傷」一節;全域也打不開,往下。
- 換節點測一次。在策略群組裡手動換一個節點,再重新整理。換節點後能開,說明原節點故障,去第三章;連換幾個節點都不行,往下。
- 查 TUN 與系統代理是否打架。同時開著 TUN 模式和系統代理,個別系統上會出現回圈:流量在兩層接管之間打轉,表現為一切請求超時。關掉其中一層再測。
- 查安全軟體攔截。部分防毒軟體、防火牆會攔截本機代理連接埠的回環連線,或直接攔 Clash 核心的出站。臨時關閉後複測;確認是它,把客戶端加入白名單再恢復防護。
規則誤傷:全域能用、規則模式不行
規則模式下,每個請求按規則集從上往下逐條比對:命中 DIRECT 走直連,命中某個策略群組走代理,一條都不中走兜底規則。目標網站能不能開,取決於它命中了哪一條。常見誤傷有三種:
- 規則集太舊:新出現的網域名稱還沒被收錄,被兜底規則送去直連。更新訂閱或規則資料(GeoIP / GEOSITE)再試。
- 自訂規則寫錯:手動加的規則拼錯了網域字尾,或位置太靠前把請求提前截走。規則是從上往下比對的,把懷疑的自訂規則暫時註解掉再測。
- 策略群組指向異常:目標網站命中了某個策略群組,而該群組當前選中的節點已經失效。換群組內節點,或把該群組改成
url-test自動選優。
只有個別應用程式不能上網
瀏覽器正常、某個應用程式死活不走代理,多半是它不讀系統代理設定——部分遊戲、命令列工具、一些桌面應用程式都是如此。解法有二:開 TUN 模式,讓流量在網路卡層被接管,與應用程式是否配合無關;或在該應用程式的網路設定裡手動填代理 127.0.0.1:7890。TUN 模式的開啟條件與代價見第七章末。
排查口訣
先看日誌定環節,再用全域排規則,再換節點排節點——三板斧按順序砍下去,能解決八成「連上了但上不了網」。
三、節點超時與連線失敗
症狀延遲測試一片 timeout;或單個節點標紅,日誌反覆出現 connect timeout、connection refused、handshake failure。
先分清「全滅」還是「個別陣亡」
全部節點同時超時,病灶幾乎都在本機或訂閱這一頭——幾十個節點同時壞的機率微乎其微;個別節點超時,才輪到節點本身。兩者排查路線完全不同,先分清楚再往下。
全部超時:依序查四樣
- 本機網路:關掉代理直連,確認本機網路正常。本機不通,先修本機,後面都不用查。
- 訂閱狀態:登入機場後台看套餐是否到期、流量是否用盡。訂閱失效後節點清單往往還留在客戶端裡,但節點已全部無法使用——這是「全滅」最常見的原因。確認後去第四章更新訂閱。
- 系統時間:TLS 交握要驗證憑證有效期,系統時間偏差過大(幾分鐘以上)會導致所有節點交握失敗,表現為全滅。校準系統時間後重試,這一味藥常被忽略。
- 本機連接埠與防火牆:核心的代理連接埠被其他程式佔用,或被防火牆攔死,表現為一切請求都失敗。查連接埠佔用的方法見第八章。
個別超時:依序查三樣
- 節點本身故障或被阻斷:晚間高峰骨幹網路壅塞、節點 IP 被目標地區電信業者阻斷,都表現為單節點超時。換一個地區、換一個入口的節點對比看看。
- 協定與核心不匹配:訂閱裡混有多種協定的節點,舊版 Clash 核心不認識 VLESS、Hysteria2 等新協定,表現為這部分節點全部無法使用、其餘正常。換用 mihomo 核心的客戶端即可識別——下載頁所列客戶端均為 mihomo 核心。
- 節點參數變化:機場改了連接埠、密碼或入口位址,而本機訂閱未更新,舊參數自然連不上。更新訂閱後再測。
晚間高峰不算故障
晚間八點到十一點,所有節點延遲普遍升高、個別超時,多為負載問題而非故障。此時段挑節點看實際速度比看延遲數字更可靠,具體方法見第五章。
四、訂閱更新失敗
症狀點擊「更新訂閱」報錯:下載失敗、請求逾時、解析失敗、設定為空;或更新按鈕轉了半天圈,節點清單卻毫無變化。
排查順序
- 把訂閱連結貼到瀏覽器直接打開。能下載到一個文字檔(YAML 或 Base64 內容),說明連結有效,問題在客戶端一側,走第 2 步;打不開、報 404/403、或跳轉到機場公告頁,說明連結失效或套餐異常,走第 3 步。
- 客戶端一側:關掉「透過代理更新訂閱」再試。這裡有個循環依賴:代理已經掛了,走代理更新訂閱必然失敗;沒有新節點,代理更起不來。更新訂閱務必走直連。仍失敗,檢查 TUN 模式是否把更新請求也接管了進去,必要時退出客戶端,用瀏覽器下載後改本機匯入。
- 連結一側:回機場後台重新複製訂閱網址。後台重設過訂閱權杖後,舊連結即失效;套餐到期、流量用盡時,部分機場會讓訂閱返回空內容或錯誤頁,續費後恢復。使用訂閱轉換服務的,轉換服務本身掛了也會下載失敗——換回機場原始訂閱連結試一次。
能下載但解析失敗
解析失敗說明客戶端拿到的東西不是它認識的格式。常見三種:
- 返回的是 HTML 錯誤頁:訂閱網址被反向代理或轉換服務擋下,返回了一個網頁而不是設定。用瀏覽器打開該連結,看一眼內容便知。
- 格式與客戶端不匹配:訂閱內容是其他客戶端的專有格式(有些面板預設輸出別的格式)。在機場後台或轉換連結的參數裡,指定輸出 Clash / mihomo 格式。
- 內容被截斷:網路抖動導致下載不完整,YAML 結構殘缺。重新更新一次,或用瀏覽器下載完整檔案後本機匯入。
本機匯入兜底
訂閱網址一時恢復不了,可用瀏覽器把能打開的訂閱內容另存為 .yaml 檔案,在客戶端裡選擇「從檔案匯入」。本機檔案不會自動更新,訂閱恢復後記得改回訂閱連結方式,否則節點變化永遠同步不進來。設定檔(Profile)的更多管理方法——多設定切換、合併、更新策略——見《Clash 設定檔是什麼》。
五、速度慢、卡頓與緩衝
症狀代理能連通,但網頁載入慢、影片反覆緩衝、下載速度遠低於預期;或白天正常、晚間卡頓,規律性發作。
先分清慢在哪一段
做一次對照:關閉代理直連測速,再開代理測速。直連就慢,是本機寬頻或 Wi-Fi 的問題,先修本機;直連正常、代理慢,慢在節點或規則,往下查。
延遲數字不等於速度
客戶端裡的延遲測試只反映建立 TCP 連線花了多少毫秒,與頻寬是兩回事:延遲 300ms 的節點可能跑滿百兆,延遲 80ms 的節點也可能只有幾兆。挑節點別看延遲排名,看實際打開網頁、拖影片進度條的手感,或用測速頁面實測。
節點側的三個慢因
- 晚間高峰負載:晚間八點到十一點是節點最擁擠的時段,同一節點白天與晚間的速度可能相差數倍。此時段換負載低的節點,或換地區試試。
- 線路繞路:節點到目標網站的線路品質決定體驗。存取日本網站卻走美國節點,資料要跨兩次太平洋。按目標網站所在地區選就近節點。
- 倍率與限速:部分機場對低倍率節點限速、對單一連線限速。大流量任務(系統更新、雲端硬碟同步)盡量安排在直連規則裡,別佔用代理頻寬。
規則側的兩個慢因
- 目標走了錯誤策略群組:打開日誌,看目標網域命中了哪條規則、被分到哪個群組。串流媒體網域被分到「兜底直連」群組,就會又慢又可能看不了地區限定內容。
- 自動選擇群組失靈:
url-test群組按延遲選節點,可能選中延遲低但頻寬小的節點。高峰期把關鍵策略群組改成手動指定,反而更穩。
本機側的兩個慢因
- TUN 模式開銷:TUN 在網路卡層處理全部流量,大流量下載時有額外開銷。追求極限速度時,瀏覽器走系統代理、下載器直連,是更划算的組合。
- 雙重代理:系統代理與 TUN 同時開,或瀏覽器代理外掛與系統代理疊加,流量多繞一層,速度白白打折。保持只有一層接管。
| 使用場景 | 建議 |
|---|---|
| 日常網頁瀏覽 | 規則模式 + url-test 自動選優即可,不必手動盯著 |
| 追串流媒體劇集 | 手動指定目標地區的節點,確認策略群組沒走兜底直連 |
| 大檔案下載 / 系統更新 | 能直連的走直連規則,必須走代理的挑頻寬型節點 |
| 晚間高峰時段 | 換負載低的節點,關鍵策略群組改手動指定 |
選節點的系統方法——延遲、倍率、地區、協定四個維度怎麼權衡——另有一篇:《Clash 節點怎麼選》。
六、DNS 解析異常
症狀瀏覽器報「找不到伺服器 IP」;部分網域打不開,但對應 IP 能連通;打開網頁的首次等待特別長,第二次存取就恢復正常。
先搞懂 Clash 的兩種 DNS 工作方式
Clash 核心內建 DNS 模組,有兩種解析策略,表現與相容性不同,選錯了就會出現上面的症狀:
| 模式 | 工作方式 | 優點 | 代價 |
|---|---|---|---|
fake-ip | 對網域立即返回 198.18.x.x 段的假位址,真正連線時再由核心代理解析 | 回應快、防 DNS 污染 | 個別應用程式不認假位址 |
redir-host | 先真實解析出 IP,再轉發連線 | 相容性好 | 首次解析慢、可能被污染 |
排查順序
- 確認是 DNS 故障。打不開的網站,用其 IP 直連(或換一台裝置用行動網路)能打開,基本可斷定病灶在解析環節,而不是節點。
- 看目前 DNS 設定。設定裡
dns.enable是否為 true;客戶端介面裡「DNS 接管」類開關是否被關掉。核心沒接管 DNS,污染與劫持就直接打在系統解析上。 - fake-ip 相容性排查。故障集中在遊戲、區域網路服務(印表機、NAS、投影)、部分政府或銀行類應用程式,高度疑似 fake-ip 不相容。把這些網域加進
fake-ip-filter,或整體改回 redir-host 模式。 - 電信業者劫持排查。家用寬頻預設 DNS 常劫持 UDP 53 連接埠的明文查詢,返回被篡改的結果。給 nameserver 設定 DoH / DoT 加密解析,劫持即失效。
一份可直接照抓的 DNS 設定
dns:
enable: true
listen: 0.0.0.0:53
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "*.local"
- "*.home.arpa"
- localhost.ptlogin2.qq.com
nameserver:
- 223.5.5.5
- 119.29.29.29
fallback:
- https://1.1.1.1/dns-query
- https://dns.google/dns-query
劑量說明:nameserver 負責解析本地網域,走快的;fallback 負責解析境外網域,走加密通道防污染;fake-ip-filter 裡放不認假位址的網域,通配寫法如上。改完設定需重新啟動核心才生效。
驗證指令:
nslookup www.google.com 127.0.0.1
返回 198.18.x.x 段位址,說明 fake-ip 在運作;返回超時,說明核心的 DNS 沒起來,回第 2 步檢查 dns.enable 與監聽連接埠。
進階
mihomo 核心另支援 nameserver-policy,按網域分組指定各自的解析伺服器,精細分流場景可用;語法細節見概念速查頁的 DNS 相關詞條。
七、系統代理不生效
症狀客戶端運行中、節點正常,但日誌裡始終沒有新連線記錄;系統設定裡看不到代理項,或代理項指向的連接埠與客戶端不一致。
各平台確認系統代理是否寫入
| 平台 | 查看位置 | 正常狀態 |
|---|---|---|
| Windows | 設定 → 網路和網際網路 → 代理 | 「使用代理伺服器」開啟,位址 127.0.0.1,連接埠與客戶端 mixed-port 一致 |
| macOS | 系統設定 → 網路 → 詳細資訊 → 代理 | 「網頁代理 / 安全網頁代理」已勾選,伺服器 127.0.0.1:連接埠 |
| Linux | 桌面環境的網路設定 | GNOME / KDE 的代理項指向 127.0.0.1;無桌面環境時系統代理本就無效 |
寫入失敗的常見原因
- 權限不足:寫入系統代理需要相應權限。Windows 上以一般權限執行的客戶端可能被群組原則限制;macOS 首次開啟會彈出授權視窗,點過「不允許」的,到系統設定的網路代理頁裡手動打開。
- 瀏覽器外掛奪權:SwitchyOmega 一類代理外掛接管瀏覽器後,完全無視系統代理,按外掛自己的規則走。表現為「系統代理明明開了,瀏覽器卻不走」。停用外掛,或把外掛切回「使用系統代理」模式。
- 其他代理軟體殘留:之前裝過的 VPN、加速器退出時沒清理系統代理,系統設定裡還指著舊連接埠。手動把系統代理改回 127.0.0.1 與目前客戶端連接埠,或先關掉、讓客戶端重新寫入。
- 連接埠對不上:不同客戶端的預設連接埠不同(常見 7890,部分為 7897),設定檔裡也可能改過
mixed-port,而系統代理還指著舊值。讓兩邊一致,或在客戶端裡重新開關一次系統代理,讓它按目前設定重寫。
手動寫入與 TUN 兜底
自動寫入始終失敗時,可手動在系統設定裡填:位址 127.0.0.1,連接埠與客戶端 mixed-port 一致。手動寫入的缺點是客戶端退出後系統代理不會自動清除,關機前需手動關閉,否則下次開機不啟動客戶端時全網不通。
更徹底的解法是 TUN 模式:在網路卡層接管全部流量,不依賴系統代理,不讀系統代理的應用程式(遊戲、命令列)也能被接管。代價是需要安裝服務模式或授予系統管理員 / root 權限,且與系統代理同時開啟可能造成回圈——二者取其一。Windows 上以系統管理員身分執行客戶端後開啟 TUN;macOS 上按客戶端提示授權安裝輔助工具;Linux 需 root 或設定 capabilities。
八、客戶端崩潰與啟動失敗
症狀雙擊客戶端沒反應、啟動即閃退、彈出「核心啟動失敗」、介面卡死無回應、開機自動啟動後悄悄退出。
先取得真實錯誤訊息
圖形介面閃退時,用命令列啟動客戶端,或單獨啟動核心,錯誤訊息會直接印在終端機裡。錯誤文字是本章一切解法的入口——先取得它,再對照下文四類高發病因。圖形介面把錯誤吞掉了,盯著圖示猜是猜不出來的。
四類高發病因
設定檔語法錯誤
YAML 對縮排極為敏感:必須用空格、同層級對齊、不能用 Tab,冒號後面必須接一個空格。手動編輯設定後核心起不來,九成是縮排或標點問題。把改動撤回,或把設定貼進 YAML 驗證工具過一遍再啟動。
連接埠被佔用
代理連接埠(預設 7890)或外部控制連接埠(預設 9090)被其他程式佔用,核心啟動即退出。查佔用:
netstat -ano | findstr :7890
lsof -i :7890
第一條用於 Windows,第二條用於 macOS / Linux。佔用者若是上一個沒退乾淨的 Clash 程序,結束它再啟動;若是別的軟體,改客戶端連接埠,或改那個軟體的連接埠。
權限不足
TUN 模式、增強模式需要特殊權限,權限不夠時核心啟動失敗或 TUN 網路卡建立失敗。Windows 右鍵選「以系統管理員身分執行」;macOS 按提示輸入密碼安裝輔助工具;Linux 用 sudo 或 setcap 授權。
設定目錄損壞
異常斷電、強制退出可能寫壞快取或設定索引,表現為客戶端能打開、但一操作就崩潰。先備份訂閱連結與自訂規則,再刪除設定目錄讓客戶端重建。設定目錄位置:Windows 在 %APPDATA% 下以客戶端名稱命名的目錄;macOS 在 ~/Library/Application Support/;Linux 在 ~/.config/。
防毒軟體誤傷
部分安全軟體把代理核心當作可疑程式攔截或隔離。核心檔案突然消失、每次更新後被攔,都是典型表現。把客戶端安裝目錄與設定目錄加入白名單,被隔離的核心檔案恢復回來後,再啟動。
重置之前
刪除設定目錄之前,務必先把訂閱連結、自訂規則、自己改過的策略群組抄下來。設定目錄一刪,這些都要重新設定。
九、行動裝置專項排查(Android / iOS)
症狀Android 上鎖螢幕後斷流、切換應用程式後代理失效;iOS 上背景一段時間後連線斷開;或行動裝置特有的「VPN 圖示消失」「開關自動關閉」。
Android 專項
- 省電策略清掉背景程式(最高發):國產 ROM 預設激進清理背景程式,鎖螢幕幾分鐘就把代理核心收掉了。進系統設定,把客戶端加入電池最佳化白名單、允許自動啟動、鎖定在最近工作清單。各 ROM 入口不同(小米在「省電與電池」,華為在「應用程式啟動管理」),找不到就在設定裡搜「電池最佳化」。
- VPN 唯一性衝突:Android 同一時間只允許一個應用程式持有 VPN 服務。另一個 VPN、加速器、去廣告應用程式搶佔了 VPN 位置,Clash 的開關就會被頂掉。停掉衝突應用程式再開。
- 分應用程式代理設定:客戶端裡的「分應用程式代理」若把目標應用程式排除在外,該應用程式表現為不走代理。檢查名單,或暫時切回「代理全部應用程式」做對照。
- 私人 DNS 衝突:系統「私人 DNS」(Private DNS)開啟後,會繞過代理的 DNS 接管,部分場景下導致解析異常。代理表現異常時,先把私人 DNS 關掉對照一次。
iOS 專項
- 背景重新整理限制:iOS 對背景網路活動限制嚴格,鎖螢幕或切出應用程式一段時間後,連線可能被系統掛起,回到應用程式時自動重新連線。這屬於系統機制,不是故障;斷流頻繁的,檢查是否開了低電量模式——它會進一步壓縮背景活動。
- VPN 設定衝突:裝過多個代理類應用程式時,系統裡可能殘留多個 VPN 設定,互相頂開關。到「設定 → 一般 → VPN 與裝置管理」裡刪掉不用的設定。
- Wi-Fi 與行動網路切換:網路切換瞬間,代理通道要重建,會有幾秒斷流,屬正常重連過程;切換後長期不恢復的,開關一次飛航模式強制重新連線。
行動裝置客戶端的選擇:Android 首推 Clash Plus,另有 Clash Meta for Android、FlClash 可選;iOS 首推 Clash Plus(App Store 上架,官網 clashplus.io)。各平台客戶端的詳細對比見客戶端對比頁,安裝包在下載頁。
九章都查過仍未解決?
帶齊三樣東西再去提問:重現故障時的日誌片段(隱去節點位址與訂閱連結)、設定檔(同樣去除敏感資訊)、從哪一步開始與預期不符的描述。三樣齊全,別人才能隔著螢幕替妳問診。更多問答見說明中心;術語不懂先查概念速查;新手高頻問題另有《Clash 新手最常問的十個問題》。