Windows 為什麼需要用 TUN 模式?

Clash Verge Rev Windows 的基本使用情境中,開啟「系統代理」通常已足以讓瀏覽器、部分桌面應用程式連線。但系統代理本質上是透過 HTTP、HTTPS 或 SOCKS 代理設定,只有主動讀取 Windows Proxy 設定的程式才會使用它。命令提示字元、PowerShell、Git、Docker、遊戲啟動器,以及一些自行管理網路連線的應用程式,可能完全不理會系統代理,因此會出現「瀏覽器可以連線,但終端機或其他軟體仍然失敗」的情況。

TUN 模式則是在系統網路層建立虛擬介面,讓符合條件的流量先進入 Mihomo 核心,再依照設定檔中的規則分流。對使用 Windows 10 或 Windows 11 的使用者來說,TUN 特別適合需要處理多種應用程式、DNS 請求與不支援手動代理設定的場景。不過,TUN 並不是「開啟後所有問題都會自動消失」的萬用開關;它涉及管理員權限、虛擬網卡、路由、DNS 與防火牆,設定時應該依序確認,不要一次修改太多項目。

本文聚焦於 Clash Verge Rev 在 Windows 上啟用 TUN 模式的完整流程:先確認設定檔與節點可用,再安裝必要的服務、選擇合適的堆疊,最後透過瀏覽器、命令列與連線紀錄驗證流量是否真的進入核心。介面名稱可能因版本或語言不同而略有差異,若你的畫面顯示「Tun」、「Service Mode」或「核心設定」等相近文字,請以目前安裝版本為準。

合規提醒:Clash Verge Rev 與 Mihomo 是本機代理及規則管理工具,不會提供遠端節點或訂閱內容。請使用你有權使用的設定檔與網路服務,並遵守所在地法規及相關服務條款。

啟用前先確認 Windows 與設定檔

開始之前,先確認 Clash Verge Rev 可以正常啟動,而且目前使用的設定檔本身沒有語法錯誤。TUN 只負責接管流量,不能修復失效的節點、過期的訂閱或錯誤的規則。如果設定檔在一般系統代理模式下就無法連線,直接啟用 TUN 只會讓排錯範圍變得更大。

  • 確認系統版本:在 Windows 的「設定 → 系統 → 關於」查看版本與系統類型。一般 Intel 或 AMD 電腦使用 x64 版本;ARM 裝置則應選擇相符的 arm64 版本。
  • 確認程式權限:請使用目前帳戶登入 Windows,並準備好管理員核准權限。公司或學校電腦可能由群組原則限制安裝網路服務,這種情況應先詢問 IT 管理員。
  • 確認設定檔:在「設定檔」或「Profiles」頁面選取有效的 YAML 設定檔,確認策略組中有可用節點,並先完成一次延遲測試。
  • 記錄原本狀態:如果目前已開啟 Windows 系統代理,先記下 HTTP 混合埠、控制器或自訂 DNS 等設定,方便發生問題時還原。

建議先暫時關閉其他會建立虛擬網卡或攔截流量的工具,例如其他 VPN、舊版代理客戶端、流量過濾器或企業安全軟體的網路模組。多個程式同時修改路由表與 DNS,可能造成 TUN 看似已啟用,實際上封包卻被另一個介面截走。若電腦上仍保留 Clash for Windows,最好不要讓兩個客戶端同時啟動核心。

第一步:安裝 Service Mode 與授予管理員權限

在 Windows 上,TUN 通常需要透過服務或管理員權限建立虛擬網卡並寫入必要的路由。Clash Verge Rev 的不同版本可能將這項功能放在「設定」、「系統設定」或「Service Mode」區域,但核心概念相同:先讓程式取得可管理網路介面的權限,再開啟 TUN。

  1. 開啟 Clash Verge Rev,進入左側的「設定」頁面,尋找「Service Mode」、「服務模式」或相近的系統權限選項。
  2. 點選安裝或啟用服務。Windows 若顯示使用者帳戶控制視窗,請確認發行者與程式來源無誤後按「是」完成授權。
  3. 等待介面顯示服務已安裝或正在執行。若按鈕持續轉圈,先以系統管理員身分重新啟動 Clash Verge Rev,再重試一次。
  4. 回到 TUN 設定區,確認「啟用 TUN」開關已可操作。若開關仍呈現灰色,通常代表服務尚未成功啟動,或目前帳戶沒有足夠權限。

小提示:服務安裝完成後,不代表 TUN 已經接管流量。請把「服務已啟動」、「TUN 已啟用」與「連線確實經過代理」視為三個獨立檢查項目,避免只看到一個綠色狀態就判定設定成功。

第二步:選擇 TUN 參數並啟用接管

完成 Service Mode 後,進入 Clash Verge Rev 的 TUN 設定區。部分版本會將底層參數直接顯示在圖形介面,部分版本則由目前設定檔或核心預設值控制。初次設定不建議追求太多進階選項,應先使用穩定、容易判斷的組合,確認基本流量正常後再微調。

  1. 開啟「TUN 模式」「啟用 TUN」開關,等待虛擬網卡建立完成。
  2. 若有「堆疊」選項,優先使用 mixed;若目前版本或特定應用程式與 mixed 不相容,再測試 gvisor。不要在問題尚未定位前頻繁切換多個堆疊。
  3. 勾選「自動偵測介面」或相近選項,讓核心在 Wi-Fi、乙太網路與行動熱點之間切換時重新判斷主要出口。
  4. 若畫面提供「嚴格路由」選項,初次可先保持預設值。啟用後若部分區域網路、印表機或公司內部網站無法連線,再依需求加入排除規則。
  5. 確認 DNS 模式與設定檔相容,然後重新載入設定檔或重新啟動核心,讓所有變更確實生效。

TUN 與 Windows 系統代理的用途不同。TUN 主要負責網路層接管,而系統代理則是提供給遵循 Windows Proxy 設定的應用程式。兩者能否同時開啟,取決於版本、設定檔與使用情境;若你遇到回圈、速度變慢或連線被重複轉送,建議先只保留 TUN 進行測試,再視需要恢復系統代理。尤其是瀏覽器已設定獨立代理時,不要同時疊加瀏覽器代理、系統代理與 TUN,否則很難判斷實際出口。

重要提醒:啟用 TUN 後若整台電腦突然無法上網,先在 Clash Verge Rev 關閉 TUN,而不是立刻刪除設定檔。確認網路恢復後,再查看核心日誌、DNS 錯誤與虛擬網卡狀態,逐項縮小問題範圍。

第三步:用三種方式驗證 TUN 是否生效

「TUN 開關顯示開啟」只能證明介面嘗試啟動,不能證明應用程式流量已依規則通過代理。建議完成設定後,依序做以下測試,並在每次測試期間觀察 Clash Verge Rev 的「連線」或「Connections」頁面。

  1. 先測試瀏覽器:開啟一個平時會產生 HTTPS 連線的網站,再回到連線列表查看主機名稱、命中的規則與所使用的策略組。若完全沒有新連線紀錄,可能是核心未執行或流量沒有進入 TUN。
  2. 再測試 PowerShell:執行 curl.exe -I https://example.com 或你平時使用的合法服務網址。Windows PowerShell 中的 curl 可能是別名,使用 curl.exe 可以避免輸出格式造成誤判。
  3. 最後測試實際應用:執行一次 Git、套件管理器或不提供代理輸入框的桌面程式,觀察連線列表是否出現對應主機。這一步最能確認 TUN 是否解決了系統代理無法覆蓋的應用場景。

測試時不要只看網站是否打得開,也要看命中規則與出口是否符合預期。例如設定檔使用「規則模式」時,某些網域可能依照 DOMAIN-SUFFIXGEOIPMATCH 規則走不同策略。若連線顯示為 DIRECT,這不一定代表 TUN 失效,可能只是規則本來就要求直連。真正需要確認的是:連線是否出現在核心列表、DNS 是否由預期的核心處理,以及策略組是否選到了可用節點。

常見故障:TUN 已開啟但仍然無法連線

Windows 上最常見的誤判,是把所有問題都歸因於 TUN。實際排查時,可先依照症狀分類,避免重複安裝或反覆改動設定。

現象 可能原因 建議處理方式
TUN 開關無法開啟 Service Mode 未安裝、服務停止或權限不足 以管理員身分重啟程式,重新安裝服務並檢查 Windows 服務狀態
瀏覽器能用,終端機不能用 終端機未讀取系統代理,或 TUN 沒有真正接管 查看 Connections,確認終端機產生的主機連線是否進入 Mihomo 核心
所有網站都顯示 DNS 錯誤 DNS 模式、虛擬網卡或上游 DNS 設定互相衝突 先恢復預設 DNS,重新載入設定檔,再逐項加入自訂設定
區域網路裝置無法存取 嚴格路由攔截內網流量,或缺少私有網段直連規則 為區域網路加入適當的 DIRECT 規則,並確認不影響外部流量
啟用後速度變慢或頻繁斷線 節點品質、堆疊選擇、MTU 或其他 VPN 軟體衝突 固定單一節點測試,關閉其他虛擬網路工具,再比較 mixed 與 gvisor

若 TUN 啟用後 Windows 網路圖示顯示「無網際網路」,先不要急著重置整個網路。依序關閉 TUN、關閉系統代理、退出 Clash Verge Rev,確認一般網路是否恢復;接著重新啟動程式與 Service Mode。若仍無法恢復,可在「網路連線」中查看虛擬介面是否反覆出現或消失,並檢查 Windows Defender 防火牆是否封鎖了核心執行檔。公司環境則可能需要 IT 將服務、虛擬網卡或特定執行檔加入允許清單。

此外,請特別留意設定檔中的 DNS、路由與排除項目。某些設定會將所有 DNS 請求導向虛擬介面,若上游伺服器本身不可達,就會造成「看起來像整個 TUN 壞掉」的結果。最有效的做法是先回到簡單設定:使用一個已知可用的節點、預設堆疊、基本規則與自動介面偵測,確認通路後再恢復進階 DNS、腳本或自訂路由。

建立可回復的日常使用流程

完成第一次配置後,建議把 TUN 使用流程固定下來。開機時先讓 Clash Verge Rev 與 Service Mode 啟動,再確認設定檔更新成功,最後才開啟 TUN。若訂閱更新失敗,不要直接覆蓋目前仍可使用的設定檔;可以先保留舊版本,待新檔案通過解析與節點測試後再切換。這樣即使遠端訂閱暫時中斷,也不會讓整台 Windows 電腦突然失去原本的連線能力。

平時排錯時,最好記錄三項資訊:發生問題的時間、Connections 中顯示的主機與命中規則,以及當時使用的節點或策略組。單純描述「TUN 不能用」通常不足以定位原因;如果能指出是 DNS 解析失敗、TCP 連線逾時、TLS 握手失敗,還是流量根本沒有出現在核心列表,處理速度會快很多。更新 Clash Verge Rev 或 Mihomo 核心後,也應重新檢查 Service Mode、TUN 堆疊與 Windows 防火牆,因為版本升級可能改變服務名稱或權限流程。

相較於部分同類 Windows 工具只提供單一「一鍵代理」開關,或仍停留在過時的核心與服務機制,Clash Verge Rev 的不足是選項較多、初次設定需要理解 TUN、系統代理與規則模式的差異;但它也提供較完整的 Mihomo 核心控制、連線紀錄與設定檔管理,方便你依本文流程逐項驗證,而不是只能反覆重裝。若你想在 Windows 上把終端機、桌面應用程式與瀏覽器納入一致的分流管理,不妨先前往下載合適的 Clash 客戶端,再依照權限、服務、TUN 與連線測試的順序穩定完成設定。