TUN 起不來,幾乎都卡在權限那一環
TUN 要建一塊虛擬網卡並接管路由,這是系統層級的動作,一般使用者權限做不到。所以它失敗的方式很單調:開關按下去,轉一下,自己彈回原位,介面上什麼都不說。
真正的資訊在日誌頁。開關彈回的那一瞬間,日誌裡通常會留下一行關於建立網卡或權限的紀錄,先去把它找出來,再對照下面四條。
先把其它代理用戶端全部關掉
虛擬網卡是獨佔資源,兩個程式搶會互相頂掉,這一步能省掉一半排查。
四個嫌疑,按順序排除
- 1
服務沒裝,或者版本對不上
最常見。用戶端升級過、服務還是舊的,就會按了沒反應。去設定裡把服務解除安裝再重裝一次,裝完重開用戶端。Windows 上裝服務要系統管理員權限,macOS 會跳窗要密碼。
- 2
授權失效
macOS 系統大版本升級之後,之前給的授權可能不再有效,需要重新授權一次。這不是出 bug,是系統換代後對輔助工具的要求變了。
- 3
防毒軟體擋了虛擬網卡
建立虛擬網卡在防毒軟體眼裡是可疑行為,會被直接阻斷,日誌裡能看到建立失敗。把用戶端主程式和它的服務一起加進白名單,不要只加主程式。
開起來了卻全網不通
這是另一類問題,不要再去折騰服務。先把系統代理關掉只留 TUN,兩個一起開會讓判斷變得很亂。還不行就換一種協定堆疊實作,換完要關掉 TUN 再重新打開才生效。仍然不通,就去看嚴格路由一類的選項,某些網卡驅動和它不相容。
- 用戶端異常結束後,去系統的網路介面卡清單確認虛擬網卡已經消失
- 殘留的虛擬網卡會導致關掉程式也上不了網,刪掉或重開機即可
- 公司內網網域解析不了時,在設定裡給這些後綴單獨放行
常見問題
提示服務未安裝,重裝了好幾次還是這句話,怎麼辦?
大概率是安裝動作本身被擋下了。Windows 上以系統管理員身分執行用戶端再裝一次;同時檢查防毒軟體的攔截紀錄,服務安裝程式被靜默刪掉的情況並不少見。
開了 TUN 之後區域網路裡的裝置存取不了,怎麼修?
TUN 把 DNS 也接管了,區域網路裝置名稱和內網網域會被送去外面解析,自然查不到。在設定裡給內網後綴指定本地 DNS,或者把它們放進不做假 IP 的名單裡。