- 設定與連線排查
- 4 類問題 · 16 個解答
Clash 常見問題
依照設定載入、流量接管、規則比對的順序檢查。先保留可用設定,每次只修改一個變數,再透過連線記錄確認結果。
基礎觀念
先分清用戶端、核心與服務,再判斷模式及接管範圍。
Clash 用戶端、mihomo 核心與訂閱有什麼關係?
用戶端提供訂閱管理、模式選擇與系統代理等介面;mihomo 核心讀取設定,負責建立代理連線、執行規則及處理 DNS;訂閱則是服務提供者提供設定或代理資訊的入口。三者並非同一項服務。安裝用戶端不會自動取得可用代理,更換用戶端也無法修復服務提供者已停用的訂閱。排查時先確認目前設定是否已載入,再確認核心是否啟動,最後檢查訂閱所屬服務的狀態,避免把帳戶問題誤認為安裝問題。
規則、全域、直連三種模式各有什麼作用?
規則模式會依 rules 順序由上而下比對連線,命中後採用對應策略;全域模式會將進入核心的連線交由全域策略組處理,仍須在該組中選擇可用出口;直連模式則讓進入核心的連線直接連線至目標。模式只會決定已接管流量的去向,無法讓未使用代理的應用自動進入核心。日常使用建議選擇規則模式;暫時切換至全域模式可協助判斷分流問題,測試後應切回原設定。直連不代表關閉 TUN,虛擬介面仍可能參與路由與 DNS 處理。
系統代理和 TUN 應該先開哪一個?
初次設定建議先啟用系統代理,使用遵循系統代理設定的瀏覽器,確認訂閱、出口與規則是否可用。系統代理主要影響會讀取該設定的應用,並不代表所有程序都會被接管。若要處理遊戲、部分命令列工具或不遵循代理設定的應用,再啟用 TUN,並檢查服務權限、虛擬介面與 DNS。排查時一次只變更一個開關;若兩種方式都已啟用,請分別關閉其中一種進行比對,避免接管路徑重疊而難以判斷故障來源。
延遲測試成功,為什麼網頁還是打不開?
延遲測試通常只能表示某個出口能連線至設定指定的測試位址,不代表目標網站、所有通訊協定或應用都能正常使用。先查看連線紀錄,確認瀏覽器請求有進入核心,再核對命中的規則、策略組與實際出口。若沒有紀錄,優先檢查流量接管;若已有紀錄但連線失敗,再檢查目標網域解析、出口限制與服務狀態。也要確認測試的是單一代理還是自動策略組,因為策略組最後選用的代理可能與剛才手動測試的不同。
安裝設定
從訂閱回應與設定解析著手,再檢查 TUN 所需的系統權限。
Clash 訂閱連結要從哪裡匯入?
在用戶端的設定、訂閱或 Profiles 頁面找到從 URL 匯入的入口,貼上服務提供者給的完整訂閱網址,儲存並更新,再將該設定設為目前使用的設定。不要把訂閱網址填入 external-controller,也不要將網頁控制台網址當成訂閱。匯入後確認是否出現可用的策略組,並查看記錄是否有解析失敗訊息。訂閱連結通常含有帳戶憑證,請勿貼到公開聊天室、截圖分享或提交至線上轉換網站;若已外洩,應先至服務提供者後台重設連結。
訂閱顯示失效或更新失敗,應依什麼順序檢查?
先至服務提供者後台確認帳戶有效、流量額度足夠且訂閱網址未被重設,再從後台重新複製連結,檢查是否缺字、網址末尾多出空格或使用已失效的入口。查看更新記錄:401 或 403 通常需檢查授權與存取限制,404 則需確認網址,逾時時先檢查網路連線。若目前網路無法直接連線至訂閱網域,可在用戶端支援時啟用透過代理更新,並確認已有可用設定。若收到 HTML 或登入頁面,請勿反覆匯入,應向服務提供者確認正確的 Clash 或 mihomo 設定入口。
匯入 YAML 後出錯,如何找出設定問題?
先保留原始檔案,依照記錄指出的行號及其上一行,檢查縮排、冒號與清單結構。YAML 縮排請使用空格,不要混用定位字元;策略組引用的代理名稱必須確實存在,規則引用的策略名稱也要一致。若核心支援,可在設定檔所在目錄執行 mihomo -t -f config.yaml 檢查設定,並以目前核心回報的錯誤為準。語法檢查通過只表示設定可解析,不代表出口一定能連線。若出現未知欄位或不支援的通訊協定,再核對核心類型與訂閱格式,不要直接刪除整段設定。
TUN 顯示權限不足或無法建立虛擬介面,該怎麼辦?
桌面版先確認用戶端要求的服務模式已安裝並執行,必要時依照用戶端說明授予管理員權限或系統網路延伸功能權限。Android 必須允許系統 VPN 連線要求,並先停止其他占用 VPN 通道的應用。Linux 則應依啟動方式檢查 /dev/net/tun、服務帳戶及所需的網路權限,不要直接將所有檔案設為可寫入。查看記錄中最早出現的權限或介面錯誤;若介面已建立但流量仍不通,應改查路由與 DNS,而非一再提升權限或重新安裝用戶端。
使用技巧
明確掌握設定的適用範圍,並保留修改前的設定與還原方式。
如何讓命令列工具使用本機代理?
先確認實際的 mixed-port 與監聽位址,再於支援代理參數的工具中明確指定代理。例如連接埠為 7890 時,可使用 curl -I --proxy http://127.0.0.1:7890 https://example.com 測試請求,並與不帶代理參數的結果比較。若要為終端機設定 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY,請依目前 shell 的語法操作,並確認該工具會讀取哪些變數。環境變數通常只會影響目前程序及其子程序;測試結束後請移除暫時設定,避免用戶端停止後終端機仍指向本機連接埠。
訂閱自動更新間隔設多久比較合適?
優先採用服務提供者建議的更新頻率,在用戶端目前訂閱的編輯頁面尋找自動更新或更新間隔,並先確認單位是分鐘還是小時。不要以過短的間隔持續重試失效連結,這可能觸發伺服器限流。請區分整份設定更新與 proxy-providers 的 interval:前者由用戶端管理,後者由核心依照提供者設定取得內容。更新後確認目前生效的設定與策略組仍正確;用戶端完全關閉或受行動系統限制而無法在背景執行時,排程更新也可能無法準時進行。
修改分流規則後沒有作用,該檢查哪些地方?
先確認目前使用的是規則模式,再確認編輯的是正在使用的設定,而非尚未啟用的副本。rules 會依序比對,較具體的規則通常應放在通用規則之前,MATCH 應置於最後;規則指向的策略組必須存在。儲存後依用戶端要求重新載入,並建立新的連線觀察命中結果;既有的長連線可能仍沿用原本路徑。若訂閱更新會覆蓋本機修改,請使用用戶端提供的覆寫或合併功能保存規則,並檢查最後產生的設定,避免規則重複或縮排錯誤。
轉換訂閱前應確認哪些事項?
先向服務提供者確認是否已有適用於目前核心的設定入口;若可直接匯入,就不必額外轉換。僅含代理資訊清單的訂閱,與包含規則、DNS、策略組的完整設定並不相同;轉換後要檢查產生的檔案是否包含所需結構。轉換服務可能讀取原始訂閱網址及其中的憑證,應優先使用可信任的服務或自行部署工具,不要將連結提交給來源不明的網站。轉換也無法讓舊版核心自動支援新通訊協定;若記錄顯示協定不相容,應改用相容的核心或請服務提供者調整輸出格式。
故障排除
先恢復基本網路,再逐層驗證;不要連續切換多項設定來代替排查。
所有節點都逾時,如何分辨是本機故障還是服務故障?
先關閉代理接管,確認本機網路本身可以瀏覽一般網站,再檢查系統時間、帳戶狀態與訂閱更新結果。選擇一個明確的代理手動測試,並查看失敗發生於網域解析、TCP 連線還是交握階段。全部逾時也可能是測試位址無法連線,不能只憑測試清單判定所有出口都已失效。可改用另一個可信任的網路進行比對;若只有目前網路失敗,應優先檢查網路限制與 DNS。若在多個網路都於相同階段失敗,再將已移除敏感資訊的記錄與發生時間提供給服務提供者。
系統代理已啟用,但瀏覽器或應用仍直接連線,該怎麼辦?
在系統網路設定中確認代理位址與用戶端實際監聽的位址一致,常見的本機位址是 127.0.0.1,連接埠則以目前設定為準,不要預設永遠是 7890。接著檢查瀏覽器擴充功能、應用程式內建的代理設定與略過清單;這些設定可能覆蓋或略過系統設定。若連線記錄沒有該應用的請求,可使用明確指定代理的參數進行比對;參數代理可用但系統代理無效時,通常應繼續檢查應用如何讀取代理設定。部分程式只會在啟動時讀取設定,修改後需要重新啟動;不遵循系統代理設定的應用則可再評估 TUN。
Windows UWP 應用無法使用本機代理,如何處理回送限制?
先確認一般桌面瀏覽器能透過相同代理連線,再判斷受影響的應用是否受到回送隔離限制。可使用用戶端提供的 UWP 回送工具,為確實需要的應用新增豁免;也可在管理員終端機執行 CheckNetIsolation LoopbackExempt -s 查看現有清單,再依目標應用的套件系列名稱指定設定,不要一次開放所有應用。操作後重新啟動目標應用並查看連線記錄。回送豁免只用來解除存取本機代理的限制,無法取代訂閱、規則或 DNS 設定。
啟用 TUN 後斷網,關閉後仍無法上網,該怎麼辦?
先在用戶端關閉 TUN 與系統代理,再正常退出,並檢查系統代理是否仍指向已停止監聽的本機連接埠。若恢復直接連線,重新啟動時只啟用一種接管方式,並觀察最早出現的路由或 DNS 錯誤。若仍無法上網,檢查作用中網卡的 DNS 是否被手動改成已無法連線的位址,並排查其他 VPN、虛擬網卡或安全軟體造成的路由衝突。先記下原始值再還原網路設定,不要直接刪除所有網卡。必要時重新啟動系統以清除殘留狀態;網路恢復後再逐項啟用功能,並保留可重現問題的最小設定。