使用技巧
TUN 模式全域性代理完全指南:原理、配置與常見問題
「系統代理已經開著,為什麼這個軟體還是連不上外網?」很多人用了一段時間之後都會碰到這個問題,而答案往往指向同一個功能:TUN 模式。要弄明白它是幹什麼的,得先搞清楚系統代理為什麼會失靈。
系統代理為什麼不是萬能的
「自動配置系統代理」的本質,是客戶端修改了作業系統層面的代理設定,絕大多數瀏覽器和應用在發起網路請求時會主動讀取這項設定,把流量轉發給本地代理埠。但這套機制建立在一個前提之上:應用程式必須「主動遵循」系統代理設定。命令列工具、部分遊戲客戶端、某些即時通訊軟體,出於效能或相容性考慮,往往會繞開系統代理設定直接發起連線,這些流量自然無法被代理覆蓋,表現出來就是「代理開著但這個軟體還是不通」。TUN 模式的思路完全不同:它不再依賴應用程式「主動配合」,而是在作業系統網路協議棧中建立一張虛擬網路卡(TUN 裝置),並修改系統路由表,讓幾乎所有流量在離開真實網路卡之前先經過這張虛擬網路卡。客戶端在虛擬網路卡上截獲原始資料包,解析出目標地址後按路由規則決定直連還是轉發給代理節點,再重新封裝發出去。因為這一過程發生在網路層,幾乎不依賴應用層是否「願意配合」,包括 UDP 流量、命令列工具、遊戲客戶端在內的絕大多數場景都能被覆蓋,這才是真正意義上的全域性代理。
到底什麼時候必須用它
不是所有人都需要天天開著 TUN 模式,但下面幾種情況基本繞不開它:某些包管理器、git、curl 這類命令列工具預設不讀取系統代理設定,只能靠 TUN 模式或手動指定代理參數解決;部分遊戲客戶端與啟動器出於反作弊或效能考慮,也會繞開系統代理直接連線;如果你的應用大量依賴 UDP(比如某些即時通訊、DNS over UDP),系統代理通常只處理 TCP 流量,往往完全不生效;如果你發現好幾個應用同時存在代理繞過問題,與其逐個排查逐個配置例外規則,不如直接開 TUN 模式一次性解決,省事很多。
開啟只要四步,路由規則照樣生效
開啟過程並不複雜:在系統代理選單中選擇「TUN 模式」(Windows 需要以管理員身份執行客戶端),首次開啟時系統可能彈出安全提示或要求安裝虛擬網路卡驅動,選擇允許即可;開啟成功後托盤圖示會顯示 TUN 模式已啟用,此時幾乎所有流量都會經過虛擬網路卡,但路由規則依然生效——大陸網站按規則直連,其他流量走代理,不用擔心「全域性代理」會讓所有流量都變慢。
開了之後連不上,大機率是這四個原因
TUN 模式涉及建立虛擬網路卡和修改系統路由表,屬於相對底層的操作,因此更容易和其他同樣會改網路設定的軟體產生衝突。最常見的是和傳統 VPN 客戶端衝突:兩者都想接管路由表,同時開通常會導致其中一方失效,建議不要同時開啟;其次是部分安全軟體對虛擬網路卡建立行為高度敏感,可能會攔截或報毒,需要把客戶端加入信任列表;再有就是虛擬網路卡驅動版本過舊——Windows 下常用的 WinTun 驅動如果版本偏老,容易和新系統版本出現相容性問題,更新驅動或客戶端版本通常能解決;最後如果開啟後發現內網服務連不上了,檢查一下路由規則裡是否正確保留了 geoip:private 直連規則,避免內網請求被錯誤地送進 TUN 網路卡處理。遇到問題時一個通用的排查思路是:先關閉 TUN 模式確認問題是否消失,再逐一排查上面四種情況;如果暫時解不開,也可以先切回系統代理模式,只在少數必須用到全域性代理的場景臨時開一下,用完就關,減少和其他軟體衝突的機會。
會不會更耗資源
由於所有流量都要經過虛擬網路卡多一次封包解析,TUN 模式相比單純的系統代理確實會帶來略高的 CPU 佔用,但在現在的裝置上這部分開銷通常並不明顯,大多數人不需要因為擔心效能而刻意迴避它;只有在低效能裝置或者對延遲特別敏感的場景,才建議優先嚐試系統代理模式,確有必要時再切換到 TUN 模式。
下載 v2rayN,一鍵開啟 TUN 模式
內建虛擬網路卡驅動支援,配置簡單,開箱即用。
相關文章
還沒下載客戶端?
v2rayN 內建 TUN 模式支援,下載後一鍵開啟全域性代理。