01 / PREPARATION
通用準備:平台、架構與設定來源
先分清用戶端、核心與訂閱
完整的 V2Ray 使用流程由三個部分組成:圖形用戶端負責介面、系統代理開關、日誌與設定管理;核心負責解析協定、建立出站連線並執行路由;訂閱或分享連結提供節點參數。v2rayN 是 Windows、macOS、Linux 上的桌面用戶端,可統一管理訂閱、路由與系統代理。Android 上常用 v2rayNG 或 v2flyNG,前者採用 Xray 核心方向,後者採用 V2Fly 核心方向。兩者介面流程相近,但支援的協定擴充與進階參數並不完全相同。
用戶端本身不會自動產生可用節點。安裝完成後,仍需匯入有效的訂閱網址、單一節點分享連結,或手動輸入伺服器參數。訂閱網址通常會回傳一組節點,方便統一更新;以 vmess://、vless:// 開頭的分享連結通常只代表一個節點。兩類內容不要混用:訂閱網址應新增至「訂閱群組」或「訂閱設定」,單一節點連結則應透過剪貼簿匯入、掃描 QR Code 或手動新增。具體差異可繼續閱讀分享連結與訂閱網址說明。
確認處理器架構與安裝包類型
下載前先確認裝置架構。Windows 與多數 Linux 桌上型電腦通常使用 x64;採用 Apple 晶片的 Mac 使用 arm64,較早期的 Intel Mac 使用 x64;近年的主流 Android 裝置通常使用 arm64。架構選錯時,常見結果包括安裝程式拒絕執行、系統提示應用程式不相容,或程式啟動後立即結束。無法判斷 Android 架構時可選擇通用包,但通用包通常較大;若已確認裝置為 arm64,直接選擇 arm64 包更合適。
| 平台 | 首選用戶端 | 常見架構 | 安裝包方向 |
|---|---|---|---|
| Windows | v2rayN | x64 | 桌面版或經典 WPF 版 |
| macOS | v2rayN | arm64 / x64 | 對應晶片的 DMG |
| Linux | v2rayN | x64 / arm64 | deb 或 rpm |
| Android | v2rayNG | arm64 / 通用 | 對應架構的安裝包 |
記錄設定邊界
開始設定前,建議記錄四項資訊:訂閱名稱、目前選取的節點、代理模式,以及是否啟用 TUN。之後若無法連線,可判斷問題發生在訂閱解析、節點連線、系統代理或透明接管層。首次安裝不要同時修改路由、DNS、連接埠與核心參數。先以預設設定完成一次可驗證的連線,再逐項啟用分流與 TUN;一次變更多個變數,會讓日誌難以對應具體原因。
也要確認系統時間與時區正確。部分協定的握手程序依賴時間視窗,裝置時間差距過大時,表面上可能只呈現連線逾時。接著檢查本機是否已有其他代理工具佔用監聽連接埠。常見本機連接埠包括 SOCKS、HTTP 與混合代理連接埠,不同用戶端的預設值可能不同,因此應以用戶端設定頁實際顯示為準,不要照抄其他裝置的連接埠。若計畫讓瀏覽器或開發工具單獨使用代理,請記錄用戶端目前的監聽位址與連接埠。
了解設定儲存與敏感資訊
訂閱網址與節點連結可能包含存取參數,應依帳號憑證的方式處理。不要將完整網址貼到公開日誌、截圖或公開討論中。排錯時通常只需保留協定類型、傳輸方式、TLS 狀態、伺服器連接埠與錯誤訊息,伺服器位址、使用者識別資訊與訂閱參數則可隱藏。更換裝置時,優先在新裝置重新新增訂閱,不要直接複製整個用戶端資料目錄,因為不同平台的路徑、權限與系統代理狀態並不相容。
準備階段的完成標準不是「程式已經開啟」,而是用戶端與平台相符、訂閱來源明確、系統時間正常、連接埠沒有明顯衝突,並且清楚目前要使用系統代理還是 TUN。完成這些檢查後再進入對應平台章節,可大幅減少安裝完成卻無法判斷故障位置的情況。
02 / WINDOWS
Windows:v2rayN 安裝、系統代理與 TUN
桌面版與經典 WPF 版的選擇
Windows 平台首選 v2rayN。下載中心同時提供桌面版與經典 WPF 版:桌面版採用新一代跨平台介面,適合新安裝,以及希望與 macOS、Linux 維持一致操作習慣的使用者;經典 WPF 版沿用成熟的 Windows 介面結構,適合熟悉舊版選單位置,或需要傳統桌面互動的環境。兩者都能完成訂閱管理、節點選擇、系統代理與路由設定,不需要同時安裝。若仍在使用舊版設定,請先匯出或記錄訂閱,再安裝準備採用的版本。
進入Windows 下載入口後選擇 x64 安裝包。安裝前關閉正在執行的舊用戶端,避免設定檔遭到佔用。若使用安裝程式,依精靈選擇目前使用者或系統允許的位置;若下載的是可直接執行的發行版本,應解壓縮至具備寫入權限的固定目錄,不要長期放在暫存目錄。用戶端需要儲存訂閱、日誌與本機設定,目錄唯讀會導致設定看似成功,重新啟動後卻遺失。
首次啟動與訂閱匯入
首次啟動後先開啟訂閱設定,建立容易辨識的群組名稱,再貼上訂閱網址並執行更新。更新完成後回到節點清單,確認至少解析出一筆設定。若清單為空,不要立即開啟系統代理,應先查看訂閱更新結果:回傳內容為空、網址失效、網路請求失敗與訂閱格式不相容,都可能造成「新增成功但沒有節點」。若取得的是單一節點分享連結,請複製完整連結,再使用「從剪貼簿匯入」之類的入口,不要放入訂閱網址欄位。
選擇節點後,可先使用用戶端提供的連線測試,或直接建立一次連線。測試結果只能用來判斷目標是否能完成握手,不代表所有網站都會使用該節點。真正驗證時應開啟系統代理,再造訪一個明確使用系統代理的瀏覽器頁面。部分已在執行的應用程式會快取代理狀態,切換系統代理後仍沿用舊連線;遇到這種情況,應完全退出該應用程式後重新開啟。
系統代理模式的作用範圍
系統代理主要影響遵循 Windows 代理設定的應用程式。選擇「自動設定系統代理」或同義模式後,v2rayN 會將系統代理指向本機監聽連接埠。關閉用戶端前應先恢復系統代理,否則系統可能保留指向本機連接埠的設定,導致用戶端退出後瀏覽器無法連線。正常退出流程通常會自動處理,但強制結束程序、系統異常關機或權限攔截時仍可能殘留。
可在 Windows 的網路與 Internet 代理設定中檢查代理開關。若手動代理仍指向 127.0.0.1,而 v2rayN 已停止執行,應先關閉該開關,再測試直接連線。系統代理不是對所有程式的強制接管:部分遊戲、命令列程式、虛擬機器與使用自有網路堆疊的軟體可能忽略它。這類情況需要在應用程式內指定 HTTP 或 SOCKS 代理,或評估使用 TUN。
TUN 模式與權限
TUN 會建立虛擬網路介面,讓更多不讀取系統代理的流量進入用戶端。啟用時通常需要管理員權限,首次建立介面可能會觸發系統確認。先退出其他會建立虛擬網卡的網路工具,再以正常方式啟動 v2rayN 並開啟 TUN。不要同時開啟多個透明接管工具,否則路由表與 DNS 可能互相覆寫。TUN 啟動後應先測試一般網頁,再測試原本不遵循系統代理的應用程式;若所有網路同時中斷,優先關閉 TUN,恢復基礎網路。
開機啟動、日誌與常見阻擋
需要開機執行時,可啟用 v2rayN 的開機啟動選項,但不要將「程式自動啟動」與「自動開啟系統代理」混為一談。前者只確保用戶端程序啟動,後者則決定啟動後是否修改系統代理。共用電腦或經常切換網路的裝置,更適合只啟動用戶端,確認節點後再手動開啟代理。筆電從睡眠恢復後若節點失效,可先切換一次節點或重新啟動核心,不必立即重裝用戶端。
啟動失敗或閃退時,先確認安裝目錄可寫、舊程序已退出、本機連接埠未被佔用,再檢查系統執行環境與安全性政策。日誌出現「address already in use」通常表示監聽連接埠衝突;出現設定解析錯誤,則應檢查最近匯入的節點或自訂路由。不要把刪除全部設定當成第一步,可先備份設定目錄,再移開最近新增的設定並重新啟動。更完整的啟動故障分支可參考用戶端無法開啟或閃退排查。
Windows 章節的完成標準是:訂閱可以更新、節點能夠選取、開啟系統代理後瀏覽器依預期路徑連線、關閉系統代理後直接連線恢復。只有需要涵蓋不遵循系統代理的程式時,才繼續啟用 TUN。每次調整後保留一段對應日誌,有助於區分節點不可用、代理殘留、連接埠衝突與虛擬網卡問題。
03 / MACOS
macOS:晶片選擇、權限放行與代理接管
確認晶片並安裝 v2rayN
macOS 使用 v2rayN 桌面版。下載前開啟系統資訊或「關於這台 Mac」,查看處理器或晶片欄位:顯示 Apple 晶片時選擇 arm64 DMG,顯示 Intel 處理器時選擇 x64 DMG。安裝包架構與晶片不相符時,可能無法開啟,也可能依賴相容轉換層執行,增加排錯變數。進入macOS 下載入口後依晶片選擇檔案,開啟 DMG,再將應用程式移至「應用程式」目錄。
首次啟動若遭系統阻擋,不要反覆雙擊。先在「隱私權與安全性」設定中查看最近被阻擋的應用程式紀錄,確認名稱與剛安裝的 v2rayN 一致後選擇允許開啟。也可以在「應用程式」中對應用程式按右鍵選擇開啟,讓系統顯示一次明確確認。完成放行後,之後通常可從啟動台或應用程式目錄正常啟動。具體介面路徑可能隨系統小版本調整,可參考macOS 首次開啟與網路權限處理。
訂閱匯入與選單列狀態
用戶端啟動後,先確認主視窗或選單列圖示已出現。新增訂閱時建立群組、貼上網址、儲存並更新,然後在節點清單中選擇一筆設定。若複製網址後無法貼上,請檢查剪貼簿內容是否包含前後空格、換行或聊天軟體附加的說明文字。訂閱網址必須是一段連續內容。單一節點連結則使用剪貼簿匯入入口,匯入後檢查協定、連接埠、傳輸方式與 TLS 等欄位是否完整。
macOS 關閉應用程式視窗不一定代表程序已退出。按下視窗關閉按鈕後,v2rayN 可能仍駐留在選單列並持續維持代理。排錯或準備重新啟動時,應從選單列執行退出,接著在活動監視器確認相關程序已結束。若只關閉視窗卻繼續安裝另一份應用程式,可能出現兩個執行個體同時爭用本機連接埠。
系統代理與網路服務
開啟系統代理後,用戶端會調整目前網路服務的代理設定。macOS 可以同時存在 Wi-Fi、有線網卡與其他網路服務,切換網路時應確認目前活動服務已套用代理。若 Wi-Fi 下正常、接上有線網路後失效,先重新切換一次系統代理,不要直接判定節點故障。瀏覽器與多數桌面應用程式會讀取系統代理,但命令列工具是否遵循設定取決於工具本身;需要時可在目前終端機工作階段設定代理環境變數。
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連接埠"
# 目前終端機恢復直接連線
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
上例中的連接埠應替換為 v2rayN 設定頁實際顯示的監聽連接埠。環境變數只會影響從目前終端機啟動、且會讀取這些變數的程式,不會取代系統代理,也不會自動覆寫其他終端機視窗。排查命令列存取時,先執行 env 查看是否殘留舊代理變數;用戶端連接埠已變更,但終端機仍指向舊連接埠,是常見的「瀏覽器正常但命令列失敗」原因。
TUN、網路擴充功能與授權
啟用 TUN 時,系統可能要求輸入本機管理員憑證,或確認加入網路擴充功能。授權應在系統彈出視窗與設定頁內完成。若拒絕授權,用戶端仍可能正常執行系統代理,但無法建立 TUN。開啟後可在系統網路設定中看到新增的網路介面或相關狀態。此時不要手動刪除介面;應先在 v2rayN 中關閉 TUN 並退出用戶端,再處理遺留項目。
公司網路、訪客 Wi-Fi 與需要網頁驗證的熱點,應先完成網路登入,再開啟 TUN。否則驗證頁面可能遭代理或 DNS 接管阻擋。切換網路後若顯示已連線但沒有資料,依「關閉 TUN—確認直接連線恢復—重新更新訂閱—重新啟用」的順序處理。如此可避免在基礎網路尚未建立時反覆修改節點。
睡眠恢復與代理殘留
Mac 從睡眠恢復、Wi-Fi 漫遊或切換熱點後,原有連線可能已失效。先觀察用戶端日誌是否重新建立出站連線,再測試存取。若系統代理仍開啟,但本機核心沒有恢復,應用程式會持續將流量送往無人監聽的連接埠。可先關閉系統代理,確認直接連線正常,再重新啟動用戶端並重新開啟。強制退出後若出現全域無法連線,也應在目前網路服務的代理詳細資料中檢查 HTTP、HTTPS 與 SOCKS 項目是否仍被勾選。
需要登入後自動執行時,可使用用戶端提供的啟動選項或系統登入項目管理,但應避免重複新增。系統登入項目與用戶端內建自動啟動同時設定,可能導致短時間內啟動兩個程序。穩定設定應只保留一個啟動入口,並明確是否自動修改系統代理。macOS 章節的驗收順序是:應用程式通過系統權限檢查、訂閱更新成功、選單列狀態明確、系統代理可開可關、切換網路後能夠恢復;TUN 則作為獨立層驗證,不要與首次安裝同時處理。
04 / LINUX
Linux:deb、rpm、桌面代理與自動啟動
選擇發行版套件格式
Linux 桌面平台使用 v2rayN。Debian、Ubuntu 及常見衍生系統選擇 deb;Fedora、Rocky Linux、openSUSE 等採用 rpm 套件管理體系的環境選擇 rpm。處理器為常見桌面 x64 時選擇 x64 套件,arm64 裝置則使用對應的 arm64 套件。套件格式與架構必須同時相符,不能只憑桌面環境名稱判斷套件類型。可在終端機執行以下命令確認架構與發行版資訊:
uname -m
cat /etc/os-release
x86_64 通常對應 x64,aarch64 通常對應 arm64。發行版資訊中的 ID 與 ID_LIKE 可協助判斷套件管理體系。進入Linux 下載入口後選擇相應檔案。不要把軟體套件當成壓縮檔直接解開執行,使用系統套件管理器安裝,還能一併登記桌面入口、相依套件與解除安裝資訊。
安裝 deb 或 rpm
將終端機切換到下載目錄後,可使用系統套件管理器安裝。檔名取決於目前下載的內容,輸入命令時可先鍵入前幾個字元,再按 Tab 自動補全,避免手動拼寫。以下命令中的檔名僅表示已下載至目前目錄的套件:
# Debian / Ubuntu 系列
sudo apt install ./v2rayN-downloaded-package.deb
# Fedora 系列
sudo dnf install ./v2rayN-downloaded-package.rpm
使用 apt install ./檔案.deb 或 dnf install ./檔案.rpm,比直接呼叫底層解包命令更容易處理相依套件。安裝完成後,從桌面應用程式清單啟動 v2rayN。若找不到入口,可先在終端機輸入應用程式啟動命令,查看是否有缺少函式庫、顯示服務或權限錯誤,再重新整理桌面應用程式資料庫。不要為了修復一個缺少的相依套件而大量安裝來源不明的執行庫,應依套件管理器提供的具體套件名稱處理。
桌面代理與環境變數
GNOME、KDE 等桌面環境都有網路代理設定,但設定位置與自動套用範圍不同。v2rayN 的系統代理功能會盡量對接桌面代理設定,驗證時先查看桌面系統設定中的代理模式是否已變更,再用瀏覽器測試。只在終端機匯出 HTTP_PROXY 不代表整個桌面已開啟代理;反過來,桌面代理已啟用,也不保證所有命令列工具都會讀取它。
# 僅對目前 shell 工作階段設定
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連接埠"
# 清除目前工作階段
unset http_proxy https_proxy all_proxy
本機監聽預設只繫結回環位址時,只有本機程式可以連線。若要讓同一區域網路中的其他裝置使用該連接埠,需要明確允許區域網路連線、調整監聽位址並設定防火牆。這會擴大服務暴露範圍,不是首次安裝的必要步驟。沒有明確需求時,保留回環監聽即可。
TUN、能力授權與路由
Linux 上的 TUN 需要系統提供 /dev/net/tun,並需要建立介面、修改路由與處理 DNS 所需的權限。桌面用戶端可能透過授權對話方塊申請權限,也可能依賴已安裝的權限管理元件。啟用失敗時,先檢查 TUN 裝置是否存在,再查看日誌中的「permission denied」、「operation not permitted」或新增路由失敗訊息。不要長期以 root 身分執行整個圖形用戶端,這會改變使用者目錄下設定檔的擁有者,之後一般使用者可能無法儲存設定。
虛擬機器、容器桌面與受限企業環境可能停用 TUN。此時系統代理仍可使用,應先保留可運作的系統代理方案。若啟用 TUN 後只有網域存取失敗、直接連線位址正常,重點檢查 DNS;若所有流量立即中斷,則檢查預設路由、政策路由與其他虛擬網路軟體是否衝突。關閉 TUN 後應確認虛擬介面與附加路由已清除,再進行下一輪測試。
登入後自動啟動與桌面工作階段
圖形用戶端應在使用者桌面工作階段建立後啟動。可優先使用 v2rayN 內建的自動啟動設定;若桌面環境未正確處理,可使用使用者層級的 systemd 服務,但服務必須等待圖形工作階段與網路就緒,並以目前使用者身分執行。完整操作可參考Linux 安裝與開機自動啟動設定。設定自動啟動後要實際登出並重新登入測試,不要只執行一次服務命令就判定成功。
自動啟動失敗時,查看使用者層級日誌,而非系統層級服務清單。常見原因包括程式路徑在更新後變更、顯示環境變數無法使用、桌面金鑰圈尚未解鎖,以及網路尚未取得位址。對於經常移動辦公的裝置,建議讓用戶端自動啟動,但不要立即強制開啟 TUN,先讓網路驗證與桌面工作階段完成,再由使用者確認目前的網路環境。
解除安裝、升級與保留設定
升級時使用與目前發行版及架構相符的新套件覆蓋安裝即可。安裝前先正常退出用戶端,避免核心程序與設定檔仍遭佔用。套件管理器解除安裝通常不會自動刪除使用者主目錄中的全部設定,因此重新安裝後舊訂閱可能仍會出現。若排錯目標是建立全新設定,應先備份使用者設定目錄,再將舊目錄重新命名,不要直接刪除。如此可隨時恢復訂閱與路由規則。
Linux 章節的完成標準包括:系統套件管理器能辨識 v2rayN、桌面入口可以啟動、訂閱與節點儲存在目前使用者目錄、桌面代理可恢復直接連線、關閉 TUN 後路由表正常。若問題只發生在終端機工具,優先檢查環境變數;若只發生在圖形應用程式,檢查桌面代理;若整個系統同時受影響,再檢查 TUN、DNS 與路由。
05 / ANDROID
Android:v2rayNG、v2flyNG 與系統 VPN 接管
用戶端與架構選擇
Android 首選 v2rayNG,需要使用 V2Fly 核心方向時可選擇 v2flyNG。兩款用戶端都提供 arm64 與通用套件。2015 年後的主流手機通常採用 arm64,但仍應以裝置資訊為準;確認為 arm64 時選擇 arm64 套件,無法確認時選擇通用套件。不要同時讓兩款用戶端保持連線,因為系統通常只允許一個此類 VPN 工作階段在同一時間處於活動狀態。
從Android 下載入口取得安裝包後,系統可能要求允許目前的瀏覽器或檔案管理器安裝應用程式。只需對實際用來開啟安裝包的應用程式授予權限。安裝完成後可關閉這項來源權限。若系統提示無法安裝,先檢查是否已有同名但簽章來源不同的應用程式、儲存空間是否足夠,以及下載檔案是否完整抵達裝置;不要反覆點擊安裝而掩蓋錯誤訊息。
匯入訂閱與單一節點連結
開啟 v2rayNG 或 v2flyNG 後,應將訂閱網址新增至訂閱群組,再執行更新。更新完成後從設定清單選擇節點。單一節點分享連結可複製到剪貼簿,再使用從剪貼簿匯入功能;QR Code 則使用用戶端的掃描入口,並依系統要求授予相機權限。匯入後若清單出現重複項目,通常是多次執行剪貼簿匯入,或同一訂閱在多個群組中重複新增;應保留來源清楚的一份。
行動裝置剪貼簿可能在複製時截斷長連結。匯入失敗時,先將內容貼到本機文字編輯器,確認開頭協定、結尾參數與中間字元連續。不要在即時通訊視窗中手動編輯編碼後的分享連結,任何一個字元變更都可能導致解析失敗。訂閱更新後節點沒有變化時,先確認目前查看的是對應訂閱群組,再查看更新提示,避免將「伺服器端內容沒有變化」誤判為用戶端故障。
首次連線與系統確認
選擇節點後點擊連線,Android 會顯示建立 VPN 連線的系統確認視窗。只有完成確認後,狀態列才會出現連線標示。用戶端介面顯示已選擇節點,不代表系統流量已進入代理。首次驗證可先保留預設路由與 DNS,連線後開啟瀏覽器測試;若瀏覽器正常,再測試其他應用程式。出現連線標示但所有應用程式都無法存取時,應先中斷連線,確認行動數據或 Wi-Fi 本身可用。
從 Wi-Fi 切換至行動網路時,既有連線可能需要重新建立。系統省電策略也可能在鎖定螢幕後限制背景程序,導致連線狀態圖示仍在,但核心已停止傳輸。可在系統電池設定中允許用戶端必要的背景執行,並避免一鍵清理工具強制結束程序。不同裝置廠商的設定名稱各異,核心目標是允許用戶端在連線期間維持前景服務與網路活動。
分應用程式代理與繞過規則
Android 用戶端通常提供分應用程式代理,可選擇只讓指定應用程式進入代理,或讓選取的應用程式繞過代理。兩種邏輯方向相反,設定前先確認目前模式。首次使用建議維持全域應用程式範圍,驗證基本連線後再進行篩選。若啟用「僅代理已選取的應用程式」,卻忘記勾選瀏覽器,測試結果會像節點完全沒有作用;若採用「繞過已選取的應用程式」,被勾選的應用程式則會直接連線。
系統元件、下載管理器與應用程式內嵌網頁可能由不同程序發起請求。只選取主要應用程式,不一定能涵蓋它呼叫的所有系統服務。遇到登入頁能開啟但下載失敗時,可以暫時關閉分應用程式限制進行比對。確認問題來自應用程式篩選後,再逐步加入相關元件,不要立即修改節點協定與 DNS。
隨需連線、永遠開啟與區域網路存取
系統設定中的永遠開啟 VPN 會在網路恢復後嘗試維持用戶端連線,適合設定穩定且長期使用同一用戶端的裝置。啟用「封鎖未經 VPN 的連線」會擴大接管範圍,但節點不可用或用戶端未啟動時,裝置可能完全無法連線。首次安裝階段不建議同時開啟這兩個系統選項,應先確認訂閱更新、節點切換與中斷後恢復都正常。
存取印表機、投放裝置、路由器管理頁或其他區域網路服務時,可能需要啟用繞過區域網路規則。典型私有位址包括 10.0.0.0/8、172.16.0.0/12 與 192.168.0.0/16。如果開啟代理後只能存取網際網路,卻找不到區域網路裝置,應檢查路由是否也將私有位址送入遠端出站。不要任意將整個未知位址範圍設為直連,應以實際區域網路範圍為準。
日誌、耗電與背景故障
行動端排錯時,先查看用戶端日誌的時間點是否與剛才的操作一致。連線逾時、DNS 解析失敗、設定解析失敗與系統主動停止服務,屬於不同故障分支。若應用程式從背景返回後立即中斷,重點檢查電池最佳化;若切換節點後仍顯示舊節點,先中斷連線再重新連線;若只有某個應用程式失敗,檢查分應用程式設定,以及該應用程式是否使用私有 DNS 或特殊網路堆疊。
持續連線會維持前景服務,並產生正常的網路與電量消耗。耗電明顯異常時,先排除節點頻繁重新連線、訊號微弱造成的網路切換與日誌等級過高。不要長期將日誌設為最詳細等級,完成排錯後恢復一般等級。Android 章節的完成標準是:系統連線確認已通過、瀏覽器能夠驗證、中斷後直接連線恢復、切換網路後可重新建立連線,分應用程式規則與背景策略均符合實際使用範圍。
06 / SUBSCRIPTION AND ROUTING
訂閱管理、節點選擇與路由分流
訂閱更新的完整流程
訂閱更新不只是「下載一份清單」。用戶端會先請求訂閱網址、讀取回傳內容,再依支援的格式解析節點,最後寫入指定群組。故障可能發生在任何一步:請求階段受網路或網址狀態影響,解析階段受格式與核心能力影響,寫入階段則可能受到設定目錄權限或群組設定影響。更新後應同時檢查提示資訊、群組名稱與節點數量變化,不要只看按鈕是否成功點擊。
同一份訂閱不應重複新增到多個群組。重複訂閱會產生名稱相近的節點,之後難以判斷目前選擇來自哪一次更新。建議依用途或來源建立穩定群組,名稱不必記錄版本與日期;更新時間由用戶端狀態或日誌提供。刪除訂閱前先確認是否勾選「同時刪除該訂閱下的節點」,避免留下失去來源的舊設定。訂閱網址變更時,優先編輯原有群組並更新,而不是建立多個臨時群組。
節點參數與相容性邊界
節點能否匯入,取決於用戶端與核心是否能識別其協定、傳輸層及附加參數。VMess、VLESS 等協定只描述連線的一部分,實際設定還可能包含 TCP、WebSocket、gRPC、TLS、REALITY、服務名稱、路徑與伺服器名稱等欄位。匯入成功但連線失敗時,應檢查關鍵欄位是否在複製或訂閱轉換過程中遺失。不同用戶端之間遷移時,最好重新匯入原始訂閱,不要將某個用戶端產生的內部設定檔直接交給另一個平台。
節點名稱只是方便辨識的標籤,不能代表實際線路品質。測試時應選擇一個節點建立真實連線,並結合日誌判斷。單次延遲測試失敗可能是目標不回應探測、目前網路丟包或協定尚未完成握手;單次顯示低延遲,也不代表持續傳輸穩定。排錯目標是確認「能否建立連線、能否完成網域解析、請求是否進入正確出站」,而不是追求固定數字。
路由規則的比對邏輯
路由規則通常依網域、位址、連接埠、網路類型或程序資訊進行比對,再將流量送往代理、直連或封鎖出站。規則順序很重要:更具體的條件應放在通用規則之前,最後再設定預設出站。若廣泛規則提早比對成功,後面的精確規則就不會生效。修改前記錄目前的路由模式,完成後分別測試一個應直連的目標與一個應使用代理的目標,確認兩個方向都符合預期。
網域規則與位址規則處理的是不同階段。應用程式先請求網域,DNS 回傳位址後,核心可能再依解析結果比對位址規則。啟用網域嗅探時,核心還可能從流量中還原目標網域,用於進一步分流。嗅探不是越多越好:某些非標準協定、加密連線或區域網路服務可能不適合被改寫。首次設定請維持用戶端預設值,再針對明確問題調整。
{
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "direct"
},
{
"type": "field",
"domain": [
"domain:example.com"
],
"outboundTag": "proxy"
}
]
}
}
以上範例展示規則結構:私有位址進入直連出站,指定範例網域進入代理出站。實際使用時,outboundTag 必須與目前設定中已有的出站標籤一致;若用戶端使用不同的標籤名稱,直接複製會導致規則找不到目標出站。圖形用戶端通常會提供預設路由介面,優先在介面中修改,只有在確實理解產生結果後才編輯底層 JSON。
系統代理、PAC 與全域路由
系統代理負責將遵循系統設定的應用程式送至本機連接埠,路由規則則在流量進入核心後決定使用哪個出站。不要混淆這兩個層次。應用程式未進入本機代理時,核心路由寫得再完整也不會生效;應用程式已進入代理,卻被規則送往直連時,則會呈現「用戶端已開啟但目標仍直接連線」。PAC 或自動設定指令碼還會先在系統代理層做一次選擇,排錯時應確認究竟是 PAC 沒有選中,還是核心路由選擇了直連。
需要簡單穩定的方案時,可讓系統代理將瀏覽器流量統一送入用戶端,再由核心路由決定直連或代理。需要接管更多應用程式時,再使用 TUN。不要同時啟用多個來源的 PAC、自訂瀏覽器代理擴充功能與系統代理,這會產生多層決策,導致同一網域在不同應用程式中走向不同。保留單一入口,日誌才能準確反映請求。
訂閱更新後的安全變更流程
更新訂閱可能刪除舊節點、增加新節點或變更名稱。更新前正在使用的節點若被移除,用戶端可能切換至其他設定,也可能保留失效的參照。更新後應確認目前選取項目仍然存在,再重新連線。自訂路由若依節點標籤指向特定出站,還要檢查標籤是否隨更新變更。群組內節點較多時,使用清楚的訂閱群組與固定路由出站,比依賴顯示名稱更穩定。
建議的變更順序是:記錄目前節點與路由模式,更新訂閱,確認解析結果,選擇節點,先以預設路由測試,再恢復自訂規則。若更新後立即失敗,可切回更新前仍保留的節點進行比對。訂閱與路由問題也可在術語表中查閱協定、出站、分流與 DNS 等概念,避免將介面標籤誤當成同一層設定。
07 / TUN AND DNS
TUN、DNS 與系統網路邊界
何時需要 TUN
TUN 的作用是透過虛擬網路介面接收系統流量,涵蓋不讀取系統代理的程式。瀏覽器與一般桌面應用程式已能透過系統代理正常工作時,不必為了「設定更完整」而強制開啟 TUN。遊戲啟動器、部分命令列工具、使用獨立網路堆疊的應用程式,或需要統一接管的情境,才是評估 TUN 的主要理由。TUN 增加了路由、DNS、權限與虛擬介面四個變數,功能範圍更廣,排錯流程也更長。
啟用前應關閉其他會修改預設路由或建立虛擬網卡的工具,並記錄系統代理狀態。多數情況下,TUN 與系統代理不需要重複承擔同一批流量;是否同時開啟取決於用戶端實作。若不確定,先依照用戶端預設值使用。啟用後立即驗證三類目標:一般網域、區域網路位址,以及一個不遵循系統代理的程式。任何一類異常都應單獨記錄,不要只用「能否開啟網頁」概括結果。
嚴格路由與流量迴圈
TUN 需要避免將用戶端自身發往伺服器的連線再次送回 TUN,否則會形成迴圈。圖形用戶端通常會自動排除核心程序、伺服器位址或特定介面。手動修改路由時,必須保留這類排除規則。典型迴圈現象是啟用 TUN 後日誌快速重複連線、流量計數異常增加,但任何請求都無法完成。此時先關閉 TUN,不要繼續切換節點;恢復網路後再檢查排除路由。
嚴格路由可減少流量繞過,但可能影響虛擬機器、容器、區域網路探索與企業內部網路。啟用後若區域網路裝置消失,應檢查私有位址是否直連、群播與廣播是否遭到接管,以及目前活動介面的優先順序。Windows 的虛擬網卡、macOS 的網路擴充功能與 Linux 的政策路由實作各不相同,不能將一個平台匯出的路由表直接套用到另一個平台。
DNS 請求會經過哪些層次
存取網域時,應用程式可能使用系統 DNS、瀏覽器內建解析、加密 DNS 或由用戶端接管的 DNS。用戶端日誌沒有出現網域請求,不一定代表應用程式沒有連線,可能是應用程式自行完成解析。反過來,成功解析出位址也不代表出站連線一定成功。排錯應分成兩步:先確認網域是否取得合理位址,再確認前往該位址的連線由哪個出站處理。
開啟 TUN 後,用戶端可能接管系統 DNS,並將請求轉送至設定的伺服器。若出現所有網域都失敗,但直接使用位址仍可存取,重點檢查 DNS 監聽連接埠、上游可達性與連接埠衝突。若只有部分網域解析異常,檢查分流 DNS、快取與網域規則。修改 DNS 後應重新啟動相關連線或清除系統快取,否則應用程式仍可能繼續使用舊結果。
| 現象 | 優先檢查 | 比對方法 |
|---|---|---|
| 所有網域都失敗 | DNS 監聽、上游 DNS、連接埠佔用 | 關閉 TUN 後驗證系統解析 |
| 只有區域網路網域失敗 | 本機 DNS、私有網域規則 | 直接存取區域網路位址 |
| 解析成功但連線逾時 | 節點、出站、路由規則 | 查看連線階段日誌 |
| 切換節點後仍使用舊結果 | 系統與應用程式 DNS 快取 | 重新啟動應用程式並重新連線 |
Fake DNS 與網域映射
部分 TUN 設定會使用 Fake DNS:先回傳一段內部映射位址給應用程式,再由用戶端收到連線時還原原始網域。這種方式有利於保留網域資訊並執行路由,但要求映射位址範圍、路由與用戶端狀態保持一致。若用戶端退出後映射仍被系統或應用程式快取,存取可能暫時失敗。遇到此類現象,應關閉 TUN、恢復系統 DNS 並清除相關快取,再重新連線。
Fake DNS 不適合任意與其他本機 DNS 服務疊加。若系統中已有廣告過濾 DNS、本機開發解析或容器 DNS,應先釐清請求鏈路:誰監聽本機連接埠、誰是上游、哪個元件負責網域規則。兩個服務爭用同一連接埠會直接啟動失敗,循環互相轉送則會呈現持續逾時。穩定方案應只有一個明確的系統入口,再由該入口轉送至後續服務。
區域網路、熱點與虛擬環境
開啟 TUN 後無法存取 NAS、印表機或路由器管理頁,通常與私有位址路由或本機 DNS 有關。先直接存取裝置位址;若位址可達但主機名稱不可達,處理本機 DNS;若位址也不可達,檢查私有網段是否被錯誤送入代理。裝置開啟熱點分享時,其他裝置的流量是否進入 TUN 取決於系統轉送與用戶端能力,不能根據本機連線狀態推斷。
虛擬機器與容器通常擁有獨立的網橋、DNS 與路由。主機的系統代理通常不會自動套用至虛擬環境,TUN 也可能因介面優先順序只涵蓋部分流量。排錯時分別在主機與虛擬環境中查看預設路由與 DNS,不要將容器內部連線失敗歸因於節點。若只需讓開發工具使用代理,在工具或環境中明確設定本機代理位址,通常比擴大 TUN 接管範圍更容易維護。
穩定的啟停順序
建議的啟用順序為:確認基礎網路可用,啟動用戶端,更新訂閱並選擇節點,驗證系統代理,再開啟 TUN。關閉時先停止 TUN,確認虛擬介面與附加路由已清除,再恢復系統代理,最後退出用戶端。系統異常重新啟動後若網路不通,應反向檢查遺留狀態:系統代理是否仍指向本機、虛擬介面是否存在、DNS 是否仍指向已停止的監聽連接埠。
本章的驗收標準是:TUN 開關前後的網路狀態可預測、區域網路範圍明確、DNS 入口只有一個,且用戶端退出後系統能夠恢復。只要系統代理已涵蓋實際應用程式,就可以保留較簡單的設定;更廣的接管範圍不等於更適合目前裝置。
08 / TROUBLESHOOTING
常見設定問題與分層排錯
先建立故障分層
有效排錯需要先判斷問題位於哪一層。第一層是裝置基礎網路,關閉用戶端後應能正常直接連線;第二層是訂閱與設定,用戶端應能解析出節點;第三層是核心連線,日誌應顯示出站建立或明確錯誤;第四層是系統接管,應用程式流量必須進入本機代理或 TUN;第五層是路由與 DNS,請求應被送往預期出站。跳過前面層次直接修改進階參數,通常只會讓現象更複雜。
每次只變更一個變數,並記錄變更前後的結果。例如節點無法連線時,先在同一網路下切換一個節點;若全部失敗,再檢查訂閱與網路;若只有一個失敗,問題更可能出在該節點設定。瀏覽器失敗但用戶端測試成功時,檢查系統代理;系統代理正常而某個獨立應用程式失敗時,再檢查應用程式代理或 TUN。這種比對比反覆重裝更有資訊價值。
訂閱更新失敗
訂閱更新失敗時,先確認網址完整且沒有前後空格,並確認已新增至訂閱設定,而不是單一節點匯入口。接著查看更新提示是網路請求失敗、回傳為空,還是解析失敗。請求失敗可在基礎網路恢復後重試;回傳為空需要確認訂閱來源狀態;解析失敗則檢查用戶端是否支援回傳格式。不要將訂閱網址改寫成分享連結,也不要手動刪除其中看似多餘的查詢參數。
更新成功卻沒有新增節點時,檢查目前查看的群組、篩選條件與重複處理規則。有些訂閱更新會覆蓋原有群組,而不是追加;伺服器端節點沒有變化時,清單自然維持原狀。若舊節點仍可用但新節點缺失,可以建立臨時群組比對更新結果;確認後應合併或刪除臨時群組,避免長期重複。
已選取節點但無法連線
先核對系統時間、目前網路與節點參數。日誌中的逾時通常表示連線未完成,可能是位址不可達、網路丟包或伺服器沒有回應;連線遭拒通常表示目標位址可達,但對應連接埠沒有接受連線;設定解析錯誤則表示參數結構有問題。TLS、伺服器名稱、傳輸路徑與服務名稱等欄位必須與節點來源一致,不應憑經驗改成常見值。
同一節點在一個平台可用、另一個平台失敗時,比較兩端的協定欄位與核心能力,不要只比較節點名稱。重新從原始訂閱匯入通常比複製用戶端內部 JSON 更可靠。若 v2rayNG 能匯入某項擴充功能,而 v2flyNG 無法識別,應依核心方向選擇相容用戶端,不要將缺少的欄位留空後強行連線。
用戶端顯示已連線但應用程式沒有變化
這通常是系統接管層的問題。桌面平台檢查系統代理是否已指向用戶端目前的監聽連接埠,Android 則檢查系統 VPN 確認是否完成。接著確認應用程式是否讀取系統代理,以及在連線前是否已建立長時間連線。完全退出應用程式後重新開啟,可排除連線快取。若瀏覽器另行設定了代理擴充功能,也應暫時停用,避免覆蓋系統設定。
命令列程式需要檢查代理環境變數,遊戲與使用獨立網路堆疊的應用程式則可能需要 TUN。不要因為一個應用程式忽略系統代理,就判斷節點不可用。選擇一個明確遵循系統代理的瀏覽器作為基準樣本,確認基準樣本正常後,再擴大接管範圍。
關閉用戶端後無法連線
最常見原因是系統代理仍指向已停止的本機連接埠。Windows 與 macOS 在系統網路設定中關閉手動代理或自動代理設定;Linux 檢查桌面代理與終端機環境變數;Android 檢查系統連線狀態與永遠開啟設定。若曾啟用 TUN,還要確認虛擬介面、預設路由與 DNS 已恢復。完成後先驗證直接連線,再重新啟動用戶端。
強制結束程序比正常退出更容易留下狀態。長期使用時,應從用戶端選單關閉系統代理與 TUN,再執行退出。若系統每次重新啟動後都重現,檢查是否存在重複的自動啟動項目,或另一個網路工具在登入時寫入代理。不要同時讓多個程式管理同一個系統代理開關。
連接埠佔用與核心啟動失敗
日誌出現連接埠已被使用時,先退出其他代理用戶端,並確認 v2rayN、v2rayNG 或 v2flyNG 沒有重複執行個體。也可能是上次異常退出後,核心程序仍在執行。結束確認無用的舊程序後重新啟動。若必須修改監聽連接埠,應同步更新瀏覽器、終端機環境變數與其他依賴該連接埠的工具,避免用戶端已更換連接埠,但應用程式仍連線至舊值。
# Linux 查看指定連接埠的監聽程序
ss -lntp
# Windows PowerShell 查看 TCP 監聽
Get-NetTCPConnection -State Listen
# macOS 查看 TCP 監聽
lsof -nP -iTCP -sTCP:LISTEN
不要結束無法確認用途的系統程序。命令結果用來找出連接埠與程序的對應關係,再決定是關閉舊用戶端,還是調整新用戶端的連接埠。監聽位址為 127.0.0.1 表示僅限本機存取;若監聽所有介面,還需檢查區域網路存取設定與防火牆。
TUN 開啟後全網路中斷
立即關閉 TUN 並確認基礎網路恢復,然後依權限、虛擬介面、路由、DNS 的順序檢查。權限不足通常會在建立介面時報錯;路由衝突會在介面建立後導致流量走向錯誤;DNS 問題則更常表現為網域存取失敗。若同時執行虛擬機器、容器網路或其他虛擬網卡工具,先暫停其中一項進行比對。
Android 還要檢查系統是否保留另一個 VPN 設定,桌面平台則檢查是否有多個用戶端同時自動啟動。恢復測試時不要一次重新開啟所有功能:先測試節點連線,再開啟系統代理,最後啟用 TUN。每一層通過後再繼續,才能確定故障是由哪一步引入。
整理日誌與進一步查閱
提交問題前,請記錄作業系統、用戶端名稱、安裝包架構、使用系統代理還是 TUN、問題發生時間,以及最近一次變更。日誌只截取故障前後的相關段落,並隱藏訂閱網址、使用者識別資訊、伺服器位址等敏感內容。描述應採用可重現的步驟,例如「訂閱更新成功,選擇節點後開啟系統代理,瀏覽器請求逾時;關閉系統代理後直接連線恢復」,比「無法使用」更方便定位。
如果仍無法判斷,可前往常見問題,依基礎認知、安裝設定、使用技巧與故障排查分類繼續查閱。新手也可閱讀V2Ray 新手十問十答,確認核心、訂閱與代理模式的基本關係。排錯結束後,應撤銷臨時日誌等級、測試連接埠與臨時路由,保留一份已驗證的穩定設定。
整套設定的最終驗收應涵蓋四種狀態:用戶端啟動後訂閱可更新,節點連線後目標應用程式依預期進入代理,關閉系統代理或 TUN 後直接連線恢復,裝置重新啟動或切換網路後能夠重新建立連線。達到這四項,表示安裝、設定、系統接管與恢復流程都已閉合。