完整手冊 · 從入門到進階

v2rayN 完整使用手冊
設定與維護

沿著應用程式、客戶端、核心與遠端服務的連線路徑,逐步完成訂閱匯入、代理設定、路由分流與故障排除。

訂閱管理 代理與路由 TUN 與維護

核心概念:了解連線流程

分清客戶端、核心與遠端服務

先把連線拆成四個環節:應用程式送出請求、本機代理入口接收請求、核心依照設定處理並轉送,最後由遠端服務連線至目標網站。v2rayN 是用來管理設定與執行狀態的圖形化客戶端,不是遠端服務,也不會在安裝後自動提供可用連線。客戶端負責管理訂閱群組、選擇伺服器、設定系統代理及啟動核心;實際處理協定、傳輸與路由的是核心。了解這些分工,才能分辨「軟體能開啟」和「連線能建立」是兩回事。

Project V 是相關代理技術的生態背景,V2Fly 與 Xray 則是不同的核心專案。兩者有些概念相通,但功能、設定欄位與支援範圍並非始終一致。遇到分享連結可以匯入卻無法使用時,先確認目前的核心是否支援該組合,不要只看客戶端名稱。圖形介面顯示某個選項,也不代表每種核心都能執行。切換核心後,請重新檢查產生的設定與啟動記錄,確認變更確實生效。

分清協定、傳輸方式與安全機制

VMess、VLESS、Trojan 是不同的代理協定;TCP、WebSocket、gRPC 等則是承載資料的傳輸方式;TLS 與 REALITY 涉及連線安全機制。三者屬於不同層次,不能互相取代。例如選用 VLESS 後,仍須填入正確的傳輸與安全參數。REALITY 也不是選取後就能連線的通用開關,還需要伺服器端提供相應的公鑰、伺服器名稱及其他參數。請以服務提供者交付的完整設定為準。

節點通常是可建立遠端連線的一筆設定,可能包含位址、連接埠、使用者識別碼、密碼與傳輸參數。訂閱網址則是取得一組設定的入口,更新後其中的項目可能新增、刪除或變更。訂閱成功下載,只能證明取得設定這個步驟正常,不能保證每筆設定都能使用;反過來,既有設定可以連線,也不代表訂閱更新一定可用。把取得設定與建立代理連線分開測試,故障排除會更清楚。

分清本機連接埠與遠端連接埠

本機監聽連接埠供瀏覽器、終端機等程式連線至客戶端;遠端連接埠則是伺服器端的服務連接埠,兩者不必相同。常見的本機 SOCKS 連接埠是 10808,實際值請查看目前客戶端的參數設定。127.0.0.1 代表本機迴送位址,不是伺服器位址。若把遠端位址填進瀏覽器的本機代理設定,或把本機連接埠誤填為伺服器設定,都可能造成看似相同的逾時問題。

DNS 負責將網域名稱轉換為位址,路由則決定請求要直連、走代理或封鎖。系統代理只會影響有讀取這項設定的應用程式;TUN 則透過虛擬網路介面接收更多流量。因此,「啟用系統代理」不代表所有程式都已接入;「選擇全域路由」也不代表系統已接管所有連線。每次調整時,先確認兩件事:請求有沒有進入客戶端?進入後又符合哪條規則?

開始設定前,請準備作業系統類型、處理器架構、可用的訂閱或完整分享設定,並確認系統時間已自動同步。訂閱網址與分享連結可能包含存取憑證,適合存放在個人密碼管理工具,不應貼到公開討論區。尋求協助時,只需說明協定、傳輸方式與錯誤階段,並隱藏網址中的憑證欄位。從首次匯入就養成這個習慣,不要等到設定外洩才補救。

選擇客戶端:平台與核心

桌面平台優先選用 v2rayN

Windows、macOS 與 Linux 桌面平台以 v2rayN 為主要選擇。挑選安裝檔時,先確認作業系統,再確認處理器架構,最後才考慮介面類型與套件格式。不要依檔案大小或名稱長短判斷版本新舊,也不要反覆解壓不適用於目前系統的套件。前往下載中心後,依平台查看對應說明;若系統提示格式不支援,先重新確認平台與架構,不要立刻關閉系統保護。

Windows 提供桌面版與經典 WPF 版。桌面版採用跨平台介面,WPF 版則沿用經典介面架構;兩者的選單配置與設定儲存方式可能不同。初次使用可從桌面版開始,熟悉經典介面的使用者則可依環境選擇 WPF 版。不要為了排查單一設定問題而頻繁切換介面,因為選單位置、工作目錄與執行條件都可能改變,反而更難判斷。

平台客戶端選項選擇依據
Windowsv2rayN 桌面版、WPF 版介面偏好與執行環境
macOSv2rayNApple Silicon 或 Intel
Androidv2rayNG、v2flyNG核心需求與處理器架構
Linuxv2rayN發行版套件格式與架構

依裝置資訊選擇安裝檔

macOS 使用者可在「關於這台 Mac」查看晶片資訊:顯示 Apple 晶片時,選擇 Apple Silicon 對應版本;顯示 Intel 處理器時,則選擇 Intel 版本。不要只憑電腦外觀或購買年份推測。Linux 使用者應先確認發行版採用的套件管理系統,再選擇 deb 或 rpm;同一種套件格式也可能區分桌面常見的 x64 與其他裝置使用的 arm64。套件格式與架構是兩項條件,必須同時符合。

Android 優先選用 v2rayNG,使用 Xray 核心;v2flyNG 使用 V2Fly 核心,適合明確需要該核心時作為替代選擇。多數較新的手機可選 arm64,但裝置年份只能參考,部分裝置的系統環境與晶片能力並不完全一致。無法確認時,可查看系統資訊或選擇通用版。兩款客戶端並非只有名稱不同,支援的欄位與選單細節也有差異;尤其不要假設兩者都支援某項新安全機制。

依設定需求選擇,不要依協定名稱排名

選擇客戶端時,也要考量現有設定需要哪些功能。如果服務設定使用特定傳輸方式或安全欄位,先確認客戶端所搭載的核心是否支援,再考慮介面習慣。無須為了「協定越新越好」而手動改寫已可正常使用的設定。協定、傳輸方式、憑證與網路環境都會影響結果,換個名稱不會自動改善連線。使用訂閱時,保留服務提供者給的欄位通常比自行猜測可靠;確有相容性問題時,再記錄錯誤並核對支援範圍。

遷移設定時,也要分清分享格式與客戶端設定。單一分享連結通常只包含遠端連線所需欄位,不一定包含路由、DNS、本機連接埠與介面偏好。即使兩個客戶端都能辨識同一連結,也不代表整套環境已完整複製。遷移後至少檢查本機監聽位址、系統代理狀態、目前使用的項目與預設路由。若只是換裝置,不妨先在新裝置建立最基本的連線,確認可用後再逐項搬移自訂規則。

同一部裝置初期只執行一個會接管網路的客戶端。多個程式可能搶用本機連接埠、系統代理或虛擬介面,造成介面看似正常、請求實際路徑卻不明。切換測試前,先關閉原程式的代理接管功能,再結束原程式,最後啟動新客戶端。保留一份可正常使用的設定作為參照,比同時安裝多個客戶端並輪流開啟更容易找出問題。客戶端下載來源與設定來源也應分開管理,安裝成功不代表已取得服務設定。

安裝與首次啟動

準備可寫入的目錄與執行環境

安裝前,先結束正在執行的舊客戶端,並記下目前的本機連接埠與系統代理狀態。使用安裝程式時,依照系統精靈完成安裝;使用壓縮檔時,先完整解壓縮,再從解壓縮後的目錄啟動,不要直接在壓縮軟體的暫存預覽中執行。客戶端需要讀取核心檔案並儲存設定,若目錄位於唯讀位置、暫存目錄或權限嚴格的共用目錄,可能無法儲存設定或找不到元件。桌面捷徑只是啟動入口,不代表工作檔案都存放在桌面。

Windows 無法啟動時,先確認系統提示是否明確指出缺少執行環境。不同發行套件可能已包含所需元件,也可能需要安裝相應的桌面執行階段,請依安裝說明判斷,不要重複安裝所有執行階段。經典 WPF 介面與跨平台介面的執行需求也應分別確認。若出現權限錯誤,檢查目錄是否可寫入、檔案是否遭安全軟體隔離,並確認提示來源;長期以系統管理員身分執行並不是通用的修復方式。

依平台完成首次開啟設定

macOS 安裝後,將應用程式移至合適的應用程式目錄,再從該位置啟動。若系統阻止開啟,先確認下載來源與提示內容,再依系統提供的授權流程處理;不要為了啟動單一程式而關閉整套安全機制。若提示架構不相容,請重新確認裝置的晶片類型。更新前先結束應用程式,避免舊程序仍在執行時替換檔案,否則介面與實際執行元件可能來自不同安裝狀態,增加排查難度。

Linux 請使用符合發行版的套件安裝方式,完成後從應用程式選單或已安裝的啟動入口開啟。遇到相依性或圖形介面錯誤時,先分辨是套件管理器安裝失敗,還是安裝完成後無法啟動;前者檢查套件格式與相依性提示,後者檢查圖形環境、權限與啟動輸出。不要直接複製為其他發行版準備的指令。系統網路接管所需權限,等啟用相關功能時再授予;一般設定管理階段不必預先擴大權限。

Android 安裝後,先開啟應用程式檢查基本介面,不必急著連線。系統要求允許安裝應用程式時,只為目前可信任的安裝來源授予必要權限;安裝完成後,可撤銷該來源的安裝權限。首次啟動代理連線時出現的 VPN 授權是另一項權限,用來建立本機接管介面,與安裝權限不同。若裝置上已有其他 VPN 正在執行,先結束原連線;反覆確認授權無法解決兩個網路接管服務互相衝突的問題。

檢查核心與本機監聽

首次開啟後,進入參數設定檢查本機監聽位址與連接埠,再查看記錄區是否出現核心檔案遺失、設定解析失敗或連接埠遭占用等訊息。尚未匯入遠端設定時,部分功能無法完成連線測試,這是條件尚未具備,不代表安裝損壞。若安裝目錄中的元件遭隔離,先查看安全軟體的處理記錄;確認原因後,再依可信任的發行說明修復,不要從不明來源隨意下載同名核心檔案放回目錄。

預設應將代理入口限制在本機迴送位址。若開放至所有網路介面,同一網路中的其他裝置可能也能存取該入口,因此還需要防火牆與存取控制配合。學習階段若不需要讓其他裝置連線,就不要啟用區域網路連線。若連接埠遭占用,可以關閉占用它的舊客戶端,或確認用途後更換監聽連接埠;更換後也要同步修改應用程式端的代理位址,否則瀏覽器仍可能連到舊連接埠而持續報錯。

最後建立一份初始紀錄:安裝位置、客戶端類型、監聽連接埠、是否設為開機啟動,以及目前是否啟用系統代理。紀錄不需包含任何憑證,只要足以協助日後還原環境即可。暫時不要同時設定自動啟動、自動更新訂閱與 TUN;先確認手動啟動的基本設定可正常運作,再逐步加入自動化。如此一來,即使後續發生故障,也能分辨是安裝基礎有問題,還是新增設定改變了網路路徑。

訂閱匯入:群組與更新

先辨識網址類型

匯入前,先確認取得的是訂閱網址、單一分享連結,還是完整設定檔。訂閱網址通常用來取得一組設定;分享連結常以協定名稱開頭,描述一筆遠端設定;QR Code 則只是承載文字的方式,內容可能是分享連結,也可能是訂閱網址。把所有內容都貼到訂閱欄,或把訂閱網頁的登入網址當成訂閱網址,都會造成格式錯誤。先確認內容用途,再選擇匯入方式。

在 v2rayN 開啟訂閱群組設定,新增一個方便辨識用途的群組名稱,將完整訂閱網址貼到網址欄位並儲存。請移除複製時一併帶入的前後空格與換行,但不要自行刪除網址中的查詢參數,因為這些參數可能用於身分識別。群組名稱只是本機管理標籤,不會變更遠端設定,也不代表已完成更新。儲存群組後,還要執行更新,客戶端才會實際取得伺服器項目。

選擇正確的更新方式

初次設定且代理尚不可用時,可先嘗試「更新目前訂閱(不透過代理)」這類選項,避免訂閱請求依賴尚未建立的連線。若訂閱來源明確要求透過代理存取,就必須先準備一筆已確認可用的設定,再使用代理更新。兩種方式沒有絕對優劣,關鍵在於目前網路能否連上訂閱服務。更新失敗時先查看錯誤訊息,分辨是網址解析失敗、連線逾時、驗證失敗,還是回應內容無法解析。

更新後,確認清單中已出現目前群組的項目,並檢查是否被介面的搜尋條件或群組篩選器隱藏。若清單仍是空的,先查看更新記錄,再確認網址是否回傳訂閱內容。有些網址在瀏覽器開啟時會顯示登入頁、訂閱過期通知或其他網頁;即使成功下載,也不代表內容是有效設定。不要將含有憑證的訂閱內容上傳至公開轉換網站;若不確定格式,請先向服務提供者確認支援的客戶端與匯出方式。

分別處理剪貼簿、QR Code 與編碼內容

v2rayNG 可從操作選單匯入剪貼簿中的分享內容,也能掃描 QR Code。掃描前請確認圖片來源,匯入後檢查協定與安全欄位是否完整。若取得的是訂閱網址,應前往訂閱群組設定儲存並更新,而不是只匯入為單一伺服器項目。只有掃描時才需要授予相機權限;若已有純文字內容,使用剪貼簿通常更直接。匯入後選取要使用的設定,再授予連線所需的 VPN 權限;項目出現在清單中不代表已完成連線。

部分訂閱會以 Base64 編碼包裝多筆分享連結;編碼不等於加密,也不代表內容可以公開。客戶端通常會在更新訂閱時處理支援的格式,無須先手動解碼。若回應內容其實是其他格式的設定,單純轉成 Base64 也不會自動相容。想進一步了解各種匯入方式的差異,可閱讀訂閱群組、剪貼簿與 QR Code 匯入步驟,依內容類型逐一確認。

避免更新時覆蓋手動修改

訂閱項目可能在下次更新時重新產生,因此重要的自訂修改不要只留在訂閱項目中。若需要調整某筆設定,先確認客戶端是否支援複製為獨立項目,或能否在不同群組中管理;同時記下修改目的與原始欄位。訂閱若頻繁更新,不要只靠顯示名稱判斷是否為同一筆設定,應一併比對協定、位址與關鍵參數。名稱變更不一定代表服務已變更;名稱未變,也不保證內部欄位維持原樣。

手動更新確認穩定後,再啟用自動更新,並選擇符合使用習慣的更新間隔。更新失敗時,先保留現有可用設定,不要立刻刪除整個群組重建。若遠端已撤銷授權或服務已到期,反覆更換本機更新方式也無法恢復存取,應先確認訂閱狀態。遷移裝置時,優先搬移群組與必要設定,再手動更新確認;直接複製來源不明的舊清單,可能連已失效的設定也一併帶到新環境。

系統代理:連線與驗證

先啟動核心,再讓應用程式接入

匯入訂閱後,先選取一筆要使用的設定並設為目前項目,再確認核心已啟動。接著選擇自動設定系統代理,讓有讀取系統代理設定的應用程式將請求送往本機入口。選單中的「清除系統代理」通常是移除系統層級的代理設定,不一定會停止核心;「不變更系統代理」通常是保留系統目前狀態,也不代表關閉代理。請參照目前客戶端的說明判斷實際作用,不要只憑名稱中有「代理」二字就推測。

在 Windows 與 macOS 上,許多瀏覽器會讀取系統代理,但瀏覽器擴充功能、自訂啟動參數或企業政策可能會覆寫設定。Linux 桌面環境與各應用程式讀取系統代理的方式較不一致,必要時得在應用程式中明確填入本機入口。終端機程式則經常不會讀取桌面代理設定。因此,瀏覽器能連上目標網站,不代表命令列程式也走相同路徑;終端機無法連線,也不能立刻推斷系統代理失效。

分清連線接入方式與路由方式

系統代理處理的是「請求如何進入客戶端」,路由處理的是「進入後要往哪裡走」。常見的全域代理路由,是讓已進入核心的請求優先走代理出口,而不是強制接管裝置上的所有程式。直連路由也可能仍經過本機核心,只是選擇直連出口。PAC 則透過規則指令碼決定應用程式是否使用代理,屬於接入階段的判斷,不應與核心內部的分流混為一談。排除問題時,一次只保留一種清楚的接入方式。

Android 上的 v2rayNG 通常透過本機 VPN 介面接收應用程式流量,也可能提供依應用程式設定代理的選項。勾選或排除應用程式的實際意義,取決於目前模式:清單有時代表只有列出的應用程式會走代理,有時則代表列出的應用程式會被排除。不要只因清單中出現應用程式名稱,就認定它已接入。先用一個沒有額外代理設定的一般應用程式測試,再逐步增加其他程式;測試瀏覽器時,暫時停用代理擴充功能,避免設定重疊。

分層驗證,不要只測一個網頁

第一步確認核心記錄沒有啟動錯誤;第二步確認本機連接埠確實正在監聽;第三步讓明確支援代理的程式送出請求;第四步再確認目標應用程式是否採用系統代理。可使用以下命令明確指定 SOCKS 入口,並將連接埠替換為參數設定中的實際值。這裡的 socks5h 表示由代理端解析目標網域,適合用來分辨本機解析問題與代理連線問題,但不能證明系統代理設定本身正確。

curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --head https://example.com/

若命令傳回任何合理的 HTTP 回應,至少代表這次請求完成了相應的連線流程;目標網站可能重新導向或拒絕存取,並非只有成功狀態才有診斷價值。若立即提示無法連線至本機連接埠,先檢查核心與監聽位址;若已連上本機入口,接著才出現交握錯誤,則檢查遠端設定與系統時間。單一測試目標可能本身無法使用,必要時改用另一個已知正常的目標交叉測試,別把網站故障誤當成整條代理路徑故障。

明確的結束與復原順序

關閉客戶端前,先清除系統代理或還原原本的系統設定,再結束程式。否則系統可能仍指向已停止監聽的本機連接埠,導致瀏覽器完全無法連線。系統休眠、程式異常結束或強制關閉後,也要檢查這項設定。若原本的系統代理由公司網路或其他管理程式設定,請先記下原值,不要一律刪除。恢復網路連線比繼續疊加新設定重要;必要時先回到直連環境,再逐層重建最基本的連線。

若明確指定代理的命令可用、瀏覽器卻無法連線,重點檢查瀏覽器擴充功能、獨立代理設定與舊連線快取;若瀏覽器可用、終端機卻不行,則檢查終端機環境變數與程式本身的代理參數。兩種情況分開排查,不必立刻重裝客戶端。可繼續閱讀系統代理未生效:瀏覽器與終端機排查。驗證時記下測試目標、使用的入口與錯誤階段,避免只留下「能用」或「不能用」這種模糊結論。

路由分流:規則與 DNS

先確認預設出口與規則順序

路由分流是在請求進入核心後,依網域、位址、連接埠、協定或其他條件選擇出口。開始設定前,先確認未符合任何規則的請求會走哪個出口,再新增少量必要規則。常見目標是讓區域網路位址直連、指定網域走代理,其餘請求依預設策略處理。規則並非越多越精確;重複規則、範圍過大的條件與來源不明的規則集,反而讓結果難以解釋。每新增一條規則,都應說得出它會比對哪些請求,以及為什麼放在目前的位置。

許多核心依規則順序逐一比對,由第一條符合的規則決定出口,因此應將明確且範圍較小的例外放在範圍較廣的規則之前。例如某個網域需要走代理,但涵蓋範圍較大的網域集合設為直連,就要檢查兩者的順序。內網位址直連可避免連線到本機路由器、印表機或檔案服務時繞經遠端,但不代表所有內部名稱都能正確解析。名稱解析與位址路由須分開確認,不能只新增一條規則就認定兩者都已解決。

閱讀規則片段,避免整份覆寫

以下是 Xray 路由物件的結構範例:先讓私有位址直連,再讓範例網域及其子網域走代理。這不是完整設定;direct 與 proxy 必須對應目前設定中確實存在的出口標籤,geoip:private 也必須有可用的位址資料。圖形客戶端通常會產生完整設定,不要將這段內容直接覆寫整個設定檔。使用介面中的規則編輯器時,應將相同意圖轉換為相應的規則項目。

{
  "routing": {
    "domainStrategy": "AsIs",
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": ["domain:example.com"],
        "outboundTag": "proxy"
      }
    ]
  }
}

這個範例中的位址規則,只有在具備可供比對的位址條件時才會生效。如果請求只包含網域,而目前的網域策略不會主動解析以供比對,就不能將它理解為「所有解析至私有位址的網域都會被這條規則攔下」。同樣地,網域規則必須由核心取得網域資訊;如果應用程式只傳送位址,核心可能無法得知原始網域名稱。嗅探功能可為部分流量補上名稱資訊,但無法辨識所有加密流量,不能把它當成保證規則命中的萬用功能。

將 DNS 視為獨立的連線路徑

設定 DNS 時,分別確認應用程式在哪裡解析、客戶端使用哪個解析器,以及 DNS 查詢本身走哪個出口。應用程式若自行使用加密 DNS,可能會略過系統解析器;明確指定 SOCKS 的請求也可能選擇在本機或代理端解析。核心中的 DNS 設定不一定會接管系統裡所有程式的查詢。若網域無法開啟但直接輸入位址可以連線,先檢查解析結果與查詢路徑,不要立刻更換遠端連接埠。不同路徑解析出不同位址,也可能影響後續的路由比對。

避免解析器與代理連線形成循環依賴。例如,連線至遠端服務前必須先解析其網域,但解析請求又被要求透過尚未建立的同一條連線傳送,就可能卡在起點。請為初始解析保留可用路徑,並確認伺服器網域的解析方式。修改解析策略後,應用程式、系統與核心可能各自保留快取;記下原始設定後,再分別清除快取或重新啟動相關部分,接著測試新連線,避免舊快取讓新規則看起來沒有生效。

逐條驗證分流結果

測試規則時,選定一個明確的目標,記錄應用程式是否帶有網域、規則條件與最終出口。若記錄支援顯示規則比對資訊,可暫時提高記錄層級觀察,測試完成後再還原。不要只用連線成功與否判斷規則是否命中,因為直連與代理都可能成功;反之,代理出口遭目標服務限制,也不代表規則沒有命中。先確認流量已進入核心,再確認規則選到預期出口,最後才檢查目標回應,才能把分流問題與服務問題分開。

TUN 模式:網路接管與復原

確認確實需要更廣泛的接入範圍

TUN 透過虛擬網路介面接收系統流量,再交由相應元件處理並轉送。它適合不讀取系統代理設定、也沒有獨立代理入口的應用程式,但不是解決所有逾時問題的快速開關。若明確指定本機代理的測試仍無法連上遠端,啟用 TUN 通常只會讓更多應用程式遇到相同錯誤。先在一般代理模式下確認遠端設定、DNS 與路由正常,再進入本章,確保新增問題能歸因於網路接管層,而不是與既有故障混在一起。

不同平台、客戶端版本與所選元件提供的 TUN 實作可能不同,選單名稱、網路堆疊選項與權限需求也不盡相同。不要依照某張介面截圖尋找完全相同的開關,更不要假設選用某個代理核心就自動具備所有網路接管功能。請先查看目前介面的功能說明、啟動記錄與所需元件提示。Android 本機 VPN 介面與桌面版 TUN 設定的使用體驗相似,但權限機制與可調參數不能直接照搬。

記錄網路基準狀態,再逐項啟用

啟用前記下目前使用的網路介面卡、系統 DNS、是否有其他 VPN,以及客戶端目前的接入方式。先結束其他會修改路由的程式,暫停重複接管,再啟用 TUN 並依系統提示授予必要權限。不要把所有「執行失敗」都歸因於權限不足;記錄中的介面建立失敗、路由新增失敗、連接埠占用與設定不支援,都是不同問題。只有錯誤明確指向權限時,才依目前平台的要求調整授權範圍。

先保留預設網路堆疊與基本參數,不要同時修改最大傳輸單位、嚴格路由、DNS 劫持等進階選項。可先測試一般網頁,再測試原本不讀取系統代理的目標應用程式,最後確認區域網路裝置與休眠後是否能正常恢復。若網頁可用,但某類即時應用程式失敗,先檢查遠端協定與出口是否支援該類流量,再確認 UDP 路徑與應用程式限制。TUN 能接收資料,不代表遠端服務願意或能夠轉送每種傳輸方式。

檢查循環、DNS 與區域網路存取

接管所有路由時,必須確保客戶端連往遠端服務的流量不會再次被送回同一個虛擬介面,否則可能形成循環。正常實作通常會處理相關流量的繞行,但自訂路由、多個網路接管程式或手動網卡設定可能破壞這項機制。若核心正常啟動,啟用網路接管後卻立即斷線,先關閉 TUN 確認基本代理能否恢復,再檢查遠端連線是否遭錯誤接管。不要直接刪除系統路由表中的所有項目。

DNS 接管與 FakeDNS 也應分開理解。DNS 接管是將查詢導向指定的處理路徑;FakeDNS 則回傳虛擬位址並維護網域映射。兩者可以搭配使用,但不是同一個開關。啟用虛擬映射後,有些應用程式若繞過相應的處理路徑,可能會取得無法直接連線的虛擬位址。企業內網名稱、區域網路探索與內建解析功能的應用程式尤其需要個別測試。沒有明確需求時,先維持一般解析方式,避免為了增加功能而犧牲可解釋性。

現象優先檢查復原測試
啟用後所有應用程式都無法連線介面、預設路由、循環依賴關閉 TUN,測試明確指定的代理
網域無法連線,但位址可用DNS 路徑與快取還原原本的解析設定
無法連線至區域網路裝置內網繞行與名稱解析分別測試位址與名稱

將關閉測試納入啟用流程

啟用成功後,還要測試關閉功能、結束客戶端、切換網路,以及系統休眠後的恢復情形。關閉後確認虛擬介面相關路由與解析設定已還原,且一般網路可正常使用。若結束程式後仍無法連線,先檢查系統是否仍指向本機代理,再查看目前使用的網路介面與解析器。記下故障現場的基本資訊後,可依系統正常的網路重新連線流程恢復;不清楚用途時,不要大量刪除網卡或清空防火牆設定。

確認網路接管、分流、區域網路連線與退出復原都正常後,再考慮設定開機自動啟動。自動化也須考量網路尚未就緒、系統權限尚未授予等情況,不能只測試登入桌面後的手動啟動。設定出問題時,最可靠的退路是關閉 TUN、還原原本的系統代理與 DNS,再用已驗證可用的一般代理設定繼續排查。進階功能的價值在於滿足明確需求,而不是把所有開關都打開。

日常維護:備份與故障排除

保存可復原的設定狀態

日常維護應從備份開始,而不是急著更新。優先使用客戶端提供的匯出或備份功能,確認是否包含伺服器項目、訂閱群組、路由規則、DNS 與介面偏好。若要複製設定目錄,先結束客戶端,避免複製到尚未寫入完成的資料;實際目錄依目前安裝方式而定,不要假設所有平台都存放在同一位置。備份後留下簡短說明,記錄對應的平台、介面類型與當時可用的功能範圍。

備份可能包含訂閱憑證、伺服器密碼與私人網域,應存放在有存取控制的本機或可信任的加密儲存空間。用來求助的設定檔與用於還原的完整備份應分開處理:前者移除敏感內容,後者則保留復原所需欄位。不要只備份介面截圖,因為截圖通常無法還原隱藏欄位與規則順序。更新前至少保留一份已知可用的設定,並確認找得到還原方式,不要等更新失敗後才尋找舊資料。

分開更新客戶端、核心與規則資料

客戶端更新會改變圖形介面與管理方式,核心更新會改變協定處理能力,路由資料更新則會改變規則集合的比對範圍,三者不能視為同一件事。每次只更新一類元件;完成後測試啟動、訂閱更新、一般連線與退出復原,再進行下一項。若原本穩定的連線突然失效,先回想最近變更的是哪一層。記錄設定變更比頻繁重新安裝更有助於排查;重新安裝可能保留舊設定,也可能清除故障現場,未必能解釋問題。

版本變更可能讓部分欄位遭淘汰或改變預設行為,因此更新後先查看記錄是否提示設定不相容。自訂完整設定尤其需要謹慎:它可能略過介面產生設定的流程,不能預期新增的介面選項會自動寫入自訂檔案。若必須還原,請使用與舊設定相容的方式,並避免讓不同程式同時寫入同一個資料目錄。設定資料庫經過遷移後,也未必能直接交由舊版程式讀取;請在變更前保留備份。

依錯誤發生階段查看記錄

排查時先記下錯誤發生在什麼操作之後:程式無法開啟、核心啟動失敗、訂閱下載失敗,還是應用程式請求失敗。程式啟動問題檢查執行環境與目錄權限;核心啟動問題檢查欄位、元件與連接埠;訂閱問題檢查網址與取得路徑;請求問題則進一步檢查解析、遠端交握與路由。保留完整錯誤訊息,比只說「連線失敗」更有幫助。記錄可能包含位址與使用者資訊,傳送前請先檢查並遮蔽,不要直接上傳整個工作目錄。

節點逾時可依序檢查系統時間、本機監聽、網路連線能力與傳輸參數。系統時間不準可能影響憑證與交握;連接埠遭占用可能使應用程式根本連不到預期的程序;伺服器連接埠無法連線則是另一個層次。遇到 TLS 相關錯誤,再確認伺服器名稱、憑證狀態與安全參數,不要長期關閉驗證。詳細排查順序請參閱系統時間、連接埠與 TLS 交握排查,每次調整後都重新送出請求。

維持一致的測試條件

比較修改前後的結果時,盡量使用相同應用程式、相同目標與相同網路入口。切換設定後,舊連線可能繼續沿用既有工作階段;必要時關閉測試應用程式或清除連線,再發出新請求。系統休眠、有線網路切換至無線網路,或連上需要網頁登入的網路,都可能改變連線條件。若目前網路尚未完成登入,先還原原本的代理設定並完成正常連線,再啟用客戶端,避免將網路驗證頁誤認為訂閱回應或目標網站回應。

平時保留預設或適量的記錄,只有重現問題時才暫時提高詳細程度。過多記錄不但占用空間,也可能暴露更多連線中繼資料;問題解決後應恢復原本的記錄層級,並視需要清除舊記錄。定期確認訂閱仍有效、備份可以讀取、系統代理能正常復原即可,不必每天修改穩定運作的設定。維護的目標是減少未知變動,讓下次發生問題時有清楚的比較基準與可執行的復原方式。

進階路線:從驗證到自訂

先掌握欄位之間的限制

完成前面各章後,進階學習的重點不再是尋找更多開關,而是了解不同設定之間的限制關係。可先從一份已知可用的設定著手,分別觀察協定、傳輸、安全與路由欄位如何出現在核心設定中。只閱讀自己能解釋的部分,不要急著修改由遠端服務決定的使用者識別碼、密碼或公鑰。學習設定語法與修改實際憑證是兩回事:前者可用已遮蔽敏感資訊的片段練習,後者則必須有相應的服務資訊。

學習協定時,優先確認它需要哪些驗證欄位、如何承載資料、可搭配哪些安全機制,以及目前核心是否支援。不要用名稱新舊取代相容性判斷。例如 REALITY 設定中的伺服器名稱、公鑰與短識別碼,都必須符合伺服器端的要求;客戶端自行產生一組欄位,不會讓既有服務自動接受。部分欄位允許設定多個值,也不代表任意組合都正確;請逐項比對服務提供者的說明,並保留原本可用的設定以供比較。

設計能回答具體問題的小型測試

每次測試前先寫下假設,例如「這個終端機沒有讀取系統代理」,再設計只改變一項條件的測試:先送出直連請求,再明確指定本機入口,最後才測試環境變數。若明確指定入口後請求成功,但預設請求失敗,應優先檢查應用程式的接入方式,不必同時更換路由與 DNS。測試結果應包含請求入口、錯誤階段與預期出口,而不是只記錄某個網頁能不能開啟。累積這類紀錄,比複製一份複雜設定更能建立可移轉的判斷能力。

路由測試可先只為一個範例網域建立規則,確認規則命中與出口後,再逐步擴充至網域集合與位址集合。DNS 測試則比較應用程式在本機解析與代理端解析的結果,並留意快取造成的干擾。TUN 測試應額外確認區域網路、網路切換與退出復原。每一類測試都要保留個別的復原方式,避免上一項尚未理解,就開始下一項。若結果不符合預期,先保留觀察結果並減少變數,不要繼續疊加修補設定,只為了讓表面上的連線恢復。

正確理解設定語法與產生方式

JSON 範例中的雙引號、逗號與括號都是語法;字串中的欄位名稱則遵循特定元件的設定規範。標準 JSON 不接受註解與結尾多餘的逗號,網路上附有註解、方便閱讀的片段未必能直接交給核心解析。設定能順利解析,只代表語法成立,不代表欄位組合符合語意,更不代表遠端服務可用。遇到錯誤時,先分辨是語法錯誤、未知欄位、缺少出口標籤,還是連線錯誤,再決定要修改哪個部分。

圖形客戶端通常會依介面設定產生執行用的設定檔,直接編輯產生檔可能在下次啟動或切換項目時遭覆蓋。若要長期自訂,先確認客戶端提供的規則、自訂片段或完整設定入口分別影響哪個階段。優先採用足以滿足需求的最小自訂方式,不要把整份產生設定複製成需要長期維護的檔案。使用完整自訂設定,代表必須自行負責欄位相容性、出口引用與後續更新調整;了解這些責任後再使用,才能避免出現兩套設定來源。

將安全界線納入設定設計

代理連線只保護特定路徑上的傳輸,不應視為所有上網行為都會自動匿名。目標網站的帳號登入、瀏覽器儲存資料、應用程式遙測與遠端服務的運作記錄,仍各自有不同的安全界線。訂閱與分享連結本身也是敏感入口,應定期清除不再使用的副本;若懷疑外洩,依服務提供者支援的方式更換授權。開放區域網路監聽或遠端管理前,先確認誰能存取、如何限制,以及關閉後如何確認入口已停止。

不建議為了排除單一憑證錯誤而長期關閉安全驗證,也不建議沿用來源不明、包含無法解釋的解析器、規則與管理介面的整套設定。能夠連線只是最低要求;容易維護的設定還應來源明確、行為可理解、權限適當,並能在退出時還原。使用工作裝置或受管理網路時,請先遵守裝置與網路管理規範;修改全域路由、系統服務與防火牆時,更要保留原始狀態並確認授權範圍。

最後可用一句完整描述檢查自己是否理解:某個應用程式經由哪個入口接入、本機由哪個元件處理、網域在哪裡解析、哪條規則決定出口、遠端需要哪些參數,以及失敗後如何復原。能逐項回答後,再學習複雜分流、虛擬位址映射或更細緻的應用程式接管,才有穩固基礎。始終保留一份簡單、可驗證且能復原的設定,讓進階功能成為可選工具,而不是必須依賴的黑箱。