安裝 · 匯入 · 接管 · 驗證

全平台指南

這是一份針對實際設定流程的系統化查閱手冊,涵蓋 Windows、macOS、Android 與 Linux。若只想儘快完成首次連線,可先依照快速入門完成主要流程;遇到平台差異、代理範圍、DNS、路由或日誌問題時,再回到本頁查閱對應章節。

v2rayN v2rayNG v2flyNG 訂閱匯入 系統代理與 TUN

01 / PREPARATION

通用準備:先確認裝置、訂閱與復原方式

用戶端安裝並不複雜,真正容易出錯的是開始前未釐清裝置架構、訂閱內容與流量接管方式。先確認這些條件,後續的安裝、匯入與疑難排解就會清楚許多。

用戶端與平台如何對應

桌面裝置建議優先使用 v2rayN。它支援 Windows、macOS 與 Linux,適合透過圖形介面管理訂閱、節點、路由與代理狀態。Android 上建議優先考慮 v2rayNG;若訂閱或使用環境明確以 V2Fly 核心為主,也可以選擇 v2flyNG。兩款 Android 用戶端的介面細節與核心取向不同,但基本流程相同:匯入訂閱、更新節點、選擇設定、啟動本機 VPN 接管,接著進行存取驗證。

不要把用戶端、核心與訂閱混為一談。用戶端負責介面、設定管理與系統接管;Xray 或 V2Fly 等核心負責依設定建立連線與處理流量;訂閱連結則由服務提供者產生,通常包含伺服器位址、連接埠、使用者識別碼、傳輸方式,以及 TLS 或 REALITY 等參數。安裝用戶端不會自動產生可用節點,訂閱匯入成功也不代表其中每個節點都能連線。

平台、用戶端與安裝前重點
平台 建議用戶端 安裝前確認 主要接管方式
Windows v2rayN 系統架構、安裝目錄權限、舊代理狀態 系統代理或 TUN
macOS v2rayN Apple Silicon 或 Intel、首次執行授權 系統代理或 TUN
Android v2rayNG、v2flyNG 處理器架構、背景限制、VPN 授權 本機 VPN 接管
Linux v2rayN 發行版套件格式、桌面環境、管理員權限 桌面代理或 TUN

準備訂閱資訊,但不要急著重複匯入

開始前應準備一個仍在有效期限內且可正常存取的訂閱網址。訂閱連結屬於敏感設定資料,不應貼到公開貼文、截圖或多人共用的文件中。若服務提供者給的是單一 VMess、VLESS 或其他分享連結,可以使用用戶端的「從剪貼簿匯入」功能;若提供的是訂閱網址,則應建立訂閱群組並執行一次更新。兩種入口處理的對象不同:單一連結通常會產生一個節點,訂閱網址則可能產生一組由服務提供者維護的節點。

首次匯入前,先檢查連結頭尾是否含有空格、通訊軟體是否截斷參數、瀏覽器是否改寫特殊字元。匯入後,重點查看節點名稱與數量是否符合預期,不要立即連續點擊更新。若訂閱更新失敗,應先判斷是網址本身無法存取、系統時間錯誤、憑證交握失敗,還是目前網路需要先透過既有代理才能存取訂閱服務。持續重複更新只會產生更多相同日誌,不會改變根本原因。

記錄原有代理與 DNS 狀態

設定前先記錄系統代理是否啟用、區域網路位址是否手動設定、瀏覽器是否安裝獨立代理規則,以及系統 DNS 是否為手動值。最穩妥的做法是擷取系統網路設定,或將關鍵值記錄在本機筆記中。之後若出現網頁無法開啟、區域網路裝置失聯,或退出用戶端後仍殘留代理,就能依原狀態復原。尤其在公司、學校或需要固定代理的網路環境中,不應直接覆寫既有設定而不留下記錄。

也應確認系統時間與時區正確。TLS 與 REALITY 連線都依賴合理的時間判斷,明顯偏差可能表現為憑證失敗、交握中止,或連線剛建立便關閉。時間問題無法透過更換路由規則解決,因此應在協定參數之前檢查。

下載入口與架構選擇

所有用戶端入口集中在下載頁。Windows 常見裝置選擇 x64;macOS 需根據「關於這台 Mac」中的晶片類型選擇 Apple Silicon 或 Intel;Android 近年的主流裝置通常使用 arm64,不確定時可選通用套件;Linux 除了 x64 與 arm64 外,還要依發行版選擇 deb 或 rpm。架構選錯通常會表現為安裝程式拒絕執行、系統回報格式錯誤,或應用程式啟動後立即退出,這與訂閱是否可用無關。

安裝前關閉舊用戶端,並清除其仍在生效的系統代理,不必同時保留多個用戶端爭用同一個本機連接埠。若確實需要並行比較,應為每個用戶端設定不同的本機監聽連接埠,並明確目前由誰修改系統代理。準備工作完成後,再進入對應平台章節逐項操作。

02 / WINDOWS

Windows:v2rayN 安裝、訂閱與系統代理

Windows 章節以 v2rayN 為主。先完成安裝與訂閱更新,再選擇系統代理或 TUN;不要以「測試成功」取代實際存取驗證。

選擇桌面版或經典 WPF 版

下載頁提供 v2rayN 桌面版與經典 WPF 版。桌面版採用新一代跨平台介面,適合希望在不同桌面系統間維持相近操作邏輯的使用者;WPF 版是 Windows 上長期使用的經典介面,選單位置與教學資料相對穩定。兩者都能完成訂閱管理、節點選擇、路由設定與系統代理控制。首次使用時只安裝其中一種,避免兩個執行個體同時常駐並修改同一套系統代理。

Windows 下載入口取得合適的安裝套件後,先退出正在執行的舊版本。若使用安裝形式,依安裝介面選擇目前使用者可寫入的目錄;若採用解壓縮執行形式,應放在長期保留且具有寫入權限的位置,不要直接從壓縮檔預覽視窗啟動。用戶端需要寫入設定、日誌與核心相關檔案,目錄不可寫入會導致設定儲存失敗,或每次啟動都像首次執行。

首次啟動與訂閱群組

啟動 v2rayN 後,先進入訂閱群組管理,新增群組名稱並貼上訂閱網址。群組名稱應表達用途,例如「日常訂閱」或「測試群組」,不建議將完整訂閱網址當作名稱。儲存後執行更新訂閱,並在主清單中確認節點確實寫入。若清單仍為空白,查看提示訊息與日誌:網址回傳網頁而非訂閱內容、連結已過期、存取被重新導向至登入頁,都會造成解析失敗。

訂閱群組是管理入口,不是連線狀態。更新成功只代表用戶端取得並解析了設定。接著選擇一個節點作為目前使用項目,再執行實際連線測試。測試時優先觀察能否建立連線,以及日誌是否出現明確錯誤,不要只看下載測速。測速還會受到目標伺服器、線路壅塞與本地頻寬影響,不能單獨證明系統代理已接管瀏覽器。

從單一連結匯入與核對參數

如果取得的是單一分享連結,可以複製後使用「從剪貼簿匯入批次 URL」。匯入完成後開啟節點編輯介面,核對伺服器位址、連接埠、使用者識別碼、傳輸方式、安全層與伺服器名稱等欄位是否完整。VLESS 設定使用 TLS 或 REALITY 時,還可能包含 flow、指紋、公鑰、短識別碼與 serverName。不要為了「相容」而隨意刪除不熟悉的參數;這些值往往必須與伺服器端一致。

遇到 VMess 與 VLESS 不知道如何選擇時,不必只依協定名稱判斷速度。協定負責身分與資料格式,TLS、REALITY、WebSocket、gRPC 等則屬於安全與傳輸組合,最終能否使用取決於整套參數是否匹配。可進一步閱讀VMess 與 VLESS 參數差異,再回到用戶端逐項比對。

先測試系統代理

對大多數瀏覽器與遵循 Windows 系統代理的桌面應用程式,首次設定先使用系統代理較容易定位問題。在 v2rayN 的系統代理選單中選擇「自動設定系統代理」,再依需求選擇路由模式。此操作會將系統代理指向用戶端的本機監聽連接埠,但不代表所有應用程式都會自動遵循。部分遊戲、命令列工具、虛擬機器與自行實作網路堆疊的軟體可能繞過系統代理。

啟用後先造訪一個平時能穩定開啟的普通網站,確認基礎網路未中斷,再造訪用於驗證代理路徑的目標網站。同時查看用戶端日誌是否出現對應連線。如果瀏覽器仍使用舊連線,可以完全關閉後重新開啟瀏覽器,或建立無快取的新視窗重新測試。詳細的交叉確認方法可參考v2rayN 首次連線驗證

TUN 的權限與界線

當應用程式不遵循系統代理,或需要統一接管更多網路流量時,再考慮 TUN。TUN 會建立虛擬網路介面並透過路由規則接收流量,通常需要管理員權限與驅動程式支援。啟用前先清除系統代理,或明確劃分兩者職責,避免同時開啟後無法判斷實際路徑。若啟動時提示權限不足,應退出用戶端後以管理員身分執行;若虛擬介面建立失敗,則檢查舊 TUN 驅動程式、其他 VPN 類軟體與安全性原則是否衝突。

TUN 不是「連線更快」的開關,它改變的是接管範圍。區域網路存取、虛擬機器網路、開發環境與公司內網可能受到路由影響。啟用後應測試本機閘道、區域網路裝置與常用內網網域,並確認私有位址由直連規則涵蓋。出現內網無法存取時,先關閉 TUN 驗證是否恢復,再檢查 geoip:private 或私有網段直連規則,而不是立即更換節點。

Windows 常見衝突

連接埠被占用是 Windows 上的常見問題。若日誌提示本機監聽失敗,檢查是否有另一個 v2rayN 執行個體、舊用戶端或除錯工具使用相同連接埠。不要只隨意改成更大的連接埠;修改後還需讓系統代理、瀏覽器擴充功能與依賴該連接埠的應用程式同步更新。安全軟體攔截核心程序時,也可能出現介面正常但完全沒有連線日誌的情況,應結合系統事件與用戶端日誌判斷。

另一個常見誤區是把「延遲測試有結果」當作連線完成。延遲測試可能只驗證 TCP 建立連線,實際連線測試才會依節點協定發起真實請求。即使實際連線成功,系統代理未啟用時,瀏覽器仍可能直接連線。完整驗證順序應為:選擇節點、執行實際連線測試、啟用一種接管方式、重新發起瀏覽器請求、在日誌中找到對應網域或目標連線,最後再測試其他應用程式。

03 / MACOS

macOS:晶片選擇、執行授權與代理接管

在 macOS 上使用 v2rayN 時,安裝套件架構、首次執行授權與系統網路權限是三個獨立環節。應用程式能開啟,不代表虛擬介面或系統代理已取得所需權限。

先確認 Apple Silicon 或 Intel

開啟系統的「關於這台 Mac」查看晶片資訊。顯示 Apple M 系列時選擇 arm64 安裝套件;顯示 Intel 處理器時選擇 x64 安裝套件。架構與用戶端功能沒有高低之分,只需與裝置匹配。若在 Apple Silicon 裝置上誤裝 Intel 建置版本,系統可能要求額外的轉譯環境,也可能出現效能或相容性問題,因此應優先使用原生 arm64 版本。

macOS 下載入口取得對應的 dmg 後,開啟磁碟映像並將應用程式拖曳至「應用程式」目錄,再從該目錄啟動。不要長期從唯讀磁碟映像中執行,因為應用程式更新、輔助元件與設定寫入可能受到限制。首次啟動若遭系統阻止,應在「隱私權與安全性」設定中查看這次攔截紀錄並確認執行,而不是關閉整個系統安全機制。

匯入訂閱與選擇節點

進入訂閱群組管理,新增訂閱名稱與網址,儲存後執行更新。macOS 上常見的訂閱失敗不一定來自用戶端:系統 DNS 無法解析、目前網路需要網頁驗證、時間不準確或訂閱服務憑證異常,都可能導致請求失敗。先用瀏覽器確認網路驗證已完成,再查看日誌是解析失敗、連線逾時,還是回傳內容無法辨識。

節點出現後,先選擇一個設定執行實際連線測試。若同一訂閱中只有部分節點失敗,應比較失敗節點的伺服器名稱、連接埠、傳輸方式與 TLS 或 REALITY 參數,不要直接刪除整個訂閱。若所有節點都在交握階段失敗,則優先檢查系統時間、網路是否攔截目標連接埠,以及訂閱是否已更新至新的使用者識別碼。

系統代理適用於哪些應用程式

macOS 系統代理會寫入目前網路服務的代理項目。瀏覽器與遵循系統網路設定的應用程式通常能使用,但終端機命令、部分開發工具與自行維護連線的程式未必會跟隨。啟用後應進入系統網路詳細資料,查看代理狀態是否變更,並確認目前操作的是正在使用的網路服務。裝置同時保留無線網路、有線網路或多個網路位置時,修改錯誤的服務會表現為用戶端顯示已啟用,但實際流量沒有變化。

命令列工具通常需要自己的環境變數或設定。若只想讓目前的終端機工作階段暫時使用用戶端監聽連接埠,可以依用戶端實際顯示的本機連接埠設定環境變數。以下僅展示寫法,連接埠應以本機設定為準:

export http_proxy="http://127.0.0.1:本機HTTP連接埠"
export https_proxy="http://127.0.0.1:本機HTTP連接埠"
export all_proxy="socks5://127.0.0.1:本機SOCKS連接埠"

這類環境變數只會影響目前 shell 及其子程序,不應在未確認連接埠的情況下永久寫入啟動檔。測試結束後可執行 unset http_proxy https_proxy all_proxy 還原。若工具本身支援獨立代理設定,優先在工具內明確設定,方便之後辨識來源。

TUN 與網路擴充功能授權

需要接管不讀取系統代理的應用程式時,可以評估 TUN。首次啟用可能觸發管理員驗證或網路擴充功能授權。完成授權後仍應回到用戶端確認虛擬介面是否成功建立,並在日誌中觀察路由寫入結果。只看到系統彈窗並點選允許,不代表 TUN 已穩定執行;介面建立、DNS 接管與路由下發都可能個別失敗。

在 macOS 上同時執行其他 VPN 類工具、網路過濾器、企業安全軟體或虛擬化網路時,路由優先順序可能互相影響。疑難排解時先關閉其他會修改預設路由或 DNS 的程式,只保留 v2rayN 與基礎網路。若問題消失,再逐一恢復程式。不要同時切換節點、路由模式與多個網路擴充功能,否則日誌時間線會混在一起。

睡眠喚醒與 DNS 快取

裝置從睡眠狀態恢復後,網路介面與預設路由可能重新分配。若用戶端介面仍顯示執行中,但新請求持續逾時,可先停止接管、等待網路恢復,再重新啟動。頻繁切換無線網路時也應如此。若網域連線失敗而直接存取已知 IP 的測試正常,問題更可能出在 DNS 路徑,應檢查用戶端 DNS 設定、系統解析結果,以及路由規則是否將 DNS 請求送往無法存取的出口。

不要把清除 DNS 快取當成固定步驟。只有在網域記錄明顯過期、切換解析策略後仍回傳舊值時,才需要處理。多數代理問題來自接管方式、路由匹配或節點參數,反覆重新整理快取不會修復交握失敗。退出用戶端前先清除系統代理;若使用 TUN,則先正常停止 TUN,讓用戶端撤銷介面與路由後再退出。

04 / ANDROID

Android:v2rayNG、v2flyNG 與背景連線

Android 上建議優先使用 v2rayNG,需要 V2Fly 核心取向時可選擇 v2flyNG。系統透過本機 VPN 介面接管流量,因此授權、應用程式分流與背景限制比桌面系統更重要。

選擇 arm64 或通用套件

近年的主流 Android 手機通常使用 arm64 架構,確認裝置架構時優先選擇 arm64 套件;無法確認或安裝程式提示不相容時,可使用通用套件。通用套件涵蓋範圍較廣,但體積通常會包含多種架構資源。架構只決定應用程式能否在處理器上執行,不會改變節點協定與訂閱內容。下載入口依 v2rayNG 在前、v2flyNG 在後的順序列出,可前往Android 下載區選擇。

安裝前若裝置中已有同名應用程式,應確認簽章來源與現有設定是否需要保留。系統拒絕覆蓋安裝時,不要直接解除安裝後才想起尚未備份訂閱。可以先記錄訂閱網址、路由模式、應用程式分流與 DNS 設定,再決定升級或重新安裝。訂閱網址屬於敏感資訊,備份檔案也應只儲存在受控位置。

匯入訂閱與單一節點連結

開啟 v2rayNG 後,可以透過訂閱群組新增網址並更新,也可以從剪貼簿匯入單一分享連結。若使用 QR Code,應確認 QR Code 來自可信來源,掃描後仍需檢查伺服器位址、連接埠、使用者識別碼、傳輸方式與安全參數。掃描只是減少手動輸入,不會驗證設定是否正確。

訂閱更新後,點選節點名稱使其成為目前設定,再啟動連線。Android 會要求建立 VPN 連線,這是系統為本機流量接管提供的標準授權。若裝置已有其他 VPN 類連線,系統通常只允許其中一個保持啟用,應先停止舊連線。拒絕授權彈窗後,用戶端無法僅靠背景服務完成接管,需要重新啟動並允許授權。

應用程式分流與繞過選項

應用程式分流用於決定哪些應用程式進入本機 VPN 介面。首次連線建議暫時不要啟用複雜分流,先讓一個瀏覽器完成驗證。確認基礎連線正常後,再依「僅代理選取的應用程式」或「繞過選取的應用程式」邏輯設定。兩種模式的含義相反,切換後應重新檢查清單,避免將目標應用程式放到錯誤的一側。

銀行、區域網路控制、投放畫面與裝置探索類應用程式可能依賴本地網路,應依實際需求設定直連。將應用程式設為直連不代表它不受 DNS 影響;若 DNS 請求仍由用戶端接管,網域解析結果也可能改變。遇到某個應用程式異常而瀏覽器正常時,先清除該應用程式的分流限制重新測試,再檢查它是否使用 QUIC、私有 DNS 或固定位址,不要先修改全域節點。

背景限制與斷線重連

Android 製造商常對背景服務實施電池最佳化、休眠與自動啟動限制。常見表現是鎖定螢幕一段時間後連線停止、切換網路後未恢復,或系統回收用戶端程序。處理時先在系統電池統計中確認用戶端是否受到限制,再為其選擇合適的背景策略。並非所有裝置都需要完全解除限制;應先觀察,再只調整影響連線的項目,避免把持續流量誤判為系統限制。

頻繁重連也會增加耗電。若日誌中反覆出現網路變更、連線逾時與立即重試,應區分是行動網路訊號不穩、節點無法存取,還是系統在背景暫停網路。可以在同一地點保持螢幕亮起測試一段時間,再鎖定螢幕比較。詳細疑難排解順序請見v2rayNG 背景耗電異常疑難排解

私有 DNS 與用戶端 DNS

系統私有 DNS、瀏覽器內建安全 DNS 與用戶端 DNS 可能同時存在。首次排查時應先釐清目前由誰解析網域。若系統私有 DNS 設為嚴格主機名稱,但該服務在目前網路中無法存取,可能在代理啟動前就造成網域解析失敗。可先恢復自動模式驗證,再決定是否讓用戶端接管 DNS。

用戶端 DNS 的作用不只是「更換伺服器」,還涉及網域請求經由哪個出口傳送、路由規則依網域還是解析後的 IP 進行匹配,以及是否需要避免本地結果與代理出口不一致。若只有網域失敗而節點伺服器位址是 IP,可重點檢查 DNS;若伺服器位址本身無法建立 TCP 或協定交握,調整 DNS 伺服器通常沒有作用。

切換無線網路與行動網路

網路切換會更換本地位址、預設路由與 NAT 狀態,原有連線可能無法繼續重用。切換後等待系統網路穩定,再觀察用戶端是否自動重建。如果介面顯示已連線但沒有新日誌,可停止後重新啟動本機 VPN。不要快速連續點擊啟動按鈕,以免舊服務尚未釋放介面時又建立新的執行個體。

排查完成後,如果只在某個無線網路失敗而行動網路正常,檢查該網路是否需要網頁登入、是否限制目標連接埠,以及 DNS 是否回傳異常結果。若兩個網路都失敗,再回到節點參數、訂閱有效性與系統時間。透過這種對照,可以將「裝置設定問題」與「目前網路問題」區分開來。

05 / LINUX

Linux:發行版安裝、桌面代理與 TUN 權限

Linux 章節針對具備桌面環境的 v2rayN 使用情境。先依發行版與架構選擇套件,再確認桌面代理介面、權限與服務相依性。

deb、rpm 與處理器架構

Debian、Ubuntu 及其常見衍生發行版通常使用 deb;Fedora、Rocky Linux、openSUSE 等環境常見 rpm,但具體仍應以發行版套件管理體系為準。一般桌上型電腦多為 x64,arm64 常見於部分開發板與 ARM 桌面裝置。可以執行 uname -m 查看架構:常見輸出 x86_64 對應 x64,aarch64 對應 arm64。

uname -m
cat /etc/os-release

Linux 下載入口取得相符的 v2rayN 套件。安裝本機 deb 時,可在套件所在目錄使用系統套件管理器處理相依性;rpm 發行版也應使用自身的套件管理器,而不是只解壓縮檔案。以下命令中的檔案模式需要與實際下載名稱相符,並確認目錄中沒有多個舊套件:

sudo apt install ./v2rayN*.deb
sudo dnf install ./v2rayN*.rpm

若系統提示架構不相符,回到下載頁重新選擇,不要使用強制參數跳過。若提示缺少相依套件,先重新整理發行版軟體來源,並確認桌面環境版本受到支援。以強制忽略相依性的方式安裝,往往只會將錯誤延後至啟動階段。

首次啟動與設定目錄

從桌面應用程式選單啟動 v2rayN,確認介面、系統匣與設定儲存都正常。若從終端機啟動能看到錯誤,而桌面選單沒有反應,可以從終端機執行應用程式入口,觀察缺少函式庫、顯示服務或權限提示。不要長期以 root 身分執行整個圖形用戶端,否則設定目錄可能歸 root 所有,之後普通使用者啟動時將無法寫入。

訂閱管理流程與其他桌面平台一致:新增群組、貼上訂閱網址、儲存、更新、選擇節點並執行實際連線測試。Linux 桌面通常會區分系統與使用者工作階段的代理設定,因此用戶端顯示「設定成功」後,還應進入桌面網路設定,檢查目前使用者的代理值。若使用輕量桌面或獨立視窗管理器,可能沒有統一的系統代理介面,需要為瀏覽器與特定應用程式分別設定。

桌面代理與環境變數

GNOME、KDE 等桌面環境提供系統代理設定,但應用程式是否遵循仍取決於其網路實作。瀏覽器通常可以跟隨桌面代理,終端機工具則經常讀取環境變數或自己的設定。暫時測試時可在目前 shell 設定代理變數,結束後立即取消:

export http_proxy="http://127.0.0.1:本機HTTP連接埠"
export https_proxy="$http_proxy"
export all_proxy="socks5://127.0.0.1:本機SOCKS連接埠"

# 測試結束
unset http_proxy https_proxy all_proxy

這裡的連接埠必須從 v2rayN 設定中讀取。若用戶端只監聽本機回環位址,區域網路中的其他裝置不能直接使用該連接埠,這是較穩妥的預設界線。只有明確需要共用代理時才考慮監聽區域網路位址,同時檢查防火牆與存取控制,避免將未授權的代理入口暴露給同一網路中的其他裝置。

TUN、權限與路由衝突

Linux TUN 依賴核心裝置、網路管理權限與路由寫入能力。首先確認 /dev/net/tun 存在,再從用戶端日誌判斷是裝置不可用、權限不足,還是路由規則寫入失敗。不要直接為整個應用程式永久授予 root 權限。優先使用用戶端提供的授權流程或系統能力設定,並了解升級後可執行檔變更可能使舊授權失效。

ls -l /dev/net/tun
ip route
ip rule

容器、虛擬機器、公司 VPN 與多網卡環境可能已有策略路由。啟用 TUN 前儲存 ip routeip rule 輸出,啟用後再比較新增項目。若內網失聯,重點檢查私有網段是否被送入 TUN、預設路由優先順序是否變更,以及 DNS 請求是否進入不同的命名空間。關閉 TUN 後應確認新增介面與規則已撤銷。

DNS 與 systemd-resolved

Linux 的解析鏈可能包含應用程式、glibc、NetworkManager、systemd-resolved 與上游 DNS。修改用戶端 DNS 後,不能只看 /etc/resolv.conf 的表面內容,因為它可能是指向本機解析服務的連結。可使用 resolvectl status 查看每個介面的 DNS 與網域設定,再結合用戶端日誌判斷查詢是否真正進入代理。

resolvectl status
getent hosts example.com
ss -lntup

ss 可用於確認本機代理連接埠是否正在監聽,以及是否發生衝突。若用戶端退出後網路異常,先清除桌面代理與 shell 環境變數,再檢查 TUN 介面與策略路由。重新啟動裝置雖然可能恢復狀態,但會遺失最有價值的現場資訊;在重新啟動前儲存日誌與路由輸出,更有利於找出根本原因。

06 / NETWORK POLICY

系統代理、TUN、路由與 DNS 的分工

這四項經常出現在同一個設定頁面,但所解決的問題不同。先釐清流量如何進入用戶端,再討論進入後走直連還是代理,最後確認網域在哪裡解析。

接管方式決定哪些流量進入用戶端

系統代理本質上是向應用程式提供一個 HTTP 或 SOCKS 代理入口。只有讀取並遵循系統設定的應用程式才會使用它,優點是界線清楚、啟用與復原簡單,適合瀏覽器與多數桌面程式。TUN 則透過虛擬介面與路由接收流量,能涵蓋更多不支援代理設定的應用程式,但也更容易影響區域網路、虛擬化環境與既有網路工具。

兩種方式不一定要同時啟用。首次設定應從系統代理開始:如果目標應用程式能被接管,就沒有必要為了「更完整」而立即增加 TUN。只有確認某類應用程式繞過系統代理,且確實需要統一接管時,再啟用 TUN。Android 的本機 VPN 接管在體驗上更接近 TUN,但應用程式分流由系統介面與用戶端共同完成。

接管與策略元件的職責對照
元件 主要職責 常見誤區 優先檢查
系統代理 讓遵循系統設定的應用程式連線至本機代理連接埠 認為所有應用程式都會自動使用 系統值、本機連接埠、應用程式代理行為
TUN 透過虛擬介面擴大流量接管範圍 將接管範圍等同於連線速度 權限、介面、路由與衝突軟體
路由 決定流量經由代理、直連或封鎖出口 節點失敗時盲目切換路由模式 規則順序、匹配欄位、出口標籤
DNS 將網域解析為位址,並配合路由進行判斷 將所有交握錯誤都歸因於 DNS 查詢路徑、回傳結果、出口可達性

路由規則依序匹配

路由負責決定已進入核心的流量經由哪個出口。常見條件包括網域分類、IP 分類、連接埠、網路類型與程序。規則通常依序匹配,先命中的規則生效,因此更具體的規則應放在更通用的規則之前。若一條涵蓋範圍很大的代理規則排在前面,後面的區域網路直連規則可能永遠沒有機會執行。

以下是一段用於說明結構的路由片段。它先讓常見私有位址與指定分類直連,其餘行為由設定中的後續規則與預設出口決定。實際使用時,出口標籤必須與用戶端產生的出站設定一致:

{
  "routing": {
    "domainStrategy": "AsIs",
    "rules": [
      {
        "type": "field",
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "geosite:cn"
        ],
        "outboundTag": "direct"
      }
    ]
  }
}

domainStrategy 決定路由判斷是否以及何時解析網域。使用 AsIs 時優先依原始網域規則匹配;其他策略可能在需要時解析為 IP 再進行判斷。沒有任何一種策略適合所有環境。若依賴網域分類分流,應確保請求抵達核心時仍保留網域資訊;若應用程式直接連線至 IP,網域規則自然無法命中。

GeoIP 與 GeoSite 資料

GeoIP 是 IP 分類資料,GeoSite 是網域分類資料。路由規則引用的是分類標籤,不是「自動智慧分流」。資料庫缺失、標籤不存在或核心版本不相容時,用戶端可能啟動失敗,也可能在日誌中回報規則載入錯誤。更新資料後應檢查日誌,確認新檔案已被讀取,並保留原有檔案以便復原。完整維護流程可參考GeoIP 與 GeoSite 資料庫更新指南

不要在一次調整中同時更換資料庫、規則集與核心。若更新後出現問題,先恢復原始資料並保持規則不變;恢復正常後,再單獨驗證新資料是否包含所需標籤。規則標籤名稱拼寫錯誤時,更換節點不會有幫助。

DNS 應與路由路徑一致

DNS 決定網域取得哪個位址,路由決定請求如何抵達該位址。若網域透過本地 DNS 取得無法存取或與出口不匹配的結果,連線會在協定交握前失敗。若 DNS 請求本身需要透過代理存取,則必須確保啟動階段已有可用的基礎解析路徑,避免出現「需要先解析代理伺服器,而解析又依賴代理」的循環。

排查 DNS 時先用日誌確認請求是否抵達用戶端,再比較系統工具與用戶端內的解析結果。只有網域失敗、直接位址可達時,才應重點檢查解析鏈;若 TCP 連線已建立後在 TLS 或 REALITY 階段失敗,應核對 serverName、公鑰、短識別碼、指紋與系統時間。將交握錯誤當成 DNS 問題,會把疑難排解帶往錯誤方向。

07 / VERIFICATION

連線驗證、日誌閱讀與日常維護

可靠的驗證需要分開檢查節點連線、應用程式接管與實際請求。測速數字只能說明某次測試的結果,不能取代日誌與真實應用程式請求。

四步驗證法

第一步確認訂閱更新結果。節點清單應出現預期內容,目前節點的關鍵參數也要完整。第二步執行實際連線測試,觀察用戶端是否能依協定建立真實請求。第三步啟用一種接管方式,並讓目標應用程式發起全新的網路請求。第四步在日誌中找到與該請求時間相符的網域、目標位址、路由出口或錯誤資訊。四步全部成立,才能表示「節點可連線且應用程式流量確實進入用戶端」。

如果實際連線測試成功但瀏覽器沒有變化,重點檢查系統代理、瀏覽器獨立代理、舊連線快取與目前網路服務。如果瀏覽器請求已進入日誌但失敗,則查看失敗發生在 DNS、TCP、TLS、REALITY 還是遠端關閉階段。如果日誌完全沒有目標請求,表示接管環節尚未成立,不應先調整協定參數。

依錯誤階段閱讀日誌

日誌中的「解析失敗」通常表示網域未取得可用位址;「連線逾時」表示在限定時間內未完成網路連線,但原因可能是目標無法存取、連接埠受限或路由錯誤;「連線被拒絕」表示目標位址有明確回應,但該連接埠未接受連線;TLS 或 REALITY 交握錯誤則更應檢查伺服器名稱、時間、公鑰、短識別碼與指紋等參數。

日誌應依時間線閱讀,不要只截取最後一行。最後一行可能只是上層對前面錯誤的總結。重現問題前先清空日誌或記住目前時間,只執行一次目標操作,再儲存從請求開始到失敗結束的連續片段。公開求助時應遮蓋訂閱網址、使用者識別碼、伺服器位址與其他敏感參數,但保留錯誤類型、時間順序與用戶端操作步驟。

用對照實驗縮小範圍

有效的對照只改變一個變數。例如在兩個網路下測試同一節點,可以判斷目前網路是否造成問題;在同一網路下更換同一訂閱中的另一個節點,可以比較節點差異;保持節點不變,分別測試系統代理與 TUN,可以判斷接管方式;保持其他設定不變,恢復預設 DNS,可以判斷自訂解析是否引入異常。

無效的對照通常一次改變太多項目:同時更新訂閱、切換節點、啟用 TUN、替換 DNS 與更新規則資料庫。即使問題暫時消失,也無法知道是哪項變更生效,下一次故障仍要從頭開始。建議為穩定設定保留一份文字記錄,包括用戶端、接管方式、路由模式與必要的自訂項目。

現象與優先排查方向
現象 優先檢查 暫時不要先做
節點清單為空 訂閱網址、回傳內容、存取狀態 調整 TUN 與路由
實際連線測試失敗 節點參數、網路、時間、日誌階段 反覆開關系統代理
測試成功但應用程式直接連線 接管方式、應用程式代理行為、舊連線 修改協定與加密參數
只有網域失敗 DNS 路徑、解析結果、規則匹配 盲目更換所有節點
TUN 下內網失聯 私有網段直連、路由優先順序 刪除訂閱群組

訂閱更新與設定備份

訂閱更新可能增加、刪除或修改節點。更新前若有手動調整的重要設定,應確認用戶端是否會在更新時覆寫。訂閱節點與本機自建節點最好分組管理,避免更新訂閱時誤刪本機內容。更新後先比較節點數量與名稱變化,再選擇一個節點驗證,不必立即對所有節點進行高頻測試。

備份應包含訂閱群組資訊、必要的路由設定與自訂 DNS,但不要將敏感資料放入公開同步空間。還原備份後仍需重新確認系統權限、TUN 授權與本機連接埠,因為這些狀態可能未完全包含在用戶端設定中。跨平台遷移時也不要假設所有設定欄位都能一一對應,應優先重新匯入訂閱,再手動還原少量必要策略。

更新用戶端、核心與規則資料

用戶端介面、代理核心與 GeoIP、GeoSite 資料屬於不同層級。更新用戶端可能帶來介面或設定格式變更;更新核心可能影響協定參數支援;更新規則資料則會影響分類標籤。穩定環境中應分開更新,每次更新後完成一次基礎連線、接管與路由驗證。若出現問題,才能準確復原對應層級。

不要依據網路上某個特定版本號判斷本機必須升級。本頁不固定版本資訊,實際可用套件以下載頁動態顯示為準。更新前退出正在執行的用戶端,並保留目前可正常工作的設定。更新後若舊設定無法載入,先查看遷移提示與日誌,不要立即覆寫原設定目錄。

08 / CONFIGURATION FAQ

設定常見問題與復原順序

以下集中處理安裝後最常見的設定問題。回答依照「先恢復基本連線,再增加功能」的順序編排,適合在日誌資訊不足時作為排查入口。

訂閱更新成功,為什麼仍然無法存取?

訂閱更新成功只代表用戶端取得並解析了設定。接下來還要選擇節點、確認節點能完成實際連線、啟用一種接管方式,並驗證應用程式請求進入日誌。先檢查目前節點是否確實設為使用項目,再執行一次實際連線測試。若測試失敗,依日誌階段檢查網路、時間與連線參數;若測試成功但應用程式沒有請求日誌,檢查系統代理、TUN 或 Android 應用程式分流。

還要注意訂閱可能包含暫時無法使用或條件不同的節點。不要只測試清單第一項,也不要將所有節點失敗簡單歸因於用戶端。選擇同一訂閱中參數類型不同的少量節點進行對照,有助於判斷是單一節點問題還是整體訂閱問題。

系統代理和 TUN 需要同時啟用嗎?

通常不需要。先依目標應用程式選擇一種方式。瀏覽器與多數遵循系統代理的桌面應用程式先使用系統代理;不讀取系統代理、需要更廣泛接管範圍的應用程式,再評估 TUN。同時使用兩者可能仍能運作,但會增加路徑判斷難度,尤其是在 DNS、區域網路與虛擬網卡環境中。

從同時啟用的狀態開始排查時,先關閉 TUN,只保留系統代理並測試瀏覽器;系統代理驗證成功後,再清除系統代理並單獨測試 TUN。這樣可以確認兩個入口各自是否正常。不要在同一次測試中反覆切換而不關閉舊連線,應用程式可能繼續重用原有工作階段。

退出用戶端後為什麼網路異常?

最常見的原因是系統代理仍指向用戶端已停止監聽的本機連接埠。重新開啟用戶端,執行「清除系統代理」,再正常退出。Windows 與 macOS 還可以進入系統網路設定核對代理值;Linux 除了桌面代理外,還要檢查終端機環境變數。Android 則查看系統 VPN 狀態是否仍保留舊連線。

如果之前使用 TUN,還應確認虛擬介面與路由已撤銷。正常停止 TUN 通常會恢復,但強制結束程序、系統崩潰或權限異常可能留下狀態。Linux 可檢查 ip routeip rule,桌面系統則先停用殘留虛擬介面或重新啟動網路服務。恢復網路後再分析日誌,不要一開始就刪除所有用戶端設定。

只有某個應用程式無法連線,應該更換節點嗎?

先不要更換。瀏覽器正常而單一應用程式異常,表示節點與基礎接管大致可用。檢查該應用程式是否遵循系統代理、是否被 Android 應用程式分流排除、是否使用獨立代理、固定 DNS、QUIC 或特殊網路權限。桌面應用程式若不讀取系統代理,可在其設定中指定本機 HTTP 或 SOCKS 連接埠,或單獨測試 TUN。

如果日誌能看到該應用程式的請求,但特定網域被直連或封鎖,再檢查路由規則。如果完全沒有請求日誌,問題仍在接管層。只有確認請求已進入用戶端,並在遠端連線階段失敗時,更換節點才是合理的對照方式。

REALITY 設定連線失敗,應檢查哪些欄位?

先確認伺服器位址、連接埠、使用者識別碼與 flow,再核對 serverName、公鑰、短識別碼與指紋。欄位名稱可能因用戶端介面而略有差異,但取值必須與伺服器端提供的設定一致。系統時間明顯偏差、訂閱參數被通訊軟體截斷、複製時遺漏字元,都可能導致交握失敗。

不要自行猜測缺少的值,也不要因為看到 VLESS 就預設關閉安全層。REALITY 是與連線安全相關的組合參數,不是單獨的節點名稱。若設定來自訂閱,先更新訂閱並比較服務提供者說明;若來自單一連結,重新匯入原始連結通常比手動修補更可靠。

更新 GeoIP 或 GeoSite 後用戶端無法啟動怎麼辦?

先查看日誌是否回報資料庫讀取失敗、分類標籤不存在或檔案格式不相容。恢復更新前的資料檔案,保持路由規則不變並重新啟動。若恢復後正常,表示問題集中在新資料或相容性關係;若仍然失敗,再檢查編輯規則過程中是否出現拼寫或 JSON 結構錯誤。

不要同時更換核心來掩蓋資料錯誤。應分別驗證核心、規則與資料庫。恢復穩定後,再確認目前核心支援所引用的標籤。資料更新與載入復原的完整步驟已在規則資料庫維護文章中說明。

DNS 應該填寫哪個位址?

沒有適用於所有網路的固定答案。首先確認 DNS 請求是本地直連還是透過代理出口傳送,再選擇在該路徑上穩定可達的解析服務。若沒有特殊需求,先保留用戶端預設策略完成連線驗證;只有出現網域解析異常、分流需求或隱私界線要求時,再單獨調整。

修改後使用系統解析工具、瀏覽器請求與用戶端日誌交叉確認。若直接位址也無法連線,問題通常不在 DNS;若網域取得位址後卻在 TLS 或 REALITY 階段失敗,應檢查連線參數。不要連續更換多個 DNS 位址而不記錄回傳結果。

如何復原至最小可用設定?

先停止 TUN,清除系統代理與應用程式分流,恢復預設 DNS 與基礎路由。保留一個來源明確的訂閱群組,更新後選擇一個節點執行實際連線測試。測試成功後只啟用系統代理,用一個瀏覽器發起新請求並核對日誌。桌面環境若目標應用程式不遵循系統代理,再單獨關閉系統代理、啟用 TUN 測試。

Android 上則先取消複雜的應用程式分流,保留系統 VPN 授權並使用瀏覽器測試;Linux 還要清除 shell 中的代理環境變數。最小設定穩定後,依路由、DNS、應用程式分流與背景策略的順序逐項恢復。每增加一項就重新測試一次,這比反覆重新安裝用戶端更快,也能保留問題發生的證據。

下載v2rayN