Clash 從入門到進階安裝、訂閱匯入與規則分流
初次使用,請先依照使用指南完成連線。本頁補充原理、設定檢查與問題定位:從核心觀念開始,逐步了解設定維護;已完成的階段可直接略過。不同用戶端的選單名稱可能不同,請以目前畫面為準。
階段 01 / 先認識連線流程
核心觀念:用戶端、核心與設定
從首頁的開關開始
開啟 Clash 類用戶端,通常會看到設定檔、代理、日誌與啟動開關。先不要同時修改這些頁面。用戶端是提供按鈕、通知與系統授權的應用程式;核心則負責讀取規則、建立連線並轉送要求。mihomo 是 Clash 生態系常見的核心,不等同於某個介面應用程式。同一份設定在不同用戶端中,可能由不同核心或啟動參數執行,因此介面相似不代表功能完全相同。
設定檔是網路處理方式的說明,通常採用 YAML 格式。YAML 透過縮排表示層級,空格位置也屬於內容。設定檔可保存代理節點、策略組、網域解析方式與分流規則。訂閱則是取得這些內容的管道,常見形式為連結。下載連結取得的可能是完整設定,也可能只有節點清單;能否直接匯入,取決於用戶端能否辨識格式,而不是連結名稱是否包含 Clash。
分清節點、策略組與規則
節點是可連線的代理端點,包含伺服器位址、連接埠、通訊協定及必要的驗證資訊。策略組負責從多個出口中選擇一個,例如手動選擇、依測試結果自動選擇或故障切換。規則則負責判斷這次連線應使用哪個出口。規則會將要求送至策略組,再由策略組選擇節點;若規則指定直連,要求就不會經過遠端代理節點。只切換節點,不一定會改變已被規則判定為直連的要求。
一次連線可依序拆解為:應用程式發出要求,系統將流量交給用戶端,核心取得目標資訊,依規則選擇出口,再連線至目標或代理伺服器。網域解析也會參與其中,將名稱轉換為位址。任何環節出錯,表面上都可能只是網頁無法開啟。疑難排解時,先確認要求是否進入用戶端,再查看命中規則,最後檢查出口連線結果;比起反覆更換訂閱,更容易找出原因。
本機 VPN 介面不等於遠端服務
Android 顯示 VPN 圖示,代表系統允許某個應用程式接管相關流量。VpnService 是系統提供的本機 VPN 介面,用戶端可透過它讀取並處理流量。這個圖示只能證明本機介面正在運作,無法證明訂閱有效、節點可用或目標網站能連線。代理服務成功啟動與遠端連線成功是兩個獨立的檢查項目,後續驗證步驟會分別檢查。
另一個容易混淆的概念是系統代理。桌面系統代理通常提供代理位址,由應用程式自行決定是否使用;虛擬網卡則會從更底層的網路層接收流量。Android 用戶端也可能提供個別應用程式設定,指定哪些應用程式進入 VPN。瀏覽器能連線、另一款應用程式卻失敗時,應先檢查接管範圍與應用程式本身的網路設定,不能只憑瀏覽器的結果推斷整台裝置的流量路徑。
本手冊主要說明具備相關功能的 mihomo 系用戶端。範例欄位是否支援,仍須視實際核心與用戶端的設定處理方式而定。圖形介面可能在啟動時產生額外欄位,甚至覆寫檔案中的同名項目;因此後續所說的檢查設定,包含儲存的原始檔案,也包含應用程式實際載入的執行設定。先釐清兩者的差異,才能理解為何檔案已修改,執行行為卻沒有改變。
階段 02 / 確認裝置與功能需求
選擇用戶端:平台、架構與核心功能
先依平台選擇,再比較功能
前往用戶端下載頁,先選擇裝置系統,再閱讀安裝說明。Android 優先推薦 Clash Plus,也可依設定相容性選擇 Clash Meta for Android、FlClash 或 Surfboard。優先推薦不代表其他用戶端的設定可直接通用;尤其 Surfboard 使用的設定格式與 Clash YAML 不同,不能只修改副檔名就當作完成轉換。若已有服務提供者的設定,應先確認對方明確支援的用戶端與訂閱格式。
選擇時先確認三件事:裝置能否安裝、用戶端能否辨識訂閱、是否具備所需功能。若只需匯入訂閱與切換節點,不必為了暫時用不到的參數遷移所有設定。需要覆寫規則、應用程式分流或特定 DNS 行為時,再確認用戶端是否提供相應介面。即使介面有某個開關,也應先閱讀說明;相同名稱可能代表不同底層實作,不能只憑畫面截圖判斷相容性。
| 平台 | 選擇方式 | 優先確認項目 |
|---|---|---|
| Android | Clash Plus、Clash Meta for Android、FlClash、Surfboard | 系統需求、安裝套件架構、訂閱格式 |
| Windows | Clash Plus、Clash Verge Rev、FlClash、Clash Nyanpasu | 處理器架構、系統代理、虛擬網卡權限 |
| macOS | Clash Plus、Clash Verge Rev、FlClash | Apple Silicon 或 Intel、網路延伸功能授權 |
| iOS | Clash Plus | 商店的裝置需求、設定匯入方式 |
| Linux | Clash Verge Rev、FlClash | 發行版套件格式、桌面環境與服務權限 |
安裝套件架構須符合裝置需求
Android 安裝套件名稱中的 arm64、arm 與 universal,分別代表不同處理器及執行環境的版本。大多數較新的手機使用 64 位元 ARM 環境,但不能只依購買年份推斷;部分裝置的系統使用者空間仍有其他限制。請優先查看系統資訊或下載頁說明。通用版通常檔案較大,也不代表能避開系統最低需求、簽章衝突或裝置政策限制。
電腦也須區分處理器。Apple Silicon 與 Intel 的 macOS 版本應依晶片選擇;Linux 套件格式則須符合發行版。不要把核心壓縮檔當成一般圖形應用程式安裝。下載頁的 mihomo 核心區提供給伺服器、路由器或明確需要以命令列部署的使用者;它通常沒有讓手機使用者點選匯入訂閱的完整介面,也不會自動完成所有系統流量接管設定。
遷移前保留可還原的設定
Clash for Windows 與 ClashX Meta 已停止維護,下載頁保留封存版本供既有環境使用。新部署應優先考慮仍在維護的替代方案。遷移時不要只匯出節點清單,也要記下目前的策略組選擇、應用程式分流範圍、本機規則與啟動設定。新用戶端可能能讀取訂閱,卻不會沿用原應用程式的系統授權與電池設定,這些項目需要重新確認。
同一台裝置可安裝多個用戶端作比較,但實際測試時一次只啟動一個接管網路的服務。兩個應用程式爭用系統代理或 VPN 介面,會讓測試結果難以判讀。先停止原用戶端,匯入相同來源的設定,再透過相同網路測試相同目標。比較時應記錄行為差異,例如某條規則是否命中,而不是只憑單次載入網頁的速度下結論。
手機與電腦共用訂閱時,保留共用的節點和規則,裝置專屬設定則留在本機。Android 的應用程式套件名稱分流不能直接取代桌面版的程序規則;桌面監聽連接埠也不一定需要複製到手機。關於停止維護用戶端的遷移背景,可閱讀mihomo 系用戶端替代方案。完成本章後,應能說明選擇目前應用程式的理由,並確認它支援接下來要使用的設定格式。
階段 03 / 完成本機安裝與授權
Android 安裝、VPN 授權與背景設定
從安裝結果開始確認
在Android 下載區選擇符合裝置需求的安裝套件。下載完成後,從瀏覽器的下載清單或系統檔案管理員開啟檔案。若系統提示不允許從此來源安裝應用程式,請前往該來源的授權頁面,允許目前使用的瀏覽器或檔案管理員安裝,再返回繼續。授權對象是開啟安裝套件的應用程式,不是整個網路;安裝完成後,可依裝置管理習慣撤銷這項權限。
若出現「應用程式未安裝」提示,先查看系統顯示的具體原因。儲存空間不足時,請釋出可用空間;架構或系統不受支援時,改下載符合需求的版本;同名應用程式簽章不一致時,先不要立即解除安裝舊版。請先匯出設定與本機資料,確認能夠還原後,再決定是否更換安裝來源。解除安裝通常會清除應用程式的私有資料,訂閱連結、規則覆寫與策略組選擇未必能透過系統備份完整還原。
首次啟動只授予必要權限
開啟用戶端後,先確認應用程式名稱與設定入口。匯入有效設定後,再啟動服務。初次連線通常會出現 Android VPN 連線要求,確認要求來自正在操作的用戶端後再核准。這項授權可讓應用程式建立本機網路介面,不會替你購買遠端代理服務。若未出現提示且啟動失敗,請檢查系統是否已有其他 VPN、工作資料夾政策或裝置管理限制,導致無法建立連線。
系統通常只允許同一使用者或資料空間內有一個啟用中的一般 VPN 服務。若另一款代理、企業連線或防火牆應用程式正在執行,新連線可能取代原連線,也可能遭政策封鎖。先確認目前需要哪一項服務,停止衝突的應用程式後再試。不要把啟動失敗歸咎於節點逾時,因為此時要求可能還沒送到遠端節點;應先處理本機授權,再查看日誌中的連線紀錄。
鎖定螢幕後斷線,檢查電池與背景限制
長按應用程式圖示進入應用程式資訊,找到電池或背景耗電管理。若需持續執行,請將限制調整為允許背景活動或不受限制,實際名稱會因系統而異。部分廠牌也提供自動啟動、背景執行保護與最近使用清單鎖定;這些選項功能不同,不能只開啟其中一項就認為全部設定完成。修改後先保持螢幕亮著進行測試,再鎖定螢幕一段時間,確認通知與服務狀態是否仍在。
通知權限與 VPN 授權也不是同一回事。允許通知有助於查看服務狀態並快速停止連線,但隱藏通知不一定表示服務已停止。反過來,通知仍顯示也不能證明遠端連線正常。疑難排解背景執行問題時,請記錄鎖定螢幕前後的服務開關、系統 VPN 狀態與日誌時間是否連續。若應用程式遭系統終止,重新開啟時通常會重建服務;若服務一直存在但無法連線,應改查網路切換與節點連線。
安裝後第一次測試,建議使用一般家用網路,不要同時啟用路由器代理或複雜的工作網路政策。先開啟原本就能直連的網站,再造訪需要代理的目標,分別記錄結果。若要測試行動網路與 Wi-Fi,每次只切換網路,不要同時更換節點和設定。如此一來,較容易判斷問題發生在哪個環節,也能區分裝置安裝問題與目前網路的限制。
完成授權後,可參考VpnService 授權與省電白名單設定重點,檢查廠牌相關設定。本章的完成標準不只是看到 VPN 圖示,而是設定已載入、服務能啟動、基本連線正常,且鎖定螢幕後不會立即遭系統終止。符合這些條件後再啟用自動啟動,可減少裝置重新開機後難以判斷的連鎖問題。
階段 04 / 建立可更新的設定來源
匯入訂閱、檢查設定與更新範圍
先判斷取得的內容類型
開啟設定頁,選擇新增設定或從連結匯入,貼上服務提供者提供的訂閱網址。儲存時使用容易辨識來源的本機名稱,不要以完整網址作為顯示名稱。訂閱網址可能包含個人授權資訊,取得網址的人可能因此讀取你的節點設定;分享螢幕截圖、日誌或同步筆記時,都應隱藏網址中的識別參數。不要將私人訂閱貼到不熟悉的線上轉換網站測試格式。
匯入後先查看下載結果,再選取該設定作為目前使用的設定。清單中新增一筆,只代表內容已儲存,不代表已載入。用戶端可能還需要點選、啟用或重新載入。接著開啟代理頁面,確認是否出現預期的策略組與節點。若只有節點而沒有規則,可能匯入的是節點清單;若顯示網頁文字、登入頁面或解析錯誤,應回到訂閱來源確認連結用途,不要先修改本機 DNS。
檢查 YAML 時先查看結構
設定解析失敗時,記下錯誤行號及附近內容。常見原因包括以定位字元代替空格、同層項目縮排不一致、清單項目缺少連字號,以及字串中的特殊字元未正確處理。錯誤報告的位置也可能在真正問題之後,例如上一行的引號沒有成對。先還原最近一次可用的副本,再逐段檢查修改;不要用批次取代一次改掉整份設定的縮排。
以下是用來理解結構的最小直連設定,不含遠端代理節點。它可協助分辨核心能否讀取設定與代理服務能否連線這兩個問題,但不能取代你的訂閱。圖形用戶端可能自行管理監聽連接埠與 DNS;匯入前應確認是否支援完整設定,不能直接把這段範例接在訂閱內容末尾,造成同名欄位重複。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
rules:
- MATCH,DIRECT
其中 mixed-port 用來接收本機支援的代理要求,allow-lan 設為 false 則會限制其他裝置使用此監聽入口;rule 模式會依規則處理連線,log-level 用於日常觀察。最後的規則會將尚未命中的要求交由直連處理。若連接埠已被其他程序占用,核心仍可能無法啟動,因此語法正確不代表執行環境符合需求。遇到連接埠衝突時,請關閉占用程序,或在用戶端允許的範圍內修改連接埠。
分開處理遠端更新與本機修改
更新訂閱通常會取代遠端設定內容。直接編輯下載的檔案,下次更新時可能會遺失修改。優先使用用戶端提供的覆寫、合併或本機規則功能,將個人修改獨立保存;但要先確認功能的執行時機與合併方式。有些工具會附加清單,有些則會取代整個欄位,不能假設所有稱為「合併」的功能都會保留原有策略組與規則順序。
設定更新間隔時,請考量來源限制與內容實際變動頻率。更新過於頻繁可能觸發請求限制,也會在網路不穩時不斷出現失敗提示。先手動更新一次,確認設定能重新載入,再啟用定期更新。若更新失敗但舊設定仍可使用,先保留目前可運作的狀態,檢查訂閱期限、連結權限與下載網路;不要為了更新清單而刪除唯一可用的設定。
多裝置同步時,建議同步設定來源與必要的個人規則,而不是覆蓋每台裝置的所有應用程式資料。手機與電腦可使用相同訂閱,但系統接管設定、監聽連接埠、應用程式範圍與檔案路徑應分別保留。詳細取捨請參閱手機與電腦共用訂閱的同步方式。完成本章後,應清楚知道目前載入哪份設定、更新來源為何,以及哪些本機修改需要另外備份。
階段 05 / 先確認要求要交給誰
Rule、Global 與 Direct 的使用時機
日常使用先選規則模式
開啟用戶端的模式設定,日常優先選擇 Rule,也就是規則模式。核心會依設定中的規則逐一判斷目標,決定直連、拒絕或交給某個策略組。規則模式不代表所有要求都會經過代理,也不只適用於瀏覽器;它處理的是已進入核心的要求。若某個應用程式被排除在 VPN 之外,或桌面程式根本不使用系統代理,切換規則模式也不會自動接管這些要求。
進入代理頁面後,找出規則實際指向的策略組,再選擇可用出口。設定中可能同時有總選擇組、自動選擇組及依服務分類的群組。只修改其中一個,不一定會影響目標連線。先從日誌或連線頁面查看該要求命中哪個群組,再調整對應群組。名稱相似的策略組可能彼此無關,不能只憑最醒目的按鈕,就認定它是所有流量的最終出口。
| 模式 | 已接管要求的處理方式 | 適用情境 |
|---|---|---|
| Rule | 依規則選擇出口 | 日常分流與精確檢查 |
| Global | 通常交由全域策略組處理 | 短時間比對規則與出口問題 |
| Direct | 由核心直接連線至目標 | 比對直連行為,不代表停止 VPN |
全域模式用於比對,不取代接管檢查
某個目標在規則模式下無法連線時,可短暫切換至 Global,並確認全域策略組已選取預期節點,再重複相同操作。如果此時恢復正常,而規則模式仍失敗,應優先檢查規則命中、策略組選擇與解析差異。這項結果只能縮小範圍,不能單獨證明原規則一定有誤,因為兩種模式可能同時使用不同出口。比對時保持網路、目標與節點不變,才能減少其他變因。
全域模式也不代表每個裝置封包都一定會經過遠端代理。應用程式排除、本機路由、系統限制與用戶端實作方式都會影響接管範圍。切換至全域模式後,若日誌仍完全沒有目標應用程式的要求,繼續更換節點並無太大幫助。此時應檢查應用程式是否納入接管範圍、系統 VPN 是否正常,以及程式是否有獨立的代理或直連設定。將模式選擇與接管範圍分開觀察,是本章最重要的原則。
直連模式不等於停止服務
Direct 模式會讓已進入核心的要求透過直連出口傳送,但用戶端的本機介面與 DNS 處理可能仍在運作。真正停止服務後,系統網路路徑則可能不同。因此,直連模式能連線、停止服務後卻不能,或情況相反,都需要檢查介面、解析與系統的阻止繞過設定。不能把直連模式當作所有網路設定都已恢復原狀;也不要在不清楚原因時一併刪除系統 VPN 設定。
修改模式後,請先建立新連線再驗證。瀏覽器可能重複使用既有連線,應用程式也可能保留長連線;切換策略通常不會自動重建舊連線。可關閉相關頁面後重新開啟,或只在用戶端允許時結束對應連線。清除所有連線會中斷正在進行的工作,請先儲存資料。驗證時應查看新連線的出口與命中規則,而不只是重新整理仍在沿用舊工作階段的頁面。
節點測試結果只代表某次測試目標與測試方式,不等同於所有網站都能連線。實際要求可能使用不同通訊協定、連接埠或位址家族。選好節點後,請透過目標應用程式發出實際要求並查看連線錯誤。若一個應用程式正常、另一個失敗,先比較兩者是否都被接管、是否使用相同策略組,以及是否需要不同網路功能,再決定是否更換節點。
完成比對後,請切回規則模式並記下臨時變更。若一直停留在全域模式,容易掩蓋原本需要修正的分流問題,也可能讓原本應直連的本機服務走錯出口。關於桌面瀏覽器與終端機的接管差異,可閱讀系統代理未生效的分別排查方法。下一章會將目前看到的命中結果對應到具體規則。
階段 06 / 從一條規則開始修改
規則分流:比對順序與本機覆寫
先找出現有規則,再新增規則
開啟日誌或連線詳細資訊,發出一次目標要求,找出目標網域、命中規則與最終策略。規則通常由上而下比對,首次命中後便決定出口,因此範圍較精確的例外通常要放在較廣泛的規則之前。加在兜底規則之後的內容可能永遠不會生效。修改前先確認目前設定是否包含規則集合、本機合併層或用戶端自動插入的規則;執行時的順序不一定與原始檔案相同。
網域精確比對只適用於指定名稱;網域後綴比對可涵蓋該網域及其子網域;位址範圍規則則依目標位址判斷。三者用途不同,不能把應用程式介面顯示的品牌名稱直接當成網域規則。應用程式可能會連線至多個網域,也可能直接連至固定位址。先依日誌蒐集實際目標,再用範圍盡可能小的規則測試,避免只為解決一個頁面,就把整個大型網域範圍交給同一出口。
透過完整的最小範例了解順序
以下範例不含遠端節點,用來示範本地域名、私人位址與兜底規則的排列方式。它可作為獨立的直連測試設定;若要將規則移入訂閱,請在用戶端的本機規則或覆寫入口操作,並保留原設定中的其他欄位。範例只涵蓋部分常見本機位址,並非完整的內網分類清單,也不保證適用於採用特殊位址規劃的企業環境。
mode: rule
rules:
- DOMAIN,localhost,DIRECT
- DOMAIN-SUFFIX,home.arpa,DIRECT
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,DIRECT
最後的 MATCH 會接手前面都未命中的要求。實際訂閱中,它可能指向代理策略組;修改時必須使用設定中實際存在的策略組名稱,名稱不符會導致引用失敗。位址規則後的 no-resolve 表示不會為了比對該條規則而主動發起網域解析,並非禁止整個要求流程中的其他解析。了解這項限制,才能避免將它誤當成全域 DNS 開關。
分別管理規則集合與策略組
規則集合用來管理一批比對條件,策略組則負責管理出口選擇,兩者不可混為一談。規則集合更新失敗時,節點仍可能正常使用;節點訂閱更新成功,也不代表遠端規則已更新。檢查規則提供者時,請核對來源格式、行為類型、下載結果與本機快取。首次下載失敗的裝置,執行結果可能與已保存舊快取的裝置不同,遷移測試時尤其要留意。
需要依應用程式分流時,先確認用戶端提供的是分應用程式 VPN 範圍,還是核心程序規則。將應用程式排除於 VPN 之外,代表它可能完全不會進入核心;讓應用程式比對到直連規則,則可能仍由核心處理。兩種方式在日誌可見性與 DNS 行為上可能不同。Android 的應用程式識別碼與桌面程序名稱也不相同,不能直接將電腦規則複製到手機,就認為已完成適配。
每次只新增一條規則,儲存並重新載入後,再建立新連線驗證。若介面顯示成功但結果未變,依序檢查是否載入目標設定、覆寫功能是否啟用、規則是否位於兜底規則之前,以及連線是否仍在沿用舊工作階段。確認這些環節後,再考慮網域辨識與 DNS 對應問題。持續新增重複規則通常只會讓設定更難閱讀,也會增加下次更新時的合併衝突。
多個目標出現相同錯誤時,先找出共用的策略組或解析路徑,不要立刻為每個網域個別新增例外。過度細分會讓真正的出口問題被規則掩蓋。更多概念請查閱Rule 術語說明,常見設定問題可前往常見問題。本章完成標準是能說明某項要求為何使用目前的出口,並能透過一項可還原的修改改變結果。
階段 07 / 擴大接管前先了解解析
TUN、VpnService 與 DNS 的搭配
虛擬網卡能解決什麼問題
TUN 是一種用來接收網路層流量的虛擬網路介面。桌面端常在系統代理無法涵蓋所有流量時使用,例如程式不遵循代理設定,或需要處理特定的非瀏覽器流量。它與 Rule、Global 不屬於同一個層面:前者決定流量如何進入核心,後者決定流量進入後使用哪個出口。啟用 TUN 後仍可使用規則模式,不必為了虛擬網卡而將所有要求改為全域代理。
Android 用戶端通常透過 VpnService 取得系統流量,但不應將每個桌面 TUN 參數原樣複製到手機。行動端可能由用戶端建立介面、路由與檔案描述符,再交由核心處理;桌面的自動路由設定則可能仰賴額外權限與系統命令。請先使用用戶端提供的開關與預設值,確認支援自訂相關欄位後再調整,避免介面產生的設定與手動撰寫的設定互相覆寫。
啟用前檢查路由與權限
桌面端啟用虛擬網卡時,系統可能要求管理員或服務權限。授權後先確認介面是否建立,再測試一般網站、區域網路裝置與代理目標是否都能連線。若代理節點的連線又被送回虛擬網卡,可能形成迴圈;若另一個 VPN 同時修改預設路由,也可能造成部分流量走錯路徑。遇到這類問題時,先關閉新增的流量接管方式以恢復網路,再檢查路由排除設定與用戶端文件。
區域網路連線尤其需要個別驗證。印表機、路由器管理頁面與網路儲存裝置可能仰賴本機位址、群播探索或裝置名稱解析,不能只用能否開啟公網網站來判斷。優先保留用戶端建議的本機路由處理方式,再確認是否真的需要新增排除規則。不要為了臨時連線至某台裝置,就關閉所有防火牆或允許整個區域網路使用本機代理;這些變更牽涉另一組存取權限。
DNS 決定網域名稱如何轉換成位址
DNS 是網域名稱解析系統。瀏覽器輸入名稱後,需要取得位址,或由代理端參與解析,才能繼續連線。解析成功不代表一定能連線至該位址;連線失敗也不一定是解析問題。先辨別日誌中的名稱解析錯誤、連線逾時與驗證錯誤,再決定是否修改解析設定。訂閱下載使用的解析路徑也可能與代理啟動後不同,因此訂閱無法更新與網頁無法開啟未必是同一種故障。
部分用戶端提供 fake-ip 模式:先向應用程式回傳用於對應的虛擬位址,再由核心維護網域與連線之間的關聯。這有助於保留網域資訊,但某些依賴真實位址行為的應用程式可能需要例外。看到非公網位址的回應時,不要立即判定解析錯誤。先確認是否啟用此模式、要求是否仍由同一個核心處理,以及應用程式是否繞過正常解析流程。
加密 DNS 可保護解析傳輸,但不會自動確保出口正確。解析伺服器本身也必須能連線;若啟動階段依賴尚未建立的代理路徑,可能陷入先解析還是先連線的循環。修改時先保留一條能完成基本解析的路徑,再逐步調整上游伺服器與分流設定。瀏覽器內建的安全 DNS、系統私人 DNS 與用戶端 DNS 都可能參與,請記錄實際啟用的項目,不要同時更換所有設定。
驗證順序可固定為:介面存在、目標要求出現在日誌、網域解析結果合理、規則命中、出口成功建立連線。若每一步都正常但特定應用程式仍失敗,再檢查位址家族、UDP 支援或應用程式本身的限制。不能只憑一次網頁測試,就推斷節點支援某種傳輸方式。完成本章後,應了解何時需要 TUN,也知道僅為了修正設定引用錯誤,沒有必要擴大為整台裝置的虛擬網卡設定。
階段 08 / 建立可重複的維護流程
更新、備份與分層疑難排解
分開處理三種更新
用戶端更新、核心更新與訂閱更新是三種不同操作。用戶端更新可能改變介面、系統權限與設定處理方式;核心更新可能影響欄位支援與網路行為;訂閱更新則主要變更節點、策略組或規則內容。一次全部更新後若出現故障,很難判斷原因。日常維護時,先備份目前可用的狀態,再逐項變更;每完成一項就進行基本連線測試,確認正常後再繼續。
備份至少應包含設定來源、本機規則、策略組選擇與系統相關設定。含有訂閱網址或驗證欄位的檔案,應存放在自己掌控的安全位置;公開求助時只提供已去識別化的片段。應用程式匯出的備份可能包含個人資訊,也可能不包含系統 VPN 授權;還原前請先閱讀匯出說明。不要以為能還原一份 YAML 就代表整台裝置已完整備份,電池限制與應用程式清單可能仍需重新設定。
從最近的變更與影響範圍開始
發現無法上網時,先記下故障開始時間、之前做過哪些修改,以及影響單一應用程式還是所有應用程式。接著區分 Wi-Fi 與行動網路、直連目標與代理目標。若停用服務後本機仍無法正常連上基本網路,應先修復網路連線或完成登入驗證。網路入口尚未可用時,在用戶端反覆測試節點只會得到一連串失敗結果,無法判斷節點本身的實際狀態。
| 現象 | 優先檢查項目 | 觀察依據 |
|---|---|---|
| 服務無法啟動 | 設定語法、權限、連接埠衝突 | 啟動日誌與系統授權提示 |
| 某個應用程式沒有要求紀錄 | 接管範圍、獨立代理設定 | 新連線是否出現在日誌中 |
| 要求已送出,但出口連線失敗 | 節點有效性、驗證資訊、傳輸能力 | 連線錯誤與已選取的策略組 |
| 更新後分流行為改變 | 執行設定、覆寫順序、策略組名稱變更 | 命中規則與更新前後的差異 |
| 鎖定螢幕後失去連線 | 背景限制、服務重建、網路切換 | 系統 VPN 狀態與日誌時間 |
節點逾時表示某次連線未能在指定時間內完成,不能直接證明伺服器已停用。訂閱失效、位址解析錯誤、目前網路限制、系統時間異常與通訊協定不受支援,都可能是原因。先確認節點資訊來自最近一次成功更新,並檢查裝置時間是否自動同步,再比較另一種網路。詳細步驟請參閱節點逾時、所有節點皆無法連線的疑難排解清單;不要同時修改伺服器位址、連接埠與通訊協定碰運氣。
只在需要解答具體問題時提高日誌詳細程度
日常使用時,維持適當的日誌層級。需要定位問題時,先準備可重複的操作,例如只開啟一個目標頁面,再短時間提高日誌詳細程度。取得問題資訊後,請恢復原本層級,避免長期產生大量紀錄。分享前檢查網域、位址、訂閱參數與驗證資訊是否需要隱藏;只貼最後一行錯誤可能不足以判斷,但未經檢查就公開整份執行日誌也不妥。
閱讀日誌時,應區分不同階段:解析錯誤發生在取得位址之前;連線遭拒通常代表對端或中間設備明確拒絕連線;逾時則表示未能在等待期限內完成。這些現象不能互相替代。遇到憑證錯誤,先核對系統時間、伺服器名稱與網路環境,不要關閉安全驗證來掩蓋問題。設定解析錯誤則應回頭檢查檔案結構,通常還沒進入實際網路連線階段。
每次修復後記下簡短結論,例如「還原某條規則後目標恢復正常」,而不要只寫「網路好了」。接著測試訂閱更新、鎖定螢幕後恢復與網路切換,確認修復沒有影響其他情境。保留最近可用的設定副本與簡短變更紀錄,下次發生故障時就能先還原到明確狀態。遇到常見介面問題,可直接查閱常見問題分類,省去在整份手冊中反覆尋找。
階段 09 / 從可用設定走向易維護設定
進階學習:驗證、分層與最小幅度修改
先建立自己的驗證清單
進階不代表開啟所有功能,而是能說明目前的行為,並在修改後確認結果符合預期。先挑選幾個穩定的測試情境:一個直連網站、一個需要代理的目標、一個區域網路入口,以及一個日常使用的應用程式。每次變更後重複測試,確認接管、規則與出口的行為一致。測試目標應符合自己的實際需求,不必為了讓設定看起來完整而加入從未使用的通訊協定或規則集合。
為設定分層時,可將來源分為遠端訂閱、本機策略與裝置設定。遠端訂閱負責節點與通用規則,本機策略保存少量個人例外,裝置設定則處理 VPN 範圍、監聽連接埠與啟動方式。每一層只負責明確的工作,更新時才能判斷哪些部分應該改變。若訂閱、覆寫與用戶端介面都修改了同一個 DNS 欄位,應先找出最終生效的來源,再決定保留哪個設定入口。
使用核心檢查輔助編輯
若有命令列使用經驗,可使用 mihomo 的設定測試功能檢查本機檔案。以下命令應在已安裝核心,且目前目錄確實存在設定檔的環境中執行;它用於測試設定,不會替作業系統建立代理接管。Android 圖形用戶端使用者可繼續使用應用程式內的檢查與日誌功能,不必為了執行命令而在手機的額外環境中安裝核心。
mihomo -t -f ./config.yaml
檢查成功主要表示核心能讀取設定並通過相關檢查,不代表所有遠端節點都已連線,也不代表路由與授權設定正確。若涉及外部規則、提供者與資源檔案,還須確認工作目錄、相對路徑與下載條件是否符合需求。終端機與圖形用戶端啟動時可能使用不同目錄;某個本機檔案在一處可讀取,不代表從另一個啟動入口也能使用。
編輯設定前先保存副本,修改後先檢查語法,再由用戶端重新載入,最後觀察新建立的要求。遇到異常時,先還原剛才單項變更,不要繼續疊加修補內容。需要比較檔案時,只比較必要欄位,並避免將驗證資訊貼到公開的差異比對工具。對於訂閱自動產生的複雜設定,優先使用已了解合併方式的本機覆寫,不要為了讓設定看起來簡潔,就手動刪除暫時不理解的引用項目。
遠端控制與區域網路共用需要額外防護
部分核心支援控制介面,供面板或用戶端讀取狀態、切換策略;其用途與代理監聽連接埠不同。一般單機使用不必讓控制介面監聽所有網卡;若確實需要遠端管理,應同時考量驗證、網路隔離與防火牆範圍。不要公開分享控制入口、訂閱網址或含有權限的面板連結,也不要把能在瀏覽器開啟的管理頁面誤當成適合公開部署的網站。
共用區域網路代理也應另外規劃。允許其他裝置連線後,本機便成為這些裝置的網路出口;請確認監聽位址、連接埠與允許來源。行動熱點、公共 Wi-Fi 與家用網路的信任程度不同,不能長期沿用同一套開放設定。共用前先在受控網路中以一台裝置測試,結束後恢復原本的允許範圍;是否需要驗證及如何限制存取,應依目前用戶端實際支援的功能決定。
依問題選擇後續學習方向
若重點是多裝置維護,接著了解如何分開管理訂閱與本機覆寫;若重點是應用程式相容性,學習 DNS、位址家族與傳輸方式之間的關係;若重點是路由器部署,再研究介面、路由與服務管理。伺服器或路由器上的設定也涉及開機服務、檔案權限與網路防火牆,不應直接把手機上可用的設定當成完整部署方案。請先在可還原的環境中驗證,再移至負責日常連網的裝置。
最後保留一份簡短的執行說明:使用哪個用戶端、設定來源為何、本機修改了哪些項目、如何確認正常,以及如何還原。這份說明比一長串無法解釋的參數更有用。若要重新操作一次基本流程,請回到快速上手指南;更換裝置時,請從下載頁重新確認平台需求。能重現、能定位、能還原,就是完成這條學習路線的標準。