開始之前
通用準備:客戶端、訂閱與代理模式
如果只需要完成一次基本連線,可以先閱讀篇幅較短的快速入門教學。本頁用於系統查閱:每個平台都從下載與安裝開始,再分別處理訂閱、系統代理、TUN、權限與平台限制。遇到具體問題時,不必從頭閱讀,可透過上方目錄直接進入對應章節。所有客戶端都應從下載中心依平台選擇,桌面與行動平台均優先考慮 Clash Plus;其他選項與維護狀態以下載頁目前清單為準。
先分清客戶端、核心與設定檔
Clash 的使用包含三個彼此獨立的部分。客戶端提供視窗、選單、開關與訂閱管理;mihomo 等核心負責監聽連接埠、解析 DNS、比對規則並建立連線;設定檔則記錄代理資訊、策略組、規則、DNS 與 TUN 參數。更換介面客戶端不等於更換訂閱,匯入同一份相容設定後,規則結果通常一致。反過來,如果客戶端介面能正常開啟,但核心沒有啟動,即使已寫入系統代理,也不會產生有效轉發。
訂閱連結通常由服務提供者產生。客戶端取得連結後,會下載一份 YAML 設定或轉換後的設定內容。匯入成功只代表格式可讀,不表示其中的代理入口一定能連線。為減少變數,首次設定建議先保留訂閱原有規則,不要立即疊加大量自訂規則、覆寫 DNS 或修改監聽連接埠。確認基本連線穩定後,再逐項加入個人設定,每次只修改一個部分,排錯時更容易回復。
匯入訂閱前的檢查
複製連結時,請確認沒有帶入前後空格、換行或通訊軟體附加的標點符號。連結是個人設定入口,不宜發布到公開頁面或截圖中。若服務提供者同時提供「一鍵匯入」與一般訂閱網址,優先使用客戶端明確支援的匯入方式;一般網址則貼到「訂閱」、「設定」或「Profiles」頁面。匯入完成後,先確認設定名稱、策略組與規則是否出現,再將該設定設為目前設定。只把網址儲存在客戶端、卻沒有啟用對應設定,是新安裝後最常見的遺漏之一。
系統代理與 TUN 的選擇
系統代理適合瀏覽器、桌面通訊工具,以及會主動讀取作業系統代理設定的應用程式。客戶端通常會寫入 HTTP 與 SOCKS 監聽位址,常見的本機位址是 127.0.0.1,連接埠則由設定中的 mixed-port、port 或 socks-port 決定。優點是權限需求低、開關清楚;限制是某些遊戲、命令列程式、商店應用程式與自帶網路堆疊的軟體可能忽略系統代理。
TUN 模式透過虛擬網路介面接管更廣泛的系統流量,適合無法讀取系統代理的程式,也能統一處理更多 TCP、UDP 與 DNS 請求。代價是需要較高的系統權限,且可能與其他 VPN、虛擬機器、容器網路、安全軟體或企業網路元件衝突。首次使用時建議先驗證系統代理,再依實際需要開啟 TUN,而不是同時開啟多套接管工具。行動裝置的 VPN 開關在運作方式上較接近 TUN,系統通常只允許一個此類網路延伸功能處於啟用狀態。
| 運作方式 | 適用情境 | 需要注意 |
|---|---|---|
| 系統代理 | 瀏覽器、一般桌面應用程式、日常分流 | 應用程式是否讀取系統代理,結束時是否還原設定 |
| TUN 或行動裝置 VPN | 遊戲、命令列、UDP、忽略系統代理的應用程式 | 管理員權限、路由衝突、DNS 接管與其他 VPN |
| 應用程式內代理 | 只希望單一工具經過本機 SOCKS 或 HTTP 連接埠 | 代理協定、監聽位址與連接埠必須與客戶端一致 |
建立可重複的驗證步驟
每個平台都可以使用同一套驗證順序:先確認客戶端核心正在執行;再確認確實選中了目前設定;接著檢查代理模式是規則、全域還是直連;然後查看目標請求在連線紀錄中命中了哪條規則與策略組;最後才判斷代理入口本身是否可用。只看網頁是否開啟,很難區分 DNS、規則、代理入口與系統接管究竟是哪一層發生問題。連線紀錄與日誌能提供更可靠的依據,相關錯誤欄位可繼續參考Clash 日誌錯誤定位方法。
桌面平台
Windows:安裝、訂閱與系統網路接管
Windows 上可選擇 Clash Plus、Clash Verge Rev、FlClash、Clash Nyanpasu,以及用於封存情境的 Clash for Windows。新設定優先使用仍在維護且支援 mihomo 的客戶端。下載前先在「設定 → 系統 → 系統資訊」確認裝置架構,多數常見電腦使用 x64;只有明確採用 ARM 處理器的裝置才需要 ARM 版本。安裝程式與可攜式壓縮檔的使用方式不同:安裝程式會建立程式目錄與捷徑,可攜式版本則應完整解壓縮到固定目錄後執行,不要直接從壓縮軟體的預覽視窗啟動。
安裝與首次啟動
從Windows 下載區取得安裝檔後,先退出舊的 Clash 客戶端,避免兩個程式爭用同一個監聽連接埠。依安裝精靈完成安裝後啟動客戶端;如果 Windows 跳出防火牆提示,只在確實需要區域網路共享時允許相應的網路類型。單機使用時,核心監聽位址維持本機迴路位址即可,不必為了「能連線」而開放所有網路介面。若程式能開啟但核心啟動失敗,應先檢查舊客戶端是否仍在系統匣執行,再查看連接埠占用情況與核心日誌。
可攜式版本不要放在暫存下載目錄、同步硬碟的衝突目錄或受嚴格權限保護的位置。客戶端通常需要在自己的資料目錄寫入設定、快取與日誌;路徑無法寫入時,可能表現為匯入設定後消失、更新失敗或每次啟動都回到初始狀態。首次執行後,可在客戶端設定中確認資料目錄位置,並將長期使用的設定備份到個人可控的位置。
匯入訂閱並選擇策略
進入「設定」或「訂閱」頁面,選擇從 URL 匯入,貼上訂閱網址並等待擷取完成。新設定出現後,點選啟用或設為目前設定。接著進入「代理」頁面,將模式設為「規則」。規則模式會由上到下比對設定中的規則,第一條命中後即停止;策略組決定命中後實際使用的出口。首次驗證時不要誤設為「直連」,也不要在不了解影響的情況下長期使用「全域」。規則模式可以同時保留區域網路直連、常用中國大陸服務直連與指定目標代理,是更適合日常使用的預設選擇。
如果策略組是手動選擇類型,需要在組內明確選擇一個可用選項。若是自動測試、故障轉移或負載平衡類型,則由設定定義的探測與切換邏輯處理。客戶端顯示的探測結果只反映指定測試網址的連線過程,不等同於下載速度或所有網站的實際體驗。關於這項差異,可閱讀節點延遲測試原理。
啟用系統代理
確認核心執行後,再開啟「系統代理」。此操作會將 Windows 的代理設定指向客戶端本機連接埠。開啟瀏覽器造訪目標網站,並在客戶端連線頁面觀察是否出現對應網域、命中規則與策略組。如果瀏覽器可用而某個命令列程式不可用,通常不是訂閱失效,而是該程式沒有讀取 Windows 系統代理。可以為該程式單獨設定 HTTP_PROXY、HTTPS_PROXY 或 SOCKS 位址,也可以依需要改用 TUN。
set HTTP_PROXY=http://127.0.0.1:7890
set HTTPS_PROXY=http://127.0.0.1:7890
curl https://example.com
上例只對目前的命令提示字元視窗生效,連接埠應替換為客戶端實際顯示的混合連接埠。PowerShell、Git、套件管理器與開發工具各自可能有獨立的代理設定,不應因為瀏覽器可用,就預設所有程式都會自動跟隨。排錯時先查看工具自身設定,再決定是否需要環境變數或 TUN。
TUN 模式與權限
需要接管遊戲、商店應用程式、UDP 或不讀取系統代理的軟體時,可以關閉其他 VPN 工具,以管理員權限啟動客戶端,然後開啟 TUN。首次開啟可能會觸發虛擬網卡或網路元件安裝,完成後應檢查預設路由與 DNS 是否由客戶端接管。若開啟 TUN 後整台系統斷網,先關閉 TUN,再檢查是否同時執行了虛擬機器橋接、容器網路、加速器或安全軟體的網路過濾模組。不要在異常狀態下反覆切換多個接管工具,這會讓路由表與 DNS 狀態更難判斷。
Windows 特有問題
從休眠恢復後出現連線中斷,可以先重新整理訂閱狀態,再重新啟動核心,不必立即重裝客戶端。系統時間誤差會影響 TLS 連線,應確保自動時間同步正常。進行區域網路共享時,需要在設定中開啟「允許區域網路連線」,將監聽位址調整為客戶端允許的區域網路形式,並在防火牆中只放行必要連接埠;其他裝置應填寫這台電腦的區域網路位址,而不是 127.0.0.1。共享完成後及時關閉入口,避免在不受信任的網路中暴露代理連接埠。
桌面平台
macOS:晶片架構、系統代理與網路延伸功能
macOS 下載前需要先確認晶片架構。開啟左上角 Apple 選單中的「關於這台 Mac」,顯示 Apple 晶片時選擇 Apple Silicon 或 ARM 建置,顯示 Intel 處理器時選擇 x64 建置。可選客戶端包括 Clash Plus、Clash Verge Rev、FlClash,以及已封存的 ClashX Meta。新安裝優先使用仍在維護的客戶端,並從macOS 下載區取得與晶片一致的檔案。架構選錯時,應用程式可能無法開啟,或需要額外的轉譯層才能執行。
安裝應用程式與首次授權
常見安裝方式是開啟磁碟映像檔後,將應用程式拖入「應用程式」目錄,再從該目錄啟動。不要長期直接在磁碟映像檔中執行,因為應用程式更新、輔助元件與資料目錄可能無法依預期寫入。如果系統對首次開啟進行確認,應核對應用程式來源與下載路徑,再依系統提供的安全流程處理。涉及系統代理、網路延伸功能或 TUN 時,macOS 可能要求輸入管理員憑證,這是修改系統網路設定所需的授權。
啟動後先不要同時開啟系統代理與 TUN。進入設定頁面,透過訂閱 URL 匯入設定,等待策略組與規則載入完成,將其設為目前設定,然後選擇規則模式。若匯入後只有一個設定項目卻看不到策略組,可能是設定下載內容異常、訂閱轉換結果不相容,或目前仍選中了舊設定。此時應查看設定更新時間與客戶端日誌,不要只重複點選更新。
系統代理的作用範圍
macOS 系統代理會寫入目前網路服務的 HTTP、HTTPS 或 SOCKS 設定。瀏覽器與多數遵循系統網路框架的應用程式會讀取這些值,但終端機命令、部分開發工具與自帶網路堆疊的應用程式不一定會跟隨。開啟系統代理後,可在「系統設定 → 網路 → 目前網路 → 詳細資訊 → 代理伺服器」中查看對應項目是否指向本機連接埠。一般不需要手動修改這裡的值,客戶端關閉代理時應負責還原。
終端機工具有需要時,可以只為目前工作階段設定環境變數。連接埠以客戶端的實際混合連接埠為準,退出終端機後設定會自動失效:
export HTTP_PROXY="http://127.0.0.1:7890"
export HTTPS_PROXY="http://127.0.0.1:7890"
curl https://example.com
如果 Git、Homebrew 或其他工具曾儲存獨立代理位址,還應檢查其內部設定。舊位址的優先順序可能高於目前環境變數,形成「瀏覽器正常、終端機仍失敗」的現象。排錯時使用 env | grep -i proxy 查看目前環境,再檢查特定工具是否儲存了額外參數。
TUN、網路延伸功能與 DNS
對於不讀取系統代理的應用程式,可使用客戶端提供的 TUN 或網路延伸功能模式。首次啟用通常需要系統授權,部分客戶端會安裝輔助服務,以便在背景調整路由。授權完成後若開關立即恢復關閉狀態,應檢查系統設定中的網路延伸功能許可、客戶端日誌與輔助服務狀態。企業裝置可能受設定描述檔限制,一般使用者權限無法覆蓋組織政策,此時應遵循裝置管理要求,而不是反覆安裝。
macOS 同時執行多個 VPN、過濾器、內容檢查工具或虛擬網卡時,路由優先順序可能互相競爭。表現包括已建立連線卻沒有流量、特定網域解析到錯誤位址、區域網路裝置無法存取,或喚醒後斷網。處理順序是先關閉其他網路接管工具,只保留 Clash;重新啟動核心後檢查 DNS;確認單獨執行正常,再逐一恢復其他軟體。如此可以判斷衝突來自哪一層。
睡眠、切換網路與本機服務
Mac 從睡眠恢復,或在無線網路、有線網路與手機熱點之間切換時,本機 IP、預設路由與 DNS 都可能改變。發現連線停留在舊狀態時,先暫停再啟動核心,必要時關閉並重新開啟系統代理。執行本機開發服務時,localhost、127.0.0.1 與區域網路網段通常應直連;若自訂規則過早將這些位址交給代理,會導致本機頁面、資料庫或區域網路裝置無法連線。應將區域網路直連規則放在一般代理規則之前。
選單列圖示退出後所有網頁都無法使用,多半是系統代理沒有還原。重新啟動客戶端並關閉系統代理,或進入目前網路服務的代理設定,取消對應項目。若只有某個瀏覽器異常,則檢查瀏覽器擴充功能或瀏覽器自身的代理設定。系統層與應用程式層不要同時儲存不同的本機連接埠,否則更新連接埠後容易留下舊值。
行動平台
Android:應用程式安裝、VPN 權限與背景執行
Android 可選擇 Clash Plus、Clash Meta for Android、FlClash 與 Surfboard。安裝前從Android 下載區選擇客戶端。安裝套件可能依 ARM64、ARM 或通用架構區分,多數近年的手機和平板使用 ARM64;較舊裝置才可能需要其他架構。不確定時,可優先選擇下載頁提供的通用建置,或使用系統資訊工具確認 ABI。架構不相容通常會在安裝階段直接提示無法安裝,而不是訂閱或網路問題。
安裝與 VPN 授權
下載完成後依 Android 的安裝流程開啟檔案。系統可能要求為目前的瀏覽器或檔案管理器授予一次安裝權限,完成後可依個人安全習慣關閉該權限。首次啟動客戶端並開始連線時,Android 會顯示 VPN 連線要求。確認後,狀態列通常會出現 VPN 標誌。系統通常一次只允許一個 VPN 服務執行,因此其他 VPN、企業通道、防火牆或本機過濾應用程式可能被停止,或反過來阻止 Clash 建立連線。
行動裝置沒有桌面系統代理那樣的全域開關,客戶端通常透過 Android VPN API 建立虛擬介面。啟動按鈕顯示已連線,只代表介面建立成功;仍需確認目前設定、規則模式與策略組。進入設定頁面,透過 URL 建立新訂閱,更新後選擇該設定。若下載訂閱需要既有網路路徑才能存取,可先在可用網路環境完成首次匯入,再啟動代理。
分應用程式代理與繞過設定
Android 客戶端通常提供分應用程式代理,可選擇「僅代理選取的應用程式」或「繞過選取的應用程式」。兩種模式的含義相反,切換時應重新檢查清單。只代理瀏覽器適合測試,但可能導致瀏覽器呼叫外部應用程式時路徑不一致;繞過銀行、區域網路控制或對 VPN 敏感的應用程式時,應了解繞過後它們會直接使用目前網路。若系統啟用了「一律開啟 VPN」或「封鎖未使用 VPN 的連線」,繞過行為還會受到系統政策影響。
規則模式與分應用程式代理是兩層判斷。應用程式先決定是否進入 VPN,進入後才由 Clash 規則決定 DIRECT、PROXY 或 REJECT。將某個應用程式放入繞過清單後,修改 Clash 網域規則不會影響它。排查「規則為什麼沒有生效」時,先確認該應用程式流量是否進入客戶端連線紀錄,再檢查規則順序。
背景限制與耗電策略
部分 Android 系統會在鎖定螢幕、清理工作或省電模式下限制 VPN 客戶端。表現為剛啟動時可用,鎖定螢幕一段時間後連線消失,重新開啟應用程式又恢復。可以在系統的電池與背景管理中允許客戶端持續執行,並避免將其加入自動清理清單。不同廠牌的選單名稱不同,但目標一致:允許前景 VPN 服務保留、允許背景網路,不要在熄屏後強制結束程序。
訂閱自動更新也依賴背景網路。如果更新只在開啟應用程式時發生,應檢查客戶端更新間隔、背景資料權限與省電限制。更新失敗時,保留上一次成功的設定通常比刪除後重新匯入更穩妥;刪除唯一可用的設定後,可能失去用於重新取得訂閱的網路路徑。
DNS、IPv6 與熱點共享
Android 的私人 DNS、客戶端內建 DNS 與網路業者 DNS 可能同時參與解析。若只有部分網域失敗,可以暫時關閉私人 DNS 做對照,再檢查設定中的 enhanced-mode、上游解析器與 Fake-IP 排除項目。不要同時大幅修改 IPv6、私人 DNS、TUN 堆疊與規則,否則無法判斷是哪一項發揮作用。IPv6 網路下出現「有些應用程式正常、有些應用程式逾時」,應查看客戶端是否接管 IPv6,以及設定是否存在相應規則。
手機開啟熱點後,連線到熱點的裝置不一定會自動經過手機上的 VPN。是否共享取決於 Android 系統實作、客戶端能力與路由權限,不能僅憑手機本身存取正常,就判斷熱點裝置也會分流。需要穩定共享時,優先在每台裝置單獨安裝客戶端,或使用明確支援透明代理的閘道方案。區域網路存取失敗時,還要檢查規則是否讓私有位址區段維持直連。
行動平台
iOS:App Store 安裝、訂閱匯入與隨選連線
iPhone 與 iPad 可從iOS 下載區進入 Clash Plus 的 App Store 頁面,客戶端官網為 clashplus.io。安裝完成後,首次建立連線會要求加入 VPN 設定。系統確認後,客戶端才能建立網路延伸功能。iOS 通常一次只保留一個啟用中的 VPN,既有的企業 VPN、個人 VPN 或內容過濾工具可能會與其互相取代。
匯入訂閱與啟用設定
複製訂閱網址後,在客戶端的設定或訂閱頁面選擇從 URL 新增。貼上時注意不要把通訊應用程式中的刪節號、空格或換行一併帶入。儲存後執行更新,確認設定中出現策略組與規則,再設為目前設定。某些訂閱連結可以從 Safari 直接喚起客戶端,但手動貼上更方便核對完整網址。若跳轉後客戶端沒有新增設定,應返回應用程式內使用 URL 匯入,並查看是否收到格式錯誤或網路錯誤。
啟動連線後,可以先選擇規則模式。開啟 Safari 進行測試,同時查看客戶端的連線紀錄。如果網頁沒有經過預期策略,先查看網域命中了哪條規則,而不是反覆切換策略組。Clash 規則依設定順序由上而下判斷,第一條命中後即停止;後面的規則不會覆蓋已命中的結果。需要理解 DOMAIN、IP-CIDR、GEOSITE 與 MATCH 的差異時,可查閱Clash 自訂規則與比對順序。
隨選連線與系統網路切換
支援隨選連線的客戶端可以依網路狀態自動啟動 VPN,例如在行動網路或指定無線網路下連線。設定前應先手動連線並驗證設定穩定,再逐步增加條件。條件過寬可能導致在家庭區域網路中也持續接管,條件互相衝突則會出現頻繁連線與中斷。若希望某個可信任的無線網路不自動連線,應使用客戶端提供的網路例外,而不是依賴每次手動關閉。
從無線網路切換到行動網路時,iOS 會重建底層介面,既有連線短暫停頓屬於常見現象。長時間未恢復時,可以在客戶端停止後重新啟動,不必刪除 VPN 設定。飛航模式、低數據模式與系統層級的網路限制也會影響背景連線。判斷問題時先確認一般網路本身可用,再啟動客戶端,避免將電信商或無線網路故障誤認為訂閱問題。
DNS 與區域網路存取
iOS 上的 DNS 請求可由網路延伸功能接管,具體行為取決於客戶端實作與設定。Fake-IP 模式會先回傳保留位址,再在連線階段依映射還原網域名稱,方便規則比對;如果某些區域網路裝置、印表機、投放服務或特殊應用程式依賴真實位址解析,可能需要加入 Fake-IP 排除清單,或為區域網路網域設定直連解析。修改前先記錄原始設定,並只針對明確異常的網域新增例外。
存取家用路由器、網路儲存裝置或投放裝置時,應確保私有位址區段與本地域名維持直連。常見私有網段包括 10.0.0.0/8、172.16.0.0/12 與 192.168.0.0/16。如果設定中較早的一般規則將這些位址交給代理,本地裝置會表現為逾時。調整規則後重新建立連線,讓 DNS 映射與既有工作階段一併重新整理。
背景行為與系統限制
iOS 會統一管理背景工作,關閉客戶端介面不等於停止已建立的 VPN 網路延伸功能。是否仍在執行,應以系統狀態列、控制中心與客戶端連線狀態為準。反過來,從 App 切換器滑掉介面後,系統可能仍保留網路延伸功能;需要停止時,應在客戶端內關閉,或在系統 VPN 設定中中斷連線。如此可以避免誤判「應用程式已關閉但網路仍經過代理」。
如果連線開關剛開啟就自動關閉,常見原因包括 VPN 授權尚未完成、另一個網路延伸功能搶占、設定無法啟動核心,或系統網路暫時不可用。依序檢查授權、其他 VPN、目前設定與日誌。不要先刪除所有設定,因為日誌中的啟動錯誤通常能直接指出 DNS、規則或設定格式問題。更完整的 iOS 操作路徑也可參考iPhone 上的訂閱匯入步驟。
桌面與伺服器
Linux:圖形客戶端、mihomo 核心與服務管理
Linux 桌面可選擇 Clash Verge Rev 或 FlClash;伺服器、路由器與無桌面環境則更適合直接執行 mihomo 核心。圖形客戶端可從Linux 下載區取得發行版支援的安裝套件。選擇前確認 CPU 架構與套件格式:Debian、Ubuntu 及其衍生系統通常使用 deb,其他發行版可能使用不同的套件管理方式。核心壓縮檔還會區分 AMD64、ARM64、ARMv7 與 MIPS 等架構,架構錯誤會直接導致可執行檔無法執行。
桌面客戶端安裝
安裝 deb 套件時,可以使用系統軟體中心,也可以在終端機執行套件管理命令。檔名以實際下載結果為準:
sudo apt install ./clash-client-amd64.deb
安裝完成後從應用程式選單啟動,匯入訂閱並選擇規則模式。Linux 桌面環境對系統代理的處理並不完全一致:GNOME、KDE、瀏覽器、終端機工具與沙盒應用程式可能讀取不同設定。客戶端顯示「系統代理已開啟」後,應在桌面網路設定中確認值是否寫入,並分別驗證瀏覽器與命令列。Flatpak、容器或遠端開發環境還可能擁有獨立的網路命名空間,不會自動繼承主機代理。
直接執行 mihomo
在無圖形介面的環境下,先為 mihomo 建立獨立目錄,放置可執行檔與 config.yaml。授予執行權限後,透過 -d 指定工作目錄。以下路徑只是清楚的目錄範例,可依實際系統調整:
sudo mkdir -p /etc/mihomo
sudo cp mihomo /usr/local/bin/mihomo
sudo chmod +x /usr/local/bin/mihomo
sudo cp config.yaml /etc/mihomo/config.yaml
mihomo -d /etc/mihomo
前景啟動適合首次驗證,因為設定解析錯誤會直接輸出到終端機。確認設定可以載入、連接埠可以監聽、規則與 DNS 正常後,再交由服務管理器處理。不要一開始就放到背景執行,否則啟動失敗時只能從日誌間接判斷。設定中引用的規則集、Geo 資料檔案與相對路徑,都以工作目錄為基準,應確保執行使用者擁有讀取權限。
使用 systemd 管理服務
需要長期執行時,可以建立 systemd 服務。服務帳戶應擁有讀取設定與寫入快取的權限;若啟用 TUN,還需要相應的網路能力。最小服務範例如下:
[Unit]
Description=mihomo service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
儲存為系統服務檔案後,重新載入設定並啟動。使用 systemctl status 查看狀態,以 journalctl 查看日誌。更新核心時先停止服務,替換檔案後再啟動,避免正在執行的程序與磁碟檔案狀態不一致。更新訂閱也應先產生完整設定並完成語法檢查,再替換目前檔案,防止下載到錯誤頁面或不完整內容後導致服務退出。
代理環境變數與服務作用域
桌面系統代理不會自動套用到所有 Shell、SSH 工作階段、Docker 建置或 systemd 服務。臨時命令可以使用環境變數:
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export all_proxy="socks5h://127.0.0.1:7890"
socks5h 表示將網域解析交給 SOCKS 端處理,能減少本機解析與代理規則不一致的問題。長期設定前應明確作用域:寫入 Shell 設定只會影響對應使用者工作階段;寫入 systemd 服務環境只會影響該服務;為 Docker 精靈設定則會影響映像檔擷取。排錯時檢查變數是否仍指向舊連接埠,並注意大小寫變數可能同時存在。
TUN、權限與防火牆
Linux TUN 涉及虛擬介面、策略路由、DNS 與防火牆。直接以高權限執行雖然簡單,但長期部署更適合授予必要能力並限制服務帳戶。若 TUN 介面建立失敗,請檢查核心是否提供 TUN 裝置、容器是否放行對應裝置,以及服務是否具備網路管理能力。若介面存在卻沒有流量,請檢查路由表、策略規則與防火牆轉送鏈。
在伺服器上將 mixed-port 開放給其他裝置時,不應預設監聽所有公網介面。優先繫結受控的區域網路位址,並使用防火牆限制來源。控制介面同樣需要保護,不能直接暴露在不受信任的網路中。一般桌面單機使用時維持迴路監聽最省事;只有明確需要區域網路共享時才開啟 allow-lan,並驗證存取範圍。
問題定位
常見設定問題:從網路入口到規則結果逐層排查
Clash 無法上網時,最有效的方法不是同時更換客戶端、訂閱、DNS 與模式,而是沿著資料路徑逐層確認。完整路徑可以概括為:裝置基礎網路 → 客戶端核心 → 目前設定 → 系統代理或 TUN → DNS → 規則 → 策略組 → 代理入口 → 目標服務。每次只驗證一層,結論才可重現。更多簡短問題可以在疑難排解中依分類查詢,本章重點提供適用於各平台的系統化排錯順序。
第一步:確認關閉 Clash 後基本網路可用
先關閉系統代理、TUN 或行動裝置 VPN,使用目前的無線網路、網路線或行動網路直接存取一般網站。如果直連本身不可用,應先修復路由器、電信商網路、登入驗證或系統網路設定。公共無線網路通常要求先完成網頁驗證,TUN 提前接管可能讓驗證頁面無法彈出。完成驗證後再啟動客戶端。
如果關閉客戶端後仍無法上網,請檢查系統代理是否殘留。桌面端可能仍指向 127.0.0.1 的本機連接埠,但客戶端已退出,所有讀取系統代理的應用程式都會連線失敗。重新開啟客戶端並正確關閉系統代理,或在作業系統網路設定中取消代理。行動裝置則檢查系統 VPN 狀態,確認沒有另一個網路延伸功能仍處於連線中。
第二步:確認核心與設定已啟動
客戶端視窗可以開啟,不代表核心一定正在執行。查看狀態頁是否顯示執行中,並確認日誌中是否出現設定載入、監聽連接埠或啟動錯誤。常見失敗包括連接埠被占用、設定語法不合法、規則集檔案遺失、資料目錄沒有權限、TUN 權限不足。若日誌提示位址已被使用,先退出其他代理客戶端,或找出占用相同連接埠的程序。不要隨意將連接埠改成多個不同值,卻忘記同步系統代理。
確認目前設定是剛匯入的目標設定,而不是客戶端內建範例或舊檔案。訂閱項目存在但未被選取時,核心仍會載入之前的設定。更新訂閱後若啟動失敗,切回上一次成功的設定可以判斷是否由新內容引起。YAML 對縮排敏感,手動編輯時使用空格並保持層級一致,避免使用定位字元與錯誤的冒號結構。
第三步:區分接管失敗與代理入口失敗
開啟系統代理後,觀察連線紀錄中是否出現瀏覽器請求。完全沒有紀錄,表示流量沒有進入客戶端,應檢查系統代理是否寫入、應用程式是否讀取代理,以及監聽連接埠是否一致。若連線紀錄出現請求但持續逾時,則繼續查看命中的規則、策略組與代理入口。TUN 模式下沒有紀錄,優先檢查虛擬介面、路由與權限;行動裝置則檢查 VPN 授權與分應用程式代理清單。
同一台裝置可以用兩種方式進行對照:先關閉 TUN,只開啟系統代理測試瀏覽器;再關閉系統代理,只開啟 TUN 測試同一個目標。如果系統代理可用而 TUN 不可用,訂閱與大部分規則通常沒有問題,應集中排查 TUN 權限、路由與 DNS。反過來,如果 TUN 可用但系統代理無效,應檢查系統設定、應用程式代理行為與本機連接埠。
第四步:檢查 DNS 與規則命中
只有網域存取失敗,而已知位址或客戶端內建連線測試可以正常運作時,應檢查 DNS。日誌中的解析逾時可能來自上游無法連線、引導解析失敗、連接埠衝突,或 DNS 請求沒有被接管。暫時切換到原始訂閱的 DNS 設定,可以驗證是否由自訂項目造成。不要同時修改多個解析器、Fake-IP、私人 DNS 與系統加密 DNS。
若連線紀錄顯示請求走了 DIRECT,而預期是 PROXY,請查看命中的具體規則。某條較寬泛的 DOMAIN-SUFFIX、GEOSITE 或地區規則可能提前命中。若顯示 REJECT,則檢查廣告規則集是否誤收目標網域。若落到 MATCH,表示前面沒有更具體的規則。調整規則後重新發起連線,既有的長連線不會自動改用新策略。
第五步:判斷訂閱與代理入口狀態
設定可以載入,但所有代理請求都失敗時,先執行一次訂閱更新並查看回傳錯誤。HTTP 狀態異常、空內容或格式錯誤,表示訂閱取得階段有問題。更新成功後選擇不同的策略組選項進行對照,但不要將客戶端探測結果等同於實際速度。某個測試網址可能受到目標網路限制,也可能與日常網站使用不同鏈路。
如果只有單一目標服務失敗,請檢查網域規則、協定支援與目標服務本身的狀態。若所有目標都在建立連線階段逾時,才更可能是代理入口或目前網路遭到阻斷。日誌中的 timeout、connection refused 與 DNS 錯誤含義不同,不能一概歸為「節點失效」。可結合常見日誌欄位說明逐項判斷。
高頻現象對照
| 現象 | 可能位置 | 處理順序 |
|---|---|---|
| 客戶端退出後瀏覽器全部失敗 | 系統代理殘留 | 還原系統代理,再檢查客戶端退出設定 |
| 瀏覽器可用,遊戲或終端機不可用 | 應用程式未讀取系統代理 | 設定應用程式代理,或確認沒有衝突後啟用 TUN |
| 啟動 TUN 後區域網路裝置消失 | 私有網段路由或 DNS | 檢查區域網路直連規則、自動路由與 Fake-IP 過濾 |
| 鎖定螢幕後 Android 連線中斷 | 背景與電池限制 | 允許背景執行,關閉針對客戶端的自動清理 |
| iOS 開關立即恢復關閉狀態 | VPN 授權、設定或延伸功能衝突 | 檢查系統授權、其他 VPN 與啟動日誌 |
| Linux 服務反覆重新啟動 | 設定解析、權限或路徑 | 以前景方式啟動,修正第一個明確錯誤 |
收集足夠但不過量的資訊
向服務提供者或社群描述問題時,應說明作業系統、客戶端名稱、接管方式、代理模式、問題開始時間、是否所有目標都失敗,以及日誌中的第一個相關錯誤。不要只寫「不能用」,也不要直接貼上完整設定。訂閱網址、驗證欄位與代理資訊都應遮擋。若問題可以穩定重現,請寫出最短步驟,例如「關閉 TUN 時瀏覽器正常,開啟 TUN 後所有連線紀錄都是空白」,這比一大段無關日誌更容易定位。
日誌等級維持 info 通常已足夠。只有需要追蹤複雜規則或 DNS 流程時,才暫時提高詳細程度,完成後恢復原設定,避免日誌快速增長。確認問題解決後,再逐項恢復自訂 DNS、規則覆寫、開機啟動與其他網路工具。每恢復一項都進行一次連線驗證,最後得到一套可解釋、可回復的設定。
何時重設,何時重裝
設定損壞、客戶端資料目錄無法寫入或升級後設定結構異常時,可以先匯出必要設定,再使用客戶端提供的重設功能。重裝程式不一定會清除資料目錄,因此「重裝後問題完全一樣」並不意外。反過來,直接刪除資料目錄會遺失訂閱、覆寫與策略選擇,應先保留復原材料。只有在確認程式檔案、輔助服務或系統元件安裝異常時,重裝才是合理步驟。
完成排錯後,建議記錄最終原因,例如「舊客戶端占用混合連接埠」、「Android 背景限制結束 VPN」、「MATCH 前存在過於寬泛的直連規則」。這類記錄比儲存大量臨時設定更有價值。之後更換平台時,先沿用本手冊的共同邏輯建立最小可用設定,再加入平台特有功能,可以大幅減少重複排查。