通用準備事項
用戶端、核心與連線設定
Clash 生態系可分為三個層次:用戶端負責介面、設定管理與系統整合;核心負責通訊協定連線、規則判斷與 DNS;訂閱或本機設定則提供伺服器、策略群組及規則。完成安裝只代表程式可以執行,不表示已有可用的連線節點。本文的桌面設定範例以 mihomo 為對象;其他實作請依自身支援的欄位設定,不要只因名稱相近就直接套用。
選擇用戶端可先從 Clash Plus 開始,再依作業系統和使用習慣比較其他選項。Windows、macOS、Android 與 iOS 都有對應版本;Linux 可選 Clash Verge Rev 或 FlClash。不同介面可能將同一功能稱為設定、訂閱或設定檔,判斷時應看實際用途:儲存遠端網址的是設定來源,選擇連線出口的是策略群組,決定哪些應用程式流量進入代理的則是流量接管設定。
確認架構與設定來源
先在系統資訊中確認作業系統、處理器架構和可用儲存空間。Intel、AMD 桌上型處理器通常使用 x64 或 AMD64 安裝檔,Apple Silicon 使用 ARM64 安裝檔;Windows ARM 裝置也應另外確認。副檔名只能表示發佈格式,無法判斷架構。程式無法執行時,先確認安裝檔是否符合系統,不要立刻調整網路參數。
準備可信任服務提供的 Clash 相容訂閱網址,或已驗證過的 YAML 檔案。訂閱連結可能包含帳戶識別資訊,分享記錄、截圖或設定前,應移除查詢參數及伺服器憑證。瀏覽器能開啟連結,不代表用戶端一定能匯入:回傳內容可能是登入頁、流量提示頁或其他格式。應以用戶端的解析結果及設定中的實際欄位為準。
| 項目 | 需確認的內容 | 常見誤解 |
|---|---|---|
| 系統架構 | x64、ARM64 或用戶端支援的其他架構 | 只看安裝檔名稱選擇版本 |
| 設定來源 | 相容格式、存取權限、有效帳戶 | 把網頁網址當成訂閱網址 |
| 接管方式 | 系統代理或虛擬網路介面 | 以為啟用核心就會接管所有應用程式 |
| 還原方式 | 原有代理、DNS 與其他 VPN 設定 | 發生問題後一次重設所有網路設定 |
先建立可判讀的連線基準
第一次測試時,先關閉其他代理用戶端,暫時中斷不必要的 VPN,並記錄原有系統代理和 DNS 設定。匯入設定後先選擇規則模式,再手動指定一條已知可用的線路。使用同一個瀏覽器造訪一個原本可直接連線的網站,以及一個需要代理的網站,同時查看連線記錄。用這兩個測試分別驗證直連與代理路徑,比只看延遲數字更容易判斷問題。
系統代理會提供連線入口給遵循作業系統代理設定的應用程式,通常適合瀏覽器等桌面軟體。TUN 則透過虛擬介面和路由接收更多 IP 流量,可能需要管理員權限,也可能涉及 DNS 劫持或與其他 VPN 衝突。兩者都不會更換線路,也無法修復失效的服務端。先確認代理出口正常,再擴大流量接管範圍,避免把出口問題誤判成虛擬網卡問題。
以下是用於本機診斷的最小設定,不含代理節點,只讓支援的連線直接連線。這份設定適合檢查 YAML 能否載入、監聽連接埠能否建立,不適合測試海外代理是否連通。實際使用時應載入服務提供的設定,並確認連接埠是否已被用戶端覆寫。如果目前設定已有同名頂層欄位,請修改原欄位,不要直接在檔案末尾重複新增。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
rules:
- MATCH,DIRECT
備份內容也應包含接管方式和權限狀態,而不只是節點清單。完成本章準備後,只需前往目前使用的平台章節,不必執行五個平台的所有指令。若想先了解核心、策略群組、fake-ip 等名稱,可查閱術語表,再逐項對照介面中的相關選項。
Windows 安裝設定
選擇安裝檔並完成首次啟動
從Windows 下載頁選擇 Clash Plus;若需要其他介面,再依序比較 Clash Verge Rev、FlClash 和 Clash Nyanpasu。Clash for Windows 已停止維護,適合留作舊環境備查,不建議作為新裝置的預設選擇。切換用戶端時,請先關閉舊程式,避免多個程序同時修改系統代理或占用本機監聽連接埠。
在設定中的系統資訊頁面確認系統類型,區分 x64 與 ARM 裝置。安裝時請保留容易辨識的安裝路徑,啟動後確認主視窗和系統匣入口都能正常使用。遇到系統安全提示時,應確認下載來源及發佈資訊,並依系統提供的具體說明處理;不要為了啟動程式而全面關閉安全防護。企業管理的裝置也可能限制安裝或服務註冊,請遵循裝置管理規範。
首次開啟時,先查看核心執行狀態與設定清單。部分用戶端在啟動畫面後,還需要選擇設定,核心才會進入可用狀態。若視窗能正常顯示,但記錄持續提示連接埠被占用,先關閉其他代理程式,再檢查背景是否還有舊程序。重複安裝通常無法解決連接埠衝突,因為衝突來源可能是另一個常駐服務。
匯入訂閱並確認策略群組
前往設定或訂閱管理頁面,選擇新增遠端設定,輸入名稱和訂閱網址後儲存。等待取得並解析完成後,請手動選取這份設定;新增成功不代表用戶端一定會自動切換。查看代理頁面是否出現節點和策略群組,再進入規則實際引用的群組選擇線路。如果只看到 DIRECT 等內建策略,請回到設定記錄檢查訂閱內容,不要繼續開啟系統代理。
遠端更新失敗時,先分辨是下載失敗還是解析失敗。前者通常與網址失效、驗證或存取路徑有關;後者常見原因包括收到網頁內容、縮排錯誤或核心不支援相關欄位。保留上一份可用設定,不要立刻刪除重建。如果用戶端提供透過代理更新的選項,只有在現有代理已可用時才嘗試;否則會陷入必須先連線才能下載連線設定的循環。
系統代理、TUN 與權限
先啟用系統代理,再用瀏覽器測試規則模式。系統代理位址應指向本機實際監聽的連接埠,本文範例中的 7890 並非所有用戶端的固定值。Windows 手動代理和自動設定指令碼是不同入口,殘留的舊指令碼可能覆蓋預期設定。關閉用戶端的代理開關後,也要確認系統設定已還原,尤其是在程式異常結束之後。
需要接管不遵循系統代理設定的應用程式時,再確認用戶端是否支援 TUN。通常需要安裝服務,或以經授權的提升權限啟動相關元件;安裝服務和每次都以管理員權限執行介面並不是同一回事。優先使用用戶端內建的服務管理功能,並依提示重新啟動核心。啟用後請檢查虛擬介面、預設路由和 DNS 記錄,不要只看開關顏色就判定接管成功。
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
這段設定僅展示 mihomo 的 TUN 參數,不能取代完整訂閱。用戶端可能會管理這些欄位,手動編輯檔案前請先確認介面是否會覆寫。auto-route 負責新增路由,auto-detect-interface 用於識別出口介面,dns-hijack 則將符合條件的 DNS 流量交由核心處理。若啟用後反而無法上網,先關閉 TUN 還原基準,再逐項檢查路由與 DNS。
Windows 特有問題與關閉順序
瀏覽器正常但命令列失敗,常見原因是命令列工具沒有讀取系統代理設定。可針對單次請求明確指定代理,以區分應用程式支援問題和節點故障。以下指令使用 Windows 內建的 curl 執行檔,連接埠必須替換成目前實際監聽的連接埠;測試網址本身不代表代理出口一定正常,還要配合記錄確認請求命中的策略。
curl.exe --proxy http://127.0.0.1:7890 --head https://example.com
從睡眠喚醒、切換 Wi-Fi 或有線網路後,出口介面可能會改變。如果系統代理模式正常但 TUN 異常,先重新啟動核心,讓它重新識別介面,再檢查其他 VPN、虛擬機器網路和防火牆規則。關閉程式時,依序停用流量接管、確認系統代理已還原,再結束程式。不要直接刪除虛擬網卡或批次重設網路;這些操作會擴大影響,也會失去原本可供排查的狀態。
macOS 安裝設定
確認晶片架構與安裝方式
在蘋果選單的「關於這台 Mac」查看晶片資訊。Apple Silicon 使用 ARM 安裝檔,Intel 機型則使用 x64 安裝檔。優先從macOS 下載頁選擇 Clash Plus,其他選項包括 Clash Verge Rev 和 FlClash。ClashX Meta 已停止維護;若要保留舊設定,可用來查閱,但不要因此假設其核心支援目前所有設定欄位。
若下載的是磁碟映像檔,開啟後依發佈說明將應用程式移至「應用程式」資料夾,再從該資料夾啟動。不要長期直接從映像磁碟執行,否則更新、輔助元件定位或重新啟動後的路徑可能不同。首次啟動遇到安全限制時,請在系統「隱私權與安全性」設定中閱讀相關提示並確認來源。不要使用來路不明的終端機指令,大量移除系統安全限制。
部分桌面用戶端會常駐於選單列,關閉視窗不代表核心已結束。開始設定前,請查看選單列與「活動監視器」,確認沒有另一套代理在背景執行。若介面未顯示設定,先確認目前使用者是否有權存取資料目錄;不要混淆應用程式目錄與設定目錄。更換裝置時,應從用戶端匯出設定或備份指定目錄,而非只複製應用程式本身。
匯入訂閱與保存設定
在設定管理中新增遠端網址,儲存後等待完整取得,再將其設為目前使用的設定。確認節點清單與策略群組已出現,並選擇目標線路。macOS 用戶端的選單列快速選項通常只切換策略,不會更換設定來源;節點沒有變化時,應先確認目前設定名稱,而不是反覆點選同一個代理群組。訂閱名稱建議能區分用途,避免因名稱相同而選錯。
本機 YAML 的相對路徑通常以用戶端設定目錄為基準,不一定是下載目錄。設定引用規則集、憑證或其他檔案時,應確認核心實際上能讀取這些檔案。遠端訂閱則應保留更新機制,自訂欄位透過用戶端支援的覆寫功能管理。每次更新後都要查看最終設定中的規則順序,避免本機補充規則排在 MATCH 之後而永遠無法命中。
網路服務代理與輔助元件
先啟用系統代理,再用瀏覽器測試連線。macOS 的代理設定與網路服務相關,Wi-Fi、有線網卡和其他網路服務可能各自儲存設定。切換連線方式後若突然失效,請確認目前使用中的服務是否仍指向正確的本機位址和連接埠。關閉用戶端後網路仍異常,也應先檢查該服務的代理設定,不要直接修改 DNS。
可使用以下唯讀指令查看目前系統代理摘要,重點確認啟用狀態、主機和連接埠。指令不會修改設定,也不會顯示各應用程式自己的代理行為。如果摘要與用戶端介面不一致,先試著關閉再重新啟用系統代理,並檢查是否有其他網路工具持續寫入設定。組織管理的設定描述檔也可能鎖定這些選項。
scutil --proxy
TUN 通常需要用戶端的特權輔助元件處理虛擬介面和路由操作。安裝輔助元件時,請閱讀系統授權提示,確認要求來自目前使用的用戶端。若授權失敗,先查看應用程式記錄中的具體服務錯誤,不要反覆輸入密碼。學校或工作裝置可能限制網路擴充功能及系統服務安裝,此時應使用允許的流量接管方式,而不是試圖繞過管理政策。
喚醒、區域網路與應用程式差異
從睡眠狀態恢復後,先確認目前網路是否需要重新驗證,以及核心識別的出口是否改變。只有 TUN 失效時,可先重新啟動核心,不必重新匯入訂閱。若印表機、網路儲存裝置或區域網路服務異常,請檢查這些連線是否進入代理,以及命中的規則為何;依目前使用的網路新增精確的直連規則,不要未經判斷就將所有私人位址範圍交由遠端出口處理。
終端機程式是否使用代理,取決於程式本身和環境變數,而非選單列圖示。可用明確指定代理參數的方式進行單次對照測試,再決定是否設定終端機環境。停止使用時,先關閉 TUN 與系統代理,再結束用戶端,並檢查網路服務設定是否已還原。解除安裝前,也應透過用戶端提供的入口移除不再需要的輔助服務,避免只刪除應用程式卻留下仍在執行的元件。
Android 安裝設定
安裝來源、架構與升級
從Android 下載頁選擇 Clash Plus,也可依序比較 Clash Meta for Android、FlClash 與 Surfboard。各應用程式支援的設定格式和進階欄位不盡相同,尤其不能假設所有軟體都能直接使用完整的 mihomo YAML。先依現有訂閱格式選擇相容的應用程式,再考慮介面習慣,能減少後續轉換與排錯。
近期多數手機使用 ARM64,但舊裝置、模擬器及特殊系統可能不同。不確定時,請查閱裝置規格或下載頁提供的相容資訊。安裝應用程式套件時,只授予實際使用的瀏覽器或檔案管理員必要的安裝權限,完成後即可收回。若提示與已安裝的應用程式衝突,請確認套件名稱、簽章和來源;不要急著解除安裝舊應用程式,以免先遺失設定和本機規則。
升級前記下訂閱網址、策略群組選擇及個別應用程式設定。是否能覆蓋升級並保留資料,取決於應用程式識別碼和簽章是否一致,不應只憑圖示或顯示名稱判斷。不同用戶端通常無法完整移轉應用程式內部設定;即使匯入相同訂閱,也需要重新檢查 VPN 授權、應用程式排除項目和背景執行權限。匯入前先保留舊用戶端可正常運作的狀態。
匯入設定與系統 VPN 授權
前往設定管理頁面新增訂閱網址,等待下載完成後選取設定,再開啟代理或策略頁面確認線路。若回傳內容無法解析,先查看用戶端支援的格式,並聯絡設定提供者確認相容方式。不要將含有帳戶資訊的網址提交給不明的轉換網站。匯入離線檔案適合排查下載路徑,但之後不會自動同步遠端訂閱的變更,請事先確認維護方式。
點選連線後,Android 通常會跳出建立 VPN 連線的系統確認畫面。此授權會允許應用程式建立本機虛擬介面,不代表手機已連線至傳統 VPN 服務商;實際出口仍由設定中的策略決定。狀態列出現 VPN 圖示只表示介面已建立,還應開啟網頁並查看連線記錄,確認目標應用程式確實使用所選線路。
Android 通常只允許一個一般 VPN 服務處於啟用狀態,其他 VPN 類工具可能會取代目前的用戶端。本機防火牆、流量過濾器或某些加速工具也可能使用相同機制。若連線後立刻中斷,先檢查這些應用程式及系統的「永遠開啟 VPN」設定,再考慮更換節點。桌面系統代理的操作步驟不能直接套用到手機,兩者的流量接管入口不同。
個別應用程式代理與背景執行
個別應用程式功能通常有「只代理選取的應用程式」和「排除選取的應用程式」兩種模式,兩者意思相反。設定前先看清楚目前模式,再用一款應用程式進行測試。被排除的應用程式可能完全繞過核心,因此記錄中看不到連線是正常結果,不代表規則未載入。修改應用程式清單後可能需要重新建立 VPN 介面,依用戶端提示中斷後再連線即可。
若螢幕亮起時正常,鎖定後卻中斷,請優先檢查電池最佳化、背景活動限制及廠商的自動啟動管理。只為目前使用的用戶端開啟必要權限,並觀察問題是否解決,不必一次放寬所有應用程式的限制。部分系統在省電模式、長時間待機或記憶體不足時仍可能停止服務;應將中斷時間與系統狀態對照,不要每次都歸因於線路波動。
行動網路、DNS 與熱點限制
從 Wi-Fi 切換至行動數據後,底層網路位址和路由可能改變,現有連線也可能中斷。先稍候重新連線,再確認用戶端是否重新識別網路。只有某個網路無法使用時,應分別檢查網路驗證、DNS 是否可連線,以及代理伺服器是否可連線。在機場、飯店等需要瀏覽器登入認證的網路上,可能必須先完成認證再建立代理,否則所有節點看起來都會無法使用。
系統私人 DNS、應用程式內建的安全 DNS 和用戶端 DNS 可能同時存在,不能只改一個開關就認定解析路徑已統一。應搭配用戶端記錄與測試結果,確認網域由哪一方解析。不要把檢測頁面顯示的解析地區直接視為外洩證據;代理伺服器所在網路、遞迴解析器出口和測試頁的判定方式都可能影響結果。
長時間使用前,請完成三項驗證:鎖定螢幕後能否恢復連線、切換網路後是否需要手動重新連線,以及排除的應用程式是否如預期直接連線。保留一份一般規則模式設定作為基準。遇到問題時先關閉個別應用程式等額外選項,再逐步恢復,才能判斷故障來自基本連線、系統背景限制,還是應用程式選擇規則。
iOS 安裝設定
App Store 安裝與功能範圍
iPhone 與 iPad 優先選用 Clash Plus,可從App Store 的 Clash Plus 頁面安裝,並透過官方網站 clashplus.io確認產品說明。下載入口也集中列於iOS 平台頁面。安裝前請閱讀 App Store 中的系統相容需求,並以裝置實際顯示的資訊為準,不要只憑用戶端名稱推測支援範圍。
iOS 應用程式受到系統網路延伸功能機制和沙盒限制,操作方式與桌面用戶端不同。本文以設定、策略、連線等功能名稱說明流程,實際按鈕名稱請以目前介面為準。桌面設定包含某個 mihomo 欄位,不代表手機應用程式也能解讀相同欄位;應以匯入結果、應用程式說明和實際連線狀況為判斷依據。尤其不要直接貼上桌面 TUN 區段,代替手機的連線設定。
匯入、選用與更新訂閱
準備好應用程式支援的訂閱網址,在設定管理入口選擇從連結新增,輸入方便辨識的名稱後儲存。取得完成後選取該設定,並確認預期的策略群組和線路已出現。若應用程式支援從檔案匯入,也要確認檔案編碼與格式完整,避免從通訊軟體複製時遺失換行。含有帳戶資訊的連結不要儲存在公開筆記或傳到群組聊天。
匯入成功不代表目前使用的設定已生效。新增設定後,應確認目前選取的項目,再檢查策略群組是否指向可用線路。只有節點清單的訂閱可能還需要應用程式支援的規則或設定範本;若出現缺少規則的提示,應依應用程式說明處理,不要直接拼接另一個用戶端的整份檔案。重複匯入無法修復不相容欄位,還會增加辨認同名設定的難度。
更新訂閱時,先保留上一份可用設定,確認取得成功後再檢查節點或策略是否變動。若必須在連線狀態下才能更新,請確認應用程式的更新請求會經過哪條路徑;若現有線路完全無法使用,就需要先在可連線的網路上取得設定。手動修改可能在下次更新時被覆蓋,長期自訂內容應使用應用程式明確支援的保存方式,並在更新後再次檢查。
連線授權與流量接管範圍
首次連線時,系統可能會要求允許新增 VPN 設定,並透過裝置驗證確認。允許後回到應用程式啟動連線,並查看系統狀態和應用程式記錄。VPN 圖示表示網路延伸功能正在運作,不代表節點已連線,也不代表每個應用程式的流量都以相同方式處理。應使用明確的測試網站驗證直連和代理,再確認策略選擇,不要只看開關狀態就判定成功。
iOS 沒有與桌面完全相同的全域 HTTP 系統代理開關。Wi-Fi 詳細資訊中的 HTTP 代理是特定無線網路的設定;應用程式中的隧道連線則由網路延伸功能處理,兩者不能混為一談。一般使用應用程式提供的連線流程即可;若同時保留手動 Wi-Fi 代理,請記錄其用途,並檢查是否造成重複代理,或在退出應用程式後仍影響連線。
裝置上的其他 VPN、網路過濾器或受管理網路設定,可能與目前連線衝突。若點選連線後立刻變成中斷,先查看系統是否啟用了另一份設定,再閱讀應用程式提供的失敗原因。工作或學校裝置應遵循管理政策使用網路,不要刪除來源不明的設定描述檔來試錯。只有明確知道設定來源和用途時,才調整其狀態。
網路切換、解析與還原
切換 Wi-Fi 與行動數據時,現有連線可能需要重新建立。先確認應用程式具備行動數據使用權限,再比較同一條線路在兩種網路下的表現。只有 Wi-Fi 失敗時,檢查是否需要網頁認證;只有行動數據失敗時,檢查網路權限及伺服器網址是否可連線。不要在同一次測試中同時更換線路、模式和 DNS,否則即使恢復正常,也無法判斷是哪項調整發揮作用。
解讀網頁顯示的出口資訊時,必須考量請求路徑。符合支援條件時,iCloud 私密轉送可能影響部分 Safari 流量;應用程式本身的解析和連線策略也會影響觀察結果。排錯時記錄這些功能原本的狀態,在允許的範圍內一次只改一個條件進行對照,再還原原設定。單一瀏覽器的測試結果不能代表裝置上的所有應用程式,更不能據此判斷所有 DNS 請求的路徑。
鎖定螢幕後中斷時,應分辨是網路本身變動、線路逾時,還是網路延伸功能重新啟動。先確認重新開啟應用程式後是否自動恢復,再查看記錄中的時間點,不要將強制結束應用程式當成日常維持背景執行的方法。要還原一般連線時,先在應用程式內中斷連線,再檢查系統 VPN 狀態和 Wi-Fi 代理。需要移除舊設定時,請在系統設定中確認名稱和來源,避免誤刪其他業務所需的網路設定。
Linux 安裝設定
圖形介面用戶端與獨立核心
Linux 桌面使用者可先從下載頁選擇 Clash Verge Rev,也可使用 FlClash。先確認發行版的套件管理系統、處理器架構和桌面環境,再選擇相應的安裝方式。獨立 mihomo 核心較適合伺服器、路由器或需要自行管理服務的使用者;它不提供完整的桌面設定介面,安裝後仍需準備設定、程序管理和記錄檢視方式。
DEB 與 RPM 不是通用壓縮檔,不能在不相容的發行版之間直接互換。圖形應用程式也依賴桌面環境和執行程式庫;安裝失敗時,應查看套件管理工具回報的相依性問題,不要直接修改檔案權限。透過系統套件管理工具安裝本機套件,可保留相依性和解除安裝記錄。不要為了避開相依性錯誤,就以 root 身分執行整個桌面應用程式。
以下示範常見的本機套件安裝指令,檔名僅供操作參考,並非實際下載網址。執行前請將路徑替換成已下載且符合目前系統的檔案。安裝完成後,從應用程式選單啟動,確認系統匣顯示正常、能讀取設定並啟動核心;視窗成功開啟只代表圖形介面正常,不表示代理監聽和網路權限已可使用。
sudo apt install ./client.deb
sudo dnf install ./client.rpm
匯入訂閱與桌面代理差異
圖形介面用戶端的訂閱流程與其他桌面平台相似:新增遠端設定、等待解析、選取設定,再到策略群組指定線路。Linux 桌面環境儲存及讀取系統代理的方式各不相同,有些應用程式只讀取環境變數,另一些則讀取桌面設定或自身設定。啟用系統代理後瀏覽器正常、終端機失敗,不能直接判定核心出錯;應先確認終端機工具實際使用哪個代理入口。
命令列測試時,可先針對單一請求指定本機代理,不必立刻修改整個工作階段的環境變數。以下分別測試 HTTP 入口與 SOCKS 入口;後者使用主機名稱形式,會讓 curl 將目標網域交由 SOCKS 端解析。連接埠應與目前設定一致;若顯示連線遭拒,先確認核心是否正在執行及監聽位址是否正確,再檢查遠端節點。
curl --proxy http://127.0.0.1:7890 --head https://example.com
curl --proxy socks5h://127.0.0.1:7890 --head https://example.com
ss -lntp
若要設定環境變數,先在目前的終端機短暫測試,並留意變數名稱的大小寫及應用程式支援差異。包含 NO_PROXY 的排除清單可能使部分請求繞過代理,sudo 也可能清除環境變數。排錯時請記錄實際執行環境,避免一般使用者測試成功後,就認定系統服務或容器中的程式也會繼承相同設定。
獨立核心設定與服務權限
獨立核心應使用專屬資料目錄,存放設定及所需下載的資料檔案。先以前景模式執行並查看記錄,確認設定正確後再建立背景服務。不要一開始就隱藏記錄並設定自動重新啟動,否則語法錯誤可能表現為程序不斷退出。以下指令假設執行檔已安裝且設定目錄已存在,請依實際環境調整路徑。
mihomo -t -d "$HOME/.config/mihomo"
mihomo -d "$HOME/.config/mihomo"
-t 用於測試設定,可協助找出語法和引用問題,但測試通過不代表伺服器可連線或路由正確。背景服務也應明確設定工作目錄、執行使用者及檔案權限。若需要讀取含有憑證的設定,請限制可存取的範圍;若設定由其他使用者建立,也應確認服務帳戶能讀取所需檔案,不要透過開放整個目錄權限來解決問題。
TUN、DNS 與發行版差異
Linux TUN 涉及虛擬裝置和網路管理權限。圖形介面用戶端應優先使用內建的服務安裝入口;獨立部署則應依服務管理方式授予必要權限,不要讓所有程式長期以提升權限執行。容器或受限主機也可能無法存取虛擬裝置,單純修改 YAML 無法突破環境限制。請先確認主機環境支援,再檢查核心參數。
系統可能同時使用 NetworkManager、systemd-resolved 或其他 DNS 解析元件。直接編輯 /etc/resolv.conf 可能被網路服務覆寫,也可能破壞原有符號連結。應先確認檔案由哪個元件管理,再決定如何讓 DNS 流量進入核心。啟用 TUN 後若 IP 請求正常但網域名稱解析失敗,應優先檢查解析入口、53 連接埠處理和上游可連線性,不要先更換節點通訊協定。
本機代理不會自動接管容器、虛擬機器或區域網路中的其他裝置。這些裝置各自擁有網路命名空間、閘道和防火牆路徑,需要另外規劃轉送方式。停止服務時,請確認自動路由已清除,桌面代理和終端機環境變數也已還原。在遠端伺服器上調整預設路由前,應保留備用管理通道,避免目前的管理連線也被導入尚未驗證的代理路徑。
常見設定問題與分層排錯
設定已載入,為什麼還是無法上網?
依序檢查設定取得、核心執行、本機監聽、應用程式流量接管、DNS 解析、策略比對和遠端連線。每一層只確認一個問題:設定是否解析成功、連接埠是否正在監聽、目標應用程式是否產生連線記錄、記錄使用了哪個策略,以及遠端交握是否完成。先找出第一個失敗環節,再修改相應設定,比同時更換訂閱和網路模式更容易得出穩定結論。
解析錯誤時,先查看行號和上下文。YAML 層級依賴空格,不能用定位字元代替縮排;同一個映射中不要重複定義 dns、tun 或 rules。含特殊字元的字串應使用正確引號。用戶端的原始訂閱、覆寫片段和最終設定可能是三個不同的檔案;修改前先確認目前編輯的是哪一份,否則即使成功儲存,也可能沒有套用至核心實際讀取的檔案。
規則模式、全域模式與策略引用
規則模式會依清單順序比對,通常在首次命中後停止。全域模式會將已接管的連線交給全域策略,但不會讓原本未被接管的應用程式自動進入核心;直連模式也不等於關閉用戶端或虛擬網卡。模式可作為排錯變數:全域模式可用但規則模式不可用時,應優先檢查比對結果與策略群組;兩者都失敗時,先確認出口與流量接管狀態。
以下範例只會將指定網域後綴交由手動選擇群組處理,其餘流量直接連線。選擇群組目前只有 DIRECT,因此這只是規則結構示範,不提供遠端代理。實際設定需將現有節點或訂閱提供者加入群組。規則引用的策略名稱必須與群組名稱完全一致,拼寫不同可能導致載入失敗或行為不符。更多順序範例請參閱中國大陸與海外分流規則實作。
proxy-groups:
- name: SELECT
type: select
proxies:
- DIRECT
rules:
- DOMAIN-SUFFIX,example.com,SELECT
- MATCH,DIRECT
DNS、fake-ip 與流量接管範圍
DNS 負責將網域名稱對應至位址,代理則負責建立連線,兩者需要搭配運作,但屬於不同層次。fake-ip 會回傳用於映射的虛擬位址,核心會在後續連線中還原網域名稱資訊,並不表示目標網站真的使用該位址。若應用程式保留舊快取、繞過核心解析,或使用自身的加密 DNS,規則取得的資訊可能不同,應搭配連線中繼資料判斷。
以下是 mihomo 的 DNS 局部範例,監聽位址僅開放給本機使用。這不會自動變更系統解析設定,也無法單靠這段設定阻止所有外部解析。TUN 的 DNS 劫持主要處理符合條件的傳統 DNS 流量,應用程式內建的加密解析仍需配合路由與應用程式設定分析。上游位址必須能在目前網路中連線,否則所有網域都可能解析失敗。
dns:
enable: true
listen: 127.0.0.1:1053
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- https://1.1.1.1/dns-query
變更解析模式後,舊快取可能讓問題暫時持續。先依用戶端支援的方式清除 DNS 快取,再重新建立測試應用程式的連線並比較結果。只為受影響的網域設定必要例外,不要為了解決單一應用程式的問題而取消所有規則。檢測步驟與結果判讀可繼續閱讀DNS 洩漏檢測與修復;虛擬介面參數請參閱TUN 模式設定說明。
| 觀察結果 | 優先檢查項目 | 對照測試 |
|---|---|---|
| 應用程式沒有連線記錄 | 流量接管入口與排除清單 | 明確指定本機代理 |
| 連線遭本機連接埠拒絕 | 核心狀態、連接埠衝突 | 確認實際監聽位址 |
| 網域名稱失敗,但位址可連線 | DNS 與快取 | 查看解析錯誤和上游狀態 |
| 全域模式正常,規則模式異常 | 命中規則與策略群組 | 用單一網域重現問題並查看記錄 |
| 只有 TUN 模式異常 | 權限、路由、介面衝突 | 還原至系統代理基準 |
保留診斷資訊並還原可用狀態
記錄中應保留發生時間、目標應用程式、網路類型、模式、命中規則和錯誤摘要,同時移除訂閱網址、伺服器憑證及個人瀏覽記錄。暫時提高記錄詳細程度有助於補充線索,測試完成後應還原一般等級,避免持續累積資訊。節點延遲測試只涵蓋特定探測請求,不能取代實際網站瀏覽,更無法證明 UDP、長連線或所有目標都正常。
若問題是最近一次更新後才出現,先還原上一份可用設定,再逐項比較策略名稱、規則集、DNS 上游和用戶端覆寫等變更。規則集下載失敗與節點連線失敗是不同問題,GeoIP、GeoSite 資料也有各自的更新機制,請參閱資料庫更新與規則引用方式。不要用反覆重新安裝取代對故障層次的判斷。
需要重新開始時,先中斷用戶端的流量接管,再還原系統代理和原有 DNS,確認一般網路可正常使用後,匯入已儲存的設定副本。初次連線流程可回到教學頁逐步確認;模式差異可參閱規則、全域與直連模式比較。手冊中的範例用於說明參數和診斷範圍,不能取代實際有效的連線設定。