Clash Verge 首頁有個叫 TUN 模式 的開關,很多教學會讓你「直接打開」。但它不是越開越好——理解了原理你才知道什麼時候該開、什麼時候開了反而添亂。
先說系統代理的局限
打開「系統代理」後,Clash Verge 做的事其實很簡單:往 Windows 註冊表(或 macOS 網路偏好設定)裡寫一條「HTTP 代理指向 127.0.0.1:7897」。
問題在於——這只是一個建議,程式可以不理。
典型的「不聽話」清單:
- 游戲:Steam 下載、戰網、原神登入、大部分 UDP 游戲
- 命令列:
curl、git、pip、docker pull - 部分国產軟體:自帶網路庫,不讀系統設定
- UDP 流量:系統代理只處理 HTTP/HTTPS/SOCKS,UDP 完全不管
TUN 模式做的是另一件事
TUN 不在軟體層面打招呼,而是創建一塊虛擬網路卡,然後修改系統路由表,把所有流量都往這塊網路卡上引。
對程式來說,它以為自己在正常聯網,實际上封包被送進了虛擬網路卡,交給 Mihomo 核心處理,再按規則決定直連還是轉發。
什麼時候該開
一句話原則:預設只開系統代理,遇到具體某個程式不走代理時,再打開 TUN。
開啟前要知道的四件事
1. 需要一次管理員授權
TUN 需要安裝虛擬網路卡驅動(Windows 上是 wintun)和一個系統服務。首次開啟時會彈 UAC,點「是」。裝過一次之後不再重複要求。
Clash Verge 設定裡有個 服務模式,就是干這個的。如果 TUN 開關點了沒反應,先去看服務模式是否安裝成功。
2. DNS 會被接管
TUN 模式下核心會接管 DNS 查詢,通常配合 fake-ip 模式使用。這帶來兩個副作用:
- 某些依賴本地 DNS 的內網服務可能解析不到,需要在
fake-ip-filter裡加白名單 - 用
ping測試網域時看到的是198.18.x.x這類假 IP,這是正常的,不代表出錯
3. 游戲不一定更快
TUN 讓游戲流量能走代理,但能走 ≠ 更快。游戲對延遲和丟包極其敏感,多繞一跳往往更差。真要用它加速,前提是你的節點本身線路品質足夠好(比如有 IEPL/IPLC 專線)。
另外,部分游戲的反作弊系統對虛擬網路卡有反應,開之前建議先查一下你玩的那款游戲的情況。
4. 關掉之後要確認路由復原
正常關閉 TUN 開關,核心會自己撤銷路由改動。但如果是強殺行程,可能留下殘留路由,表現為「關了軟體全網都上不去」。
補救:以管理員身份執行 ipconfig /flushdns,再重新啟動一次 Clash Verge 讓它接管後正常關閉;或者直接重新啟動電腦。
TUN 和系統代理能同時開嗎
能,而且很多人就是這麼用的。兩者不衝突:
- 認系統代理的程式 → 走系統代理路徑
- 不認的程式 → 被 TUN 在網路層兜住
不過如果你已經開了 TUN,系統代理其實是冗餘的。有些使用者會關掉系統代理只留 TUN,介面更乾淨,行為也更統一。唯一要注意的是:關掉系統代理後,某些明確設定了「使用系統代理」的軟體可能行為變化。
常見問題
Q:開了 TUN 之後區域網路內的設備訪問不了了? 檢查 rules 裡有沒有內網直連規則,正常設定應該包含:
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolveQ:TUN 開關灰的,點不動? 說明服務模式沒裝好。設定 → 服務模式 → 點「安裝」,授權後再試。
Q:開了 TUN 之後網速變慢? TUN 模式下所有流量都經過核心處理,CPU 開銷比系統代理大一些。老電腦上會有感知。另外確認 stack 設定——mixed 或 gvisor 相容性好,system 效能更高但對系統要求高一些。
小結
TUN 模式解決的是「程式不聽話」的問題,代價是需要更高權限、更多資源、更複雜的 DNS 行為。
先用系統代理,缺什麼再補 TUN——這是最省心的順序。
延伸閱讀:系統代理與 TUN 模式的實測對比、連接埠設定詳解。