PLATFORM SETUP / CONFIGURATION REFERENCE

Clash 全平台安裝與設定指南

Windows / macOS / Android / iOS / Linux
下載、訂閱、系統代理與 TUN 設定指南

第一次連線可先依照快速入門指南的操作流程完成匯入、選擇策略組與連線。本頁供你依系統查閱安裝細節、權限範圍與故障排查方式;遇到問題時,先查看對應平台章節,再到最後一章交叉檢查。安裝檔統一收錄於用戶端下載頁。

圖形化用戶端 mihomo 命令列 YAML 設定 連線故障排查

01 / PREPARATION

通用準備:用戶端、訂閱與連線方式

分清介面、核心與服務

Clash 生態系中的圖形化用戶端負責管理設定清單、選擇策略組與連線至系統;核心則負責解析設定、比對規則並建立連線。mihomo 是常見的核心,但各用戶端整合的功能與設定入口不盡相同。安裝用戶端本身不會產生可用節點,也不代表已經具備代理服務。開始前請準備服務商提供的訂閱網址,或包含有效節點、策略組與規則的完整設定,並確認帳戶狀態及裝置數量限制。

桌面與 Android 平台可優先從下載頁選擇 Clash Plus;若已有穩定的使用流程,再依系統需求比較 Clash Verge Rev、FlClash 等用戶端。Linux 圖形介面可選擇 Clash Verge Rev 或 FlClash。設定能否跨用戶端共用,取決於訂閱格式、協定支援與實際使用的核心,不能只看名稱相似。封存的舊版用戶端適合保留舊環境,不建議作為新裝置的預設部署方式;完整清單請參閱用戶端選擇指南。

檢查處理器架構與訂閱內容

下載前先確認系統的處理器架構。桌面系統常見 x64 與 ARM64,macOS 則分為 Intel 與 Apple Silicon。安裝檔能否啟動,首先取決於系統、架構與最低系統需求,與訂閱是否有效無關。別反覆更換訂閱來解決程式無法開啟的問題,也不要混用手機應用程式套件與桌面安裝檔。下載頁的平台入口與系統需求應逐項符合裝置資訊。

訂閱網址通常等同存取憑證,貼上時請保留完整查詢參數,並移除前後空格及通訊軟體附加的標點。先確認服務商提供的是 Clash YAML 訂閱、單一節點連結,還是供瀏覽器登入的管理頁面。完整 YAML 通常包含節點或節點提供者、策略組與規則;只有一串編碼文字,不一定能由目前的匯入入口直接辨識。若需轉換,請優先使用服務商提供的相容網址,詳情請參閱訂閱格式與轉換說明。

連線方式適用流量主要檢查項目
系統代理採用系統代理設定的應用程式本機監聽連接埠、應用程式是否遵循設定
TUN 或 VPN 隧道由虛擬網卡或平台隧道接管的流量權限、路由、DNS 與應用程式排除項目
應用程式手動代理指定瀏覽器、終端機或單一程式協定、位址、連接埠與變數適用範圍

先建立可復原的最小環境

首次設定只保留一個代理用戶端和一種連線方式。先使用規則模式、一個手動選取的策略組,以及確認可用的節點來瀏覽網頁,再逐步加入 TUN、覆寫設定、規則提供者或複雜的 DNS 設定。系統代理與 TUN 不必同時啟用;兩者疊加可能增加排查難度。手機通常透過系統 VPN 功能建立隧道,不會有與桌面端完全相同的個別開關。

以下片段用於了解常見欄位,不包含遠端節點,不能取代服務商提供的訂閱。混合連接埠可同時接受 HTTP 與 SOCKS 要求;僅監聽回送位址可限制外部裝置存取。範例連接埠並非所有用戶端的固定預設值,實際設定請以目前的介面為準。圖形化用戶端可能會自行產生這些欄位,直接修改產生的檔案也可能在下次儲存時被覆寫。

mixed-port: 7890
allow-lan: false
bind-address: 127.0.0.1
mode: rule
log-level: info
ipv6: false

建立連線前,記下目前的系統代理、DNS 與其他 VPN 狀態,並保留一份可正常啟動的設定副本。測試時請區分「節點測試成功」、「要求符合代理規則」與「目標網頁正常載入」三種結果:它們分別驗證不同環節。基本連線完成後,再測試實際需要的應用程式,不要只根據面板的一次延遲測試,就判定整個網路已正常。

02 / WINDOWS

Windows:安裝、系統代理與服務權限

選擇安裝檔並完成首次啟動

開啟Windows 下載頁,建議優先選擇 Clash Plus,也可依既有需求選用 Clash Verge Rev、FlClash 或 Clash Nyanpasu。Clash for Windows 已停止維護,僅供封存使用。前往系統設定中的「系統-系統資訊」查看系統類型,再依架構選擇下載頁提供的檔案。不要只因裝置名稱包含某個處理器品牌就推定架構;若安裝檔無法執行,請先核對系統需求與檔案類型。

執行安裝程式後,以一般使用者身分啟動介面,並依提示選擇安裝位置。需要系統服務或虛擬網卡功能時,再到用戶端設定中執行相應的安裝操作,並仔細閱讀系統的權限確認提示。日常使用不必為了開啟控制面板,就一直以系統管理員身分執行整個程式。首次啟動若遭安全軟體攔截,請查看攔截項目與檔案來源,不要直接關閉整套系統防護來跳過排查。

匯入訂閱並選取目前使用的設定

在「設定」、「訂閱」或類似頁面中新增遠端設定,貼上完整網址並執行下載。清單中出現項目後,還需要選取或啟用該設定;「下載完成」不代表核心已切換。前往代理頁面檢查策略組是否已載入,以及組內是否有節點。若只看到直連選項,先確認訂閱內容與匯入類型,再查看核心是否回報不支援的協定或欄位;不要立刻修改系統路由。

先手動選取目標服務所屬的策略組。設定中可能同時包含預設代理、串流媒體、下載或其他業務分組,修改一個組不會自動影響其他組。選取節點後切換至規則模式,查看實際連線記錄,確認符合的規則與最終出口。延遲測試可用來篩選無法連線的節點,但無法代表網頁傳輸速度或應用程式相容性;選擇節點的方法可參閱節點延遲、倍率與地區比較。

先測試系統代理,再考慮 TUN

啟用系統代理後,前往 Windows 代理設定,核對本機位址與連接埠是否和用戶端一致。若使用自動設定指令碼,也要檢查指令碼入口,避免把不同連線方式當成同一項設定。瀏覽器通常會採用系統設定,但終端機、開發工具或自行實作網路堆疊的軟體可能不會。若某個程式仍直接連線,請先查看程式本身的代理選項,不要直接把所有規則改成全域代理。

在 PowerShell 中可透過明確指定代理的要求,排除系統設定因素。只有在用戶端確實監聽相同連接埠時,以下要求才有意義;它可驗證本機 HTTP 代理入口與後續連線,但不能證明所有應用程式都已由代理接管。若明確指定代理後可用、瀏覽器卻失敗,請再檢查瀏覽器擴充功能、獨立代理設定與快取。若無法連上本機連接埠,先排查核心啟動、監聽位址或連接埠衝突。

curl.exe --proxy http://127.0.0.1:7890 -I https://example.com
Get-NetTCPConnection -State Listen -LocalPort 7890

需要接管不遵循系統代理的應用程式時,再啟用 TUN。用戶端可能要求先安裝服務、啟用服務模式或授予系統管理員權限,請依介面提示操作。啟用後檢查虛擬網卡是否出現、核心記錄是否顯示成功建立裝置,以及路由是否已安裝。VPN、虛擬機器網路、容器網路與企業安全軟體都可能影響路由選擇;排查時先停用非必要的同類隧道,再以相同要求進行比較。

從睡眠、更新與異常結束後復原

喚醒後無法連線,不一定代表訂閱失效。先確認實體網路已恢復,再重新測試節點連線;切換無線或有線網路後,可能需要重建舊介面的路由。若結束用戶端後所有網頁都無法開啟,請檢查系統代理是否仍指向已關閉的本機監聽連接埠。正常結束前先關閉連線功能;異常結束後應優先還原代理設定,再處理用戶端本身,避免在斷網時繼續下載新安裝檔。

連接埠被占用時,先從監聽結果確認占用程序的編號,再決定關閉重複執行的用戶端或修改目前連接埠。修改後,請同步調整應用程式手動代理、系統代理與終端機變數;只改一處設定檔,可能讓部分應用程式繼續使用舊連接埠。更新用戶端前,先備份訂閱來源、覆寫設定與策略選擇;更新後再檢查服務狀態。更多排查命令請參閱本機連接埠衝突排查。

03 / MACOS

macOS:處理器架構、網路服務與背景元件

區分 Apple Silicon 與 Intel 安裝檔

在「關於這台 Mac」查看晶片或處理器資訊,再前往macOS 下載頁。新裝置建議使用 Clash Plus,也可選擇 Clash Verge Rev 或 FlClash;ClashX Meta 已停止維護,僅供封存使用。Apple Silicon 與 Intel 安裝檔分別對應不同架構。不要優先依賴轉譯執行來避開架構選擇,尤其是用戶端還需要安裝網路相關背景元件時;介面能啟動,不代表附屬元件也相容。

若應用程式以磁碟映像檔提供,請先將程式複製到「應用程式」資料夾再啟動,避免長期直接從掛載的映像檔執行。首次開啟若出現系統安全提示,先確認下載來源、檔案是否完整下載及是否符合系統需求,再依照 macOS 提供的正常授權流程處理。不要將大量移除安全屬性當作預設安裝步驟;受組織管理的電腦也可能有管理政策限制,請先確認是否允許安裝網路工具。

匯入遠端設定並了解選單列狀態

在設定管理中新增訂閱網址,確認取得成功後,再明確啟用該項目。選單列圖示通常只表示應用程式正在執行,不代表訂閱已載入、節點已選取或系統代理已啟用。前往策略組檢查可選節點,再透過連線頁面觀察實際要求。若匯入成功卻沒有預期的分組,請檢查服務商是否回傳錯誤頁面、方案是否到期,以及目前的匯入入口要求的是完整設定還是單一節點清單。

需要長期保留的自訂規則,應寫入用戶端支援的覆寫或合併入口,不要直接修改訂閱快取。遠端更新通常會取代快取內容,臨時編輯可能在下次重新整理後消失。修改前先匯出副本,並確認規則順序與策略組名稱完全一致。設定中的名稱會區分字元;結尾空格、全形標點或重新命名後未同步更新引用,都可能讓規則無法指向預期的出口。

依目前網路服務檢查系統代理

macOS 的代理設定會依網路服務而異。無線網路與有線網卡可能有不同設定;切換介面後,請檢查目前使用的服務,而不是只查看上次連線的無線網路。先在用戶端啟用系統代理,再前往系統網路設定查看代理位址與連接埠。若已有自動代理設定、瀏覽器代理擴充功能或其他網路工具,請確認由哪個元件負責最終設定,避免多個工具互相覆寫。

以下命令用於列出網路服務並查看指定服務的代理設定。範例使用常見名稱「Wi-Fi」,實際服務可能已重新命名,請先讀取清單再替換。HTTPS 網頁透過本機 HTTP 代理連線時通常會使用 CONNECT,因此也要檢查系統中的安全網頁代理項目。只看到網頁代理已啟用,不能確認 HTTPS 應用程式也採用相同設定。

networksetup -listallnetworkservices
networksetup -getwebproxy "Wi-Fi"
networksetup -getsecurewebproxy "Wi-Fi"
curl --proxy http://127.0.0.1:7890 -I https://example.com

TUN 權限與開發環境差異

啟用 TUN 前,先完成系統代理連線方式的測試,再依用戶端提示安裝輔助元件或授權網路功能。不同實作可能使用特權輔助程式、系統延伸功能或其他連線機制,授權入口不一定相同。檢查系統設定中的核准狀態,完成後重新啟用隧道。若記錄出現裝置建立或權限錯誤,應先修復元件狀態,不要不斷更換節點來掩蓋本機權限問題。

終端機程式不一定會採用圖形介面的系統代理。可透過命令的代理參數進行暫時測試;若使用環境變數,請只在需要的工作階段或工具中設定,並留意變數大小寫與工具支援差異。Docker、虛擬機器與遠端開發環境各有自己的網路環境,其中的回送位址並非主機。容器內無法連線到本機代理時,先確認要連線的是哪一台主機,再評估是否需要開放受限制的區域網路入口。

睡眠喚醒、網路服務順序變動與公司 VPN 都可能影響連線。先用相同網址比較直接連線與明確指定代理的結果,再檢查路由與 DNS;區域網路印表機、檔案分享或開發網域失效時,應考慮本機網域解析與直連規則,而不是把所有私人位址都送往遠端。解除安裝用戶端前,先關閉系統代理與隧道,並透過用戶端提供的入口移除輔助服務,避免只刪除應用程式卻留下仍在執行的元件。

04 / ANDROID

Android:安裝應用程式、VPN 授權與背景執行

選擇相容安裝檔並保留移轉方式

前往Android 下載頁,可依序選擇 Clash Plus、Clash Meta for Android、FlClash 或 Surfboard;首次使用建議選 Clash Plus。裝置架構與最低系統需求決定是否相容,不要只按手機品牌選擇。多數新裝置使用 ARM64,但舊裝置與特殊系統仍應確認實際資訊。若安裝程式明確顯示不相容,請先排查架構與系統需求,再考慮其他用戶端。

透過系統檔案管理員開啟下載檔案時,Android 可能會要求允許目前的來源安裝應用程式。請只為本次使用的瀏覽器或檔案管理員授權,安裝完成後可恢復原設定。覆蓋安裝失敗也可能是簽章不同、已安裝其他發行管道的版本,或受到版本降級限制所致。解除安裝前先匯出設定與覆寫內容,並確認仍能重新取得訂閱;直接刪除應用程式會同時失去本機策略選擇與部分執行設定。

區分訂閱更新與目前使用的設定

在設定頁新增 URL 訂閱,執行下載並切換至該設定。下載成功後前往代理頁面,確認目標策略組中出現節點,再手動選取一個進行測試。若透過瀏覽器快速匯入,返回用戶端後仍要確認網址、設定名稱與目前啟用狀態。系統可能安裝多個可處理同類連結的應用程式;快速匯入若開啟另一個用戶端,不會同步修改目前正在執行的執行個體。

Clash Meta for Android 等用戶端的設定入口可能與其他應用程式不同;Surfboard 支援的設定語法也不能直接視為 Clash YAML。服務商提供多種訂閱類型時,請選擇與目前用戶端相容的項目。匯入失敗後先查看格式或協定錯誤,不要反覆將相同網址加入多個項目。若內容只有節點,還需要用戶端提供規則與分組邏輯;節點清單本身並不是完整的路由策略。

授權 VPN 連線並確認接管範圍

點選連線或啟動後,系統通常會顯示 VPN 連線確認視窗。核准後查看用戶端是否回報服務已啟動,並確認系統 VPN 狀態。在一般個人使用環境中,同一使用者空間通常只能由一個 VPN 服務占用此連線位置;廣告攔截、防火牆、工作網路或其他代理應用程式都可能互相衝突。若啟動後立即中斷,先檢查是否有其他 VPN 正在執行,不要立刻修改遠端節點參數。

Android 的 VPN 接管不代表一定要另外開啟名為 TUN 的開關。許多行動用戶端已透過平台 VPN 介面將流量交給核心,並由應用程式內部管理網路堆疊、DNS 與應用程式分流。若介面提供系統堆疊或使用者空間堆疊,先使用預設選項,只有遇到明確的相容性問題時才進行比較。桌面端的 auto-route 等欄位不一定能由行動用戶端直接採用,整段照搬可能遭忽略或與產生的設定衝突。

使用「僅代理選取的應用程式」時,新安裝的應用程式不一定會自動加入清單;使用排除模式時,被排除的程式會繞過隧道。先確認目前使用的是包含清單還是排除清單,再檢查目標應用程式是否列在正確的一側。瀏覽器可用但其他應用程式無法使用時,請分別測試應用程式分流、私人 DNS、應用程式內部代理與 UDP 需求,不要把所有差異都歸咎於訂閱失效。

處理省電限制與網路切換

鎖定螢幕後連線中斷時,優先檢查系統電池設定是否限制背景活動、是否允許必要的自動啟動,以及前景服務通知是否仍顯示。各廠牌的設定名稱差異很大;在最近使用的應用程式清單中鎖定應用程式,也不等於完整授予背景執行權限。建議先調整目前用戶端的電池使用策略,再查看鎖定螢幕與喚醒時的記錄。若持續重新連線但沒有程序結束記錄,接著檢查行動網路切換、節點可連線狀態與隧道重建。

從無線網路切換至行動數據時,對外 IP 與底層連線都會改變,既有長連線可能需要重新建立。先等網路穩定,再重新連線並測試相同目標。公共無線網路若有驗證頁面,請先完成網路驗證再啟用代理;若已啟用 VPN「永遠開啟」與「封鎖未經 VPN 的連線」,停止用戶端可能會直接阻斷網路。排查前先記下這些系統設定,避免將預期的封鎖誤判為用戶端當機。

05 / IOS

iOS:從 App Store 安裝、訂閱相容性與隧道設定

從 App Store 安裝 Clash Plus

iPhone 與 iPad 可從iOS 下載頁前往 Clash Plus 的 App Store 頁面,也可直接查看Clash Plus App Store 頁面。應用程式官網為 clashplus.io。安裝前請閱讀商店列出的裝置與系統需求,安裝後啟動應用程式。iOS 的系統連線由平台網路功能管理,桌面端的安裝服務、背景選單列圖示或系統代理選單並非同樣的操作方式。

首次使用前先確認裝置本身能正常連線,並完成目前無線網路的網頁驗證。訂閱下載通常在正式建立隧道前進行;若底層網路尚未連通,可能會出現匯入逾時。受組織管理的裝置也可能設有網路延伸功能、描述檔或存取限制;若系統提示無法新增 VPN 設定,請先確認裝置管理規則,不要試圖修改訂閱中的節點協定。

匯入完整網址並檢查設定相容性

在應用程式的設定或訂閱管理入口新增遠端網址,保留所有參數後執行取得。若頁面提供快速匯入,切回應用程式後請確認新項目確實出現,並將其設為目前使用的設定。同一訂閱可能提供不同用戶端格式,請選擇服務商明確標示相容的項目。不要因為 YAML 可用文字編輯器開啟,就認定其中每個欄位都適用於行動平台;檔案格式正確與功能受支援是兩回事。

取得失敗時,先區分網路要求錯誤與內容解析錯誤。要求逾時時,請檢查目前網路、訂閱網域與服務商狀態;解析錯誤則要確認回傳內容是否為登入頁、錯誤訊息或不支援的設定。若網址含有存取憑證,請勿將完整網址交給不熟悉的線上工具測試。需要轉換訂閱時,先閱讀服務商說明,並確認轉換後的策略組、規則與協定參數沒有因格式差異而遺失。

啟用設定後前往策略選擇頁面,確認目標組中有可用節點。先手動選取一個節點,再啟動連線並開啟明確的目標網頁。自動測試組可能需要先執行健康檢查才能顯示可用結果;若分組為空或測試失敗,應先檢查組內成員與測試條件。不要因單一探測網址失敗就否定所有服務,也不要只憑一個節點可連線,就推定所有業務分組都已選對。

授權隧道並確認實際路由

首次啟動連線時,依系統提示允許應用程式新增 VPN 設定,再以裝置要求的方式完成授權。返回應用程式檢查連線狀態,必要時前往系統 VPN 設定確認目前啟用的項目。狀態列出現 VPN 圖示,只表示隧道正在運作,不代表每個要求都經過遠端代理。規則模式仍可將部分目標交由直連策略處理,實際出口需配合應用程式中的連線記錄判斷。

若同時安裝其他 VPN 或網路過濾應用程式,請先確認目前生效的是哪個設定。使用隨選連線時,網路條件變化可能觸發系統自動重新連線;手動點選中斷後又恢復連線,不一定代表按鈕失效。排查時暫時關閉目前應用程式的隨選規則,再於固定網路下測試連線,確認基本路徑後再恢復自動連線。不要同時修改節點、規則與隨選條件,否則難以判斷是哪項設定影響結果。

DNS、區域網路服務與 Wi-Fi 代理的界線

Wi-Fi 詳細資訊頁中的 HTTP 代理,與應用程式建立的 VPN 隧道並非同一個連線入口。前者只影響該網路中採用此設定的流量,後者則由應用程式與系統協同接管。排查時先移除不再使用的手動 Wi-Fi 代理,避免流量被送往舊的本機或區域網路位址。手機上設定的回送位址只指向手機本身,不能用來連線到電腦上的代理服務;跨裝置連線需要使用電腦實際的區域網路位址與明確開放的監聽連接埠。

區域網路裝置探索、投放畫面與本機裝置控制,都會受到路由與名稱解析影響。若外部網頁正常但無法連線本機裝置,先確認本機位址是否被錯誤地送往代理、DNS 是否將本地域名交由不適合的路徑解析,以及系統是否已授予應用程式必要的區域網路權限。變更系統層級的隱私或網路選項前,先記下原本設定並逐項比較,不要為了解決特定相容性問題而永久關閉所有防護功能。

iOS 會管理背景程序與隧道資源,訂閱定時更新能否如預期執行,取決於應用程式實作與系統排程。若長時間沒有開啟應用程式,可先手動更新設定並查看結果,再測試連線。切換無線網路,或從行動數據切回無線網路後,先確認底層網路與訂閱狀態,再重新建立隧道。保留一份已知可用的設定,但不要將過期訂閱當成永久離線資源;節點與授權狀態仍須與服務商同步。

06 / LINUX

Linux:圖形化用戶端與 systemd 服務部署

桌面環境建議使用圖形化用戶端

若有桌面環境,請從Linux 下載頁選擇建議使用的 Clash Verge Rev 或 FlClash,並依發行版的套件格式安裝對應檔案。先使用 uname -m 確認架構,再核對下載頁提供的套件類型。若找不到套件或相依套件不足,請檢查發行版版本與套件支援範圍,不要直接將其他平台的二進位檔改名執行。圖形介面啟動後,再設定訂閱與網路連線。

在桌面用戶端新增遠端設定、啟用訂閱並手動選取節點,接著開啟目前桌面環境支援的系統代理。GNOME、KDE 與終端機工具採用系統代理的方式各有不同,圖形介面的開關無法涵蓋所有程式。先用明確指定代理的要求驗證本機連接埠,再逐一設定開發工具。啟用 TUN 還需要裝置權限與路由管理能力,請依用戶端提供的服務安裝流程操作,避免同時啟動另一個獨立核心而占用連接埠。

伺服器使用獨立的 mihomo 核心

沒有桌面環境時,請下載符合處理器架構的 mihomo 核心並解壓縮。以下命令假設目前目錄已有名為 mihomo 的解壓縮後二進位檔,以及名為 config.yaml 的完整設定。設定中必須預先寫入有效節點或提供者,不能將本頁的欄位片段當成完整服務設定。檔案可能包含訂閱憑證,部署時請限制目錄與檔案權限,不要放在公開網站目錄中。

sudo install -m 0755 ./mihomo /usr/local/bin/mihomo
sudo install -d -m 0700 /etc/mihomo
sudo install -m 0600 ./config.yaml /etc/mihomo/config.yaml
sudo /usr/local/bin/mihomo -t -d /etc/mihomo -f /etc/mihomo/config.yaml

先測試設定,修正語法、策略組引用與資源檔案錯誤後,再啟動常駐服務。若設定依賴外部規則、地理資料庫或提供者,還需確認執行使用者能存取相關目錄,並能在需要時取得資源。首次啟動後無法連線不一定是節點故障,也可能是本機缺少資源。若下載資源本身需要代理,應預先準備資源或建立明確的連線路徑,避免核心必須先連線才能取得啟動所需檔案的循環問題。

使用 systemd 管理啟動與記錄

建立 /etc/systemd/system/mihomo.service。以下範例適用於需要 TUN 管理權限的本機部署;若未指定使用者,服務會以 root 身分執行。若只提供一般本機代理,請評估使用獨立的低權限使用者;建立虛擬網卡、變更路由與繫結受限資源則需要額外權限。不了解權限需求時,不要直接照搬一組限制參數,否則服務看似啟動,卻可能無法建立網路裝置。

[Unit]
Description=mihomo local proxy service
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo -f /etc/mihomo/config.yaml
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now mihomo
sudo systemctl status mihomo --no-pager
sudo journalctl -u mihomo -n 80 --no-pager

服務啟動後,使用 ss -lntp 檢查實際監聽狀態,再透過本機代理要求驗證對外連線。若需要啟用控制介面,應繫結至回送位址並設定存取憑證;遠端管理建議透過受控隧道進行。開放控制介面與開放代理連接埠是兩種不同的風險,都不應直接暴露於公開網際網路。伺服器本機的回送位址也無法由遠端電腦直接存取,瀏覽器面板的連線目標必須符合實際部署位置。

TUN 與維護時的復原方式

Linux TUN 需要核心裝置與網路管理權限。在容器內執行還涉及裝置映射與相應權限,一般容器程序通常無法直接修改主機路由。以下片段應合併至已通過測試的 mihomo 設定,且僅在目前核心支援相應欄位時使用。auto-detect-interface 用於協助辨識對外介面,但在多網卡與策略路由環境中仍須檢查實際結果。

tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53

在遠端伺服器啟用自動路由前,請保留第二個管理連線與主控台復原方式,並確認管理流量不會被錯誤接管。網路正常後再設定開機啟動;變更設定前先測試,再重新啟動。命令列核心不會自動提供所有圖形化用戶端的訂閱定時更新功能;更新指令碼應先下載至暫存位置、測試設定,成功後再取代舊檔。部署方式與服務維護細節也可參閱Linux 桌面與 systemd 部署文章。

07 / DIAGNOSTICS

設定常見問題:連接埠、規則、DNS 與復原

依連線路徑逐步排查,不要一次修改所有設定

排查順序應固定為底層網路、設定載入、本機監聽、連線方式、規則比對與遠端連線。先關閉代理,確認裝置能瀏覽一般網頁;再確認核心沒有啟動錯誤,接著以明確指定代理的要求檢查監聽連接埠。這樣能區分本機與遠端故障。前一個環節確認正常後,下一步測試才有判斷價值;同時更換 DNS、節點與模式,會讓成功結果無法重現。

記錄先維持資訊層級,記下失敗要求的時間、目標與錯誤類型。只有在需要短時間偵錯時才提高詳細程度,完成後再恢復,避免記錄過多瀏覽內容。「連線遭拒」常見原因是目標連接埠沒有監聽;「連線逾時」可能與網路、防火牆或遠端服務有關;設定解析錯誤則發生於建立對外連線之前。錯誤文字只能縮小排查範圍,不能單獨證明責任歸屬,仍需在相同條件下比較要求結果。

症狀優先檢查項目下一步
本機代理連接埠拒絕連線核心啟動結果與監聽連接埠檢查占用程序、設定錯誤與重複執行的執行個體
明確指定代理可用,應用程式卻失敗應用程式使用的代理入口檢查獨立代理、應用程式分流與 TUN 接管範圍
部分網域走錯出口實際符合的規則與策略組選擇檢查規則順序、組名與 DNS 對應
鎖定螢幕或切換網路後中斷背景程序與底層介面狀態檢查省電限制、舊路由與隧道重建

規則順序與持續生效的覆寫設定

規則通常由上而下比對,第一條符合的項目會決定策略,因此較具體的網域規則應放在較寬泛的規則之前,預設兜底規則則放在最後。以下範例假設設定中已有名為 PROXY 的策略組;若實際名稱不同,必須一併替換。直接複製不存在的組名可能導致載入失敗或規則失效。更新規則後,請透過連線記錄驗證,不要只看編輯器是否成功儲存。

rules:
  - DOMAIN-SUFFIX,github.com,PROXY
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - MATCH,PROXY

更新節點提供者與取代完整訂閱是兩種不同操作。前者可能只更新節點資源,後者則可能連同規則與策略組一起取代。需要保留的自訂內容應使用用戶端明確支援的覆寫功能,並確認合併是在產生設定前還是之後執行。組名變更後,舊的選擇記錄不一定還能對應新組;更新後若部分服務失效,請重新檢查目前啟用的設定與各相關分組。

DNS 與 TUN 的相互影響範圍

TUN 接管 IP 封包,但網域規則需要可靠的網域資訊。DNS 劫持、核心 DNS、Fake-IP 或其他對應機制,都會影響網域與連線的關聯。只啟用虛擬網卡,不代表每個應用程式的名稱解析都會交給核心;應用程式內建的加密 DNS、系統私人 DNS 與既有快取都會改變解析路徑。排查時請比較同一網域的解析結果與連線記錄,必要時依應用程式說明清除快取後再測試。

判斷 DNS 洩漏前,先說明預期由哪個解析器處理哪些網域。直連網域採用本機解析可能是明確的分流設計,不能只因檢測頁顯示本地電信業者,就判定所有設定都有錯。反過來說,代理目標若繞過預期的解析路徑,也可能造成隱私與相容性問題。不要用單一公共 DNS 位址取代所有情境;企業網域、區域網路名稱與遠端服務可能需要不同路徑,原理請參閱TUN、路由與 DNS 接管說明。

常用判斷與復原操作

訂閱可以更新,但所有節點都無法連線,該先檢查什麼?

訂閱下載與節點連線是不同路徑。先確認訂閱授權、有效期限與流量狀態,再有限度地比較不同地區或協定的節點。檢查系統時間、目前網路限制與記錄中的交握錯誤。若所有節點都在相同階段失敗,應優先排查共同依賴,不要逐一重建相同設定。

規則模式無法使用,但全域模式正常,應一直使用全域模式嗎?

這通常表示需要檢查規則路徑或相關策略組。查看失敗目標符合的規則、選取的組與 DNS 資訊,確認要求沒有被送往錯誤的直連策略或空組。全域模式適合短時間用來比較,但會改變原本的分流範圍;找出問題後應恢復需要的模式,並以相同目標驗證修正結果。

啟用 TUN 後,區域網路或遠端管理連線中斷,該怎麼辦?

先關閉 TUN,恢復管理連線,再檢查本機網段、對外介面與既有 VPN 路由。規則中的直連選擇與系統路由的接管範圍屬於不同層級,不能只新增一條網域規則,就假定路由衝突已解決。伺服器可透過主控台復原;桌面環境則先回到單一連線方式,再逐項檢查。

結束用戶端後仍然無法上網,需要重新安裝嗎?

先檢查系統代理是否仍指向已停止的本機連接埠,再確認 VPN 是否仍處於封鎖或隨選重新連線狀態,以及系統 DNS 是否仍指向已無法連線的位址。還原原本的網路設定後再啟動用戶端。重新安裝通常仍會保留使用者設定,未必能清除造成問題的系統狀態。

修復完成後,保留最小可用設定,記錄變更項目與驗證結果,再逐步恢復自動更新、隨選連線與擴充規則。需要重新依照連線流程操作時,請返回快速入門指南;更換用戶端前先參閱用戶端選擇指南。移轉的目標是釐清設定歸屬與連線界線,而不是讓多個用戶端同時管理同一套系統網路設定。