本文以 Windows 桌面版 v2rayN 為例。先確認節點與本機代理運作正常,再以管理員權限啟用 TUN,最後檢查路由、DNS 和目標應用程式。這裡所說的「全面接管」是擴大流量進入的範圍,不代表所有連線都會經過代理;實際涵蓋範圍仍取決於路由、排除項目及 IPv6 設定。
一、TUN 與系統代理的差異:流量入口改變,分流仍然存在
系統代理會將代理位址寫入系統設定,由應用程式決定是否使用。瀏覽器通常會遵循這項設定,但部分命令列工具、遊戲和使用自有網路堆疊的程式不會自動套用。因此,瀏覽器能連上某個網站,不代表其他程式也走相同的代理路徑。
TUN 是第三層虛擬網路介面,接收的是 IP 封包。啟用後,客戶端會配合作業系統路由,將符合條件的封包送入 TUN,再由承載 TUN 的核心處理連線、比對規則並選擇出口。它不是將 HTTP 代理連接埠提供給所有應用程式使用。
| 比較項目 | 系統代理 | TUN 模式 |
|---|---|---|
| 流量入口 | 應用程式主動連線至本機代理位址 | 作業系統將符合路由條件的封包送入虛擬介面 |
| 應用程式配合程度 | 應用程式必須遵循系統設定,或自行填入代理設定 | 通常不需要應用程式提供代理設定選項 |
| 權限需求 | 修改目前使用者的代理設定通常不需提升權限 | 建立介面、設定路由通常需要提升權限 |
| 出口選擇 | 由代理核心的路由規則決定 | 仍由實際運作的核心路由規則決定 |
因此,「全域」至少有兩種意思:一是讓更多應用程式進入代理處理流程,二是將進入流程的連線全部交由代理出口處理。TUN 主要解決前者。區域網路直連、目標位址排除項目,以及其他虛擬網卡的專用路由,都可能讓部分連線繞過 TUN。
二、啟用前的檢查:節點、核心與本機連接埠
先確認一般代理模式運作正常,再啟用 TUN。TUN 無法修復失效的訂閱、錯誤的 VLESS 參數或不相容的 TLS 設定。如果目前節點本身無法建立連線,新增虛擬網卡只會讓更多應用程式受到影響。
- 確認目前使用的伺服器:在伺服器清單中選取已知可用的項目,並設為目前使用的伺服器。訂閱更新完成只代表成功取得清單,不代表清單中的伺服器都能連線。
- 檢查本機監聽設定:在「設定」→「參數設定」中查看本機監聽連接埠及相關選項;不同版本的介面可能使用不同的分類名稱,請以目前畫面上的欄位為準。
- 確認承載 TUN 的核心:v2rayN 是客戶端,不是單一核心。TUN 功能通常由 sing-box 承載;一般代理使用 Xray,不代表 TUN 入站也由 Xray 建立。請確認客戶端所需的核心檔案齊全,並查看啟動記錄中的實際程序資訊。
- 記下目前的網路環境:記錄正在使用的 VPN、企業網路工具及虛擬機器網卡。首次測試時,避免同時啟動多個會修改預設路由的軟體。
結論:先建立可重現的代理基準
先用明確指定本機代理的請求確認節點可用,再以未指定代理的相同請求測試 TUN。兩次使用相同目標,才能分辨是「節點無法使用」還是「流量未進入 TUN」。
三、Windows 啟用步驟:提升權限、啟用並檢查記錄
第一次設定建議直接在本機操作,不要只透過遠端桌面連線修改路由。網路中斷可能同時中止遠端工作階段。以下說明適用於主畫面提供 TUN 開關的 v2rayN;若目前版本的入口不同,請先查看參數設定中的 TUN 相關頁面,不要將介面名稱視為所有版本通用的固定路徑。
- 儲存並結束目前的客戶端。先關閉 TUN,再從系統匣選單結束 v2rayN,避免舊程序繼續占用監聽連接埠或保留執行狀態。
- 以管理員身分重新啟動。在 v2rayN 程式上按一下滑鼠右鍵,選擇 Windows 的「以管理員身分執行」,並完成系統授權。若目前的安裝方式支援其他提權機制,也請確認授權已完成。
- 選擇目前使用的節點與路由模式。先使用已確認可用的節點。保留一套自己能理解的分流規則,首次測試時不要同時匯入陌生的規則集。
- 清除系統代理以隔離測試。在主畫面或系統匣的系統代理選項中選擇清除系統代理。這麼做是為了避免瀏覽器仍透過系統代理成功連線,掩蓋 TUN 未接管流量的問題;並非所有環境都必須這麼做。
- 開啟主畫面的 TUN 開關。等待核心啟動,並查看記錄中是否出現介面建立、路由設定或啟動失敗等訊息。開關顯示為開啟,只代表客戶端已記錄此狀態,不能證明資料傳輸路徑正常。
- 檢查介面並送出新請求。在 Windows 網路介面卡清單中確認是否新增虛擬介面,再啟動需要接管流量的應用程式。已建立的長時間連線不適合用來首次測試,請先中斷連線再重新連線。
管理員權限只能解決介面與路由設定的權限問題,不會改變伺服器是否支援 UDP,也無法讓所有協定參數自動相容。如果記錄顯示欄位不受支援,請檢查客戶端產生的設定與配套核心是否相符,而非繼續增加權限設定。
四、確認流量是否接管:別只用瀏覽器判斷
以下命令請在 Windows PowerShell 中執行。第一條假設本機 SOCKS 監聽位址為 127.0.0.1:10808;若實際連接埠不同,請務必替換。使用 curl.exe 是為了明確執行該程式,避免命令別名造成參數意義不同。
curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
curl.exe --noproxy "*" --connect-timeout 10 --max-time 20 -I https://example.com/
Get-NetAdapter
route print
Resolve-DnsName example.com
- 第一條命令建立節點基準:
socks5h會將目標網域交由 SOCKS 代理端解析。如果本機只開放其他代理協定,請依實際監聽類型調整命令,不能據此判定節點失效。 - 第二條命令排除應用程式明確指定的代理:
--noproxy "*"會讓 curl 不使用應用程式層級的代理設定,但不會繞過作業系統的 TUN 路由。啟用 TUN 後,可用這條命令確認請求能否完成。 - 第三、第四條命令檢查系統狀態:查看虛擬介面是否存在,以及路由是否變更。TUN 可能透過拆分預設路由或其他機制接管流量,因此不能只因原本的預設路由仍存在就判定失敗。
- 第五條命令檢查 DNS 解析:用來查看目前系統的解析結果或錯誤,不代表瀏覽器內建的加密 DNS 也使用相同路徑。
example.com 在此僅作為命令語法範例。如果該目標原本就能直連,請求成功也不能證明已選用代理出口。請搭配該次請求的目標位址、時間及核心路由記錄,確認請求符合哪條規則;必要時在 TUN 關閉與啟用的狀態下,對同一個受控目標進行比較。
結論:分別確認流量接管與代理出口是否成功
先確認新連線已進入 TUN,再確認記錄顯示選用了預期的出口。如果符合直連規則,即使外部 IP 位址沒有改變,也不能據此認定虛擬網卡失效。
五、路由、DNS 與 UDP:最容易混淆的三個環節
TUN 接管流量後,連線仍須符合路由規則。通常應確保區域網路位址、必要的本機服務,以及代理伺服器本身的連線有正確的直連或排除路徑,避免無法存取印表機,或代理出口連線再次被送回自身而形成迴圈。請優先使用客戶端產生的配套設定,不要把其他地方的單一欄位直接塞進目前的設定檔。
| 檢查項目 | 可能的問題 | 處理方向 |
|---|---|---|
| 區域網路位址 | 路由器管理頁、共用資料夾或印表機的流量被錯誤送往代理 | 確認實際的區域網路網段,例如 192.168.1.0/24;這只是範例,不能取代本機網路資訊 |
| DNS 請求 | 解析路徑與連線路徑不一致,導致逾時或取得不適用於目前出口的位址 | 檢查 TUN 的 DNS 設定、解析器是否可連線,以及瀏覽器是否啟用了獨立的加密 DNS |
| IPv6 | 只處理 IPv4 時,部分連線可能透過 IPv6 路徑傳出 | 同時檢查 IPv6 位址、路由及 TUN 支援範圍,不要只測試 IPv4 目標 |
| UDP | 網頁可正常使用,但語音、遊戲或 QUIC 連線失敗 | 確認 TUN、所選出口及伺服器連線是否支援相應的 UDP 流量 |
DNS 劫持常見於將傳統 DNS 請求導向核心解析器,但只檢查目標連接埠 53 無法涵蓋 DoH 等加密 DNS。應用程式透過 HTTPS 自行解析時,這條連線看起來也只是一般 HTTPS 流量。排查時應分別記錄「由誰負責解析」及「解析請求從哪裡傳出」。
不同核心的設定格式不能混用。TUN 是客戶端組織核心功能的一種模式,並不是名為 tun 的通用 V2Ray JSON 頂層欄位。sing-box、Xray 與 V2Fly 的設定格式及支援範圍各不相同;手動維護設定前,請先從記錄確認實際載入的核心,再查閱相應欄位說明。基礎結構可參考JSON 設定手冊,但不要直接跨核心複製貼上。
- 測試分流時,每次只修改一條規則,並記錄實際選用的出口。
- 測試 DNS 時,請重新送出查詢;舊的快取及既有連線可能掩蓋設定變更。
- 測試 UDP 時,請使用目標應用程式實際建立的連線;HTTP 請求成功不能取代語音或遊戲測試。
六、常見問題與關閉後的網路復原檢查
請依序從啟動失敗、流量路徑,再到個別應用程式進行排查。保留問題發生時間附近的記錄,特別留意權限錯誤、介面建立失敗、位址衝突、DNS 逾時和出口連線錯誤。分享記錄前,請移除訂閱網址、認證資訊及其他敏感內容。
TUN 開關開啟後馬上又關閉?
先查看核心啟動記錄。如果是權限不足,請關閉客戶端,再以管理員身分重新啟動;如果是設定欄位錯誤,請確認配套核心與產生的設定相符。如果提示位址或介面衝突,請先停用其他正在執行的隧道,再重新嘗試,不要連續重複建立介面。
啟用後所有網站都無法開啟,要先更換 DNS 嗎?
先關閉 TUN,確認原本的網路已恢復,再使用明確指定本機代理的方式測試目前節點。節點可用後,再檢查 TUN 記錄及路由,最後才排查 DNS。如果只有網域解析逾時,再檢查解析器位址與對應出口;不要一次更換節點、路由和 DNS。
網頁正常,但遊戲或語音還是連不上?
先完全結束應用程式再重新連線,避免沿用舊的連線工作階段。接著確認該應用程式是否符合直連規則、伺服器連線是否支援 UDP,以及防火牆是否封鎖該程序。TUN 能接收封包,不代表遠端一定能轉送應用程式所需的流量。
關閉 v2rayN 後網路仍不正常,該如何復原?
建議先重新啟動客戶端,正常關閉 TUN,再清除系統代理並結束程式。確認 Windows 代理設定是否仍指向本機監聽位址,接著檢查虛擬介面與路由狀態。若仍未恢復,請先儲存工作再重新啟動系統;企業裝置請先聯絡管理員,不要大量刪除網卡。
穩定運作後,只要保留幾項設定:一個已確認可用的節點、一套看得懂的規則、一組可正常使用的解析設定,以及能正常關閉 TUN 的操作方式。更新客戶端或核心後,用相同測試再確認一次,比只看開關狀態可靠。如果只有瀏覽器需要代理,通常使用系統代理就足夠;若有不遵循代理設定的應用程式,再啟用 TUN。