什麼時候應該使用 TUN 模式?適用情境與使用前檢查

TUN 模式是什麼
TUN 模式是透過虛擬網卡接管系統網路請求的一種工作方式:裝置上的網路流量會先進入這張虛擬網卡,再依設定交給 VPN 處理。因為接管發生在系統層級,所以不需要逐個指定應用程式,它的涵蓋範圍比應用級分流更廣。
這個特點是雙面刃。好處是命令列工具、開發環境、虛擬機這類難以單獨辨識的程式也能一起經過 VPN;代價是被涵蓋的流量更多,對本機網路的影響也更大。
TUN 模式與系統代理有什麼不同
很多人熟悉的「系統代理」,是在系統設定裡填一個代理位址,由應用程式自己決定是否使用。瀏覽器通常會遵守這個設定,但不少命令列工具、背景服務和遊戲並不會讀取它,結果就是同一台裝置上,有的程式走了代理,有的程式沒走。
TUN 模式不依賴應用程式的配合。網路請求在系統層級就被引到虛擬網卡上,應用程式本身不需要知道代理的存在。這也是命令列和開發環境更適合 TUN 模式的原因:它們不讀取系統代理,卻需要經過 VPN。
為什麼 TUN 模式更耗流量
被涵蓋的請求更多,消耗自然更多。開啟 TUN 模式之後,除了你主動使用的應用程式,系統更新、背景同步、各種軟體的自動檢查更新,也可能一起經過 VPN。這些流量單次不大,累積起來卻不少。
在按流量計費的前提下,這一點尤其需要留意。需要長時間開啟時,建議隔一段時間看一下帳戶裡的用量,避免容量比預期消耗得更快。
和應用級分流有什麼差別
| 比較項目 | 應用級智慧分流 | TUN 模式 |
|---|---|---|
| 涵蓋範圍 | 只涵蓋分流清單裡的應用程式 | 涵蓋更廣的系統網路請求 |
| 設定方式 | 逐個選擇需要的應用程式 | 開啟後由系統層級統一接管 |
| 流量消耗 | 更容易控制 | 通常比應用級分流更多 |
| 對本機網路的影響 | 較小 | 較大,需要先確認直連需求 |
| 典型情境 | 瀏覽器、指定的客戶端 | 命令列、開發環境、虛擬機 |
一般的取捨原則是:能用應用級分流解決的問題,優先用應用級分流;只有分流清單涵蓋不到的時候,再考慮 TUN 模式。
哪些情況適合開啟 TUN 模式
命令列工具與開發環境
終端機裡執行的工具,比如拉取相依套件、複製程式碼儲存庫、呼叫 API 的指令,往往沒辦法像一般應用程式那樣被加入分流清單。開啟 TUN 模式之後,它們的網路請求也會經過 VPN,不需要再逐個去設定代理。
虛擬機和容器相關的任務
虛擬機、容器裡的程式,網路請求常常不是由某個固定的應用程式發出的,分流清單很難準確涵蓋。這類任務需要整體經過 VPN 時,TUN 模式更省事。
無法加入分流清單的軟體
有些軟體不容易被辨識,或者會啟動多個子行程,把主程式加進清單之後仍然有部分請求走了本機網路。遇到這種情況,用 TUN 模式一次性涵蓋,比反覆調整分流清單更可靠。
需要整體經過 VPN 的短時任務
比如一次性的環境建置、一次完整的部署流程,涉及的程式多、請求繁雜,逐個去設定並不現實。這類短時任務適合暫時開啟 TUN 模式,做完就關。
一個典型情境:在終端機裡拉取相依套件
比如要在終端機裡複製一個海外的程式碼儲存庫,再安裝一批相依套件。如果只用應用級分流,終端機本身和它啟動的各個子行程很難逐個加入清單;開啟 TUN 模式之後,這一連串指令發出的請求都會經過 VPN,複製和安裝可以一次完成。任務做完,關閉 TUN 模式,回到應用級分流即可,不需要一直開著。
開啟之前要檢查什麼
TUN 模式涵蓋得更廣,所以開啟之前先花一分鐘確認下面幾件事。
- 確認本機服務和區域網路裝置是否需要直連,比如本機的開發服務、共用資料夾、印表機;
- 避免與其他 VPN 或代理軟體同時接管網路,兩者疊加常常導致網路異常;
- 留意流量消耗,TUN 模式涵蓋的請求更多,容量會比應用級分流消耗得更快;
- 完成任務後視需要關閉,不需要的時候讓裝置回到正常的網路狀態。
開啟後遇到問題怎麼排查
如果開啟 TUN 模式之後,某個本機服務或區域網路裝置突然無法存取,先回想一下:這個存取原本是不是依賴本機網路。如果是,代表它被一起帶進了 VPN,可以先關閉 TUN 模式,改用應用級分流。
如果發現網路整體變慢或者頻繁斷線,檢查裝置上是否還執行著其他 VPN 或代理軟體,先關閉其中一個再試。多個軟體同時接管網路,是這類問題常見的原因。
如果只是某個應用程式無法存取,而其他應用程式正常,多半是應用程式自身的設定問題,而不是 TUN 模式本身,可以先回到應用級分流,只處理這一個應用程式。
如果開啟之後某個應用程式提示網路無法使用,可以先關閉再重新開啟一次 TUN 模式,讓虛擬網卡重新建立,同時確認客戶端和系統都已經更新到最新版本。排查的順序建議從簡單到複雜:先看有沒有其他軟體衝突,再看本機服務是否被帶進了 VPN,再懷疑設定本身。
用完之後的收尾
任務結束後,視需要關閉 TUN 模式,讓裝置回到正常的網路狀態。關閉之後,可以順手確認本機服務和區域網路裝置是否恢復正常存取。如果下次任務只涉及幾個固定的應用程式,回到應用級分流,會比一直開著 TUN 模式更省流量。
關於應用級分流的使用方法,可以先看這篇:應用級智慧分流怎麼用。


