V2Ray 設定手冊
從匯入訂閱到路由與 TUN
分九個階段建立設定觀念。Android 以 v2rayNG 為主,桌面版首選 v2rayN;需要 v2fly 核心時,再了解 v2flyNG。
只想完成第一次連線,請先閱讀使用說明中的快速入門流程。本頁適合系統化查閱:說明各項設定會影響哪個環節、如何確認修改結果,以及發生問題時如何復原。初次使用可從第一章依序閱讀;已有設定則可直接前往相關章節。不同用戶端與版本的選單名稱可能略有差異,請以目前介面和記錄檔為準。
第一階段:認識用戶端、核心與連線路徑
先分清操作介面與執行設定的核心
開啟用戶端時看到的是圖形介面。介面負責儲存伺服器項目、更新訂閱、產生設定並啟動服務;真正處理連線的是核心。v2rayNG 主要使用 Xray 核心,v2flyNG 使用 v2fly 核心。v2rayN 是桌面用戶端,實際使用哪個核心取決於所選設定及用戶端支援。介面可以儲存某個欄位,不代表目前的核心一定能執行該設定。
Project V 是了解這套代理生態的背景,V2Fly 與 Xray 屬於相關的核心家族,並不是三個可以互換的應用程式名稱。查閱資料時,先確認文章談的是用戶端選單還是核心欄位。遇到不熟悉的名稱,可前往名詞解釋查閱。不要只因名稱都帶有 V2Ray,就將另一個核心的完整設定直接套用到目前的用戶端。
從入口、規則與出口理解請求流程
一般請求會先由應用程式發出,再進入本機代理入口,接著依路由規則選擇出口,最後連線至目標服務。桌面系統代理只是讓部分應用程式將請求交給本機入口;Android VPN 服務則透過系統提供的虛擬網路介面接收流量。入口負責接收請求,出口負責決定如何傳送;請求經過哪個入口,與最後使用哪個出口,是兩個不同的問題。
伺服器項目描述遠端連線方式,常見欄位包括位址、連接埠、使用者識別碼、協定、傳輸方式與安全參數。訂閱則是用來批次取得這些項目的網址,並不是連線本身。訂閱更新成功,只代表已取得並解析設定,不代表遠端服務一定連得上。反過來說,現有項目仍可使用時,訂閱更新失敗也不一定會立刻影響目前的連線。
分別核對協定、傳輸方式與安全層
VMess、VLESS、Trojan 和 Shadowsocks 是不同的代理協定;WebSocket、gRPC 等名稱描述傳輸方式,TLS 與 REALITY 則涉及連線安全機制。這些欄位必須依照伺服器提供的組合填寫,不能因協定名稱相同就認定其他參數也相同。例如位址與連接埠正確,但傳輸路徑、服務名稱或伺服器名稱錯誤,連線仍可能無法建立。
VLESS 通常需要搭配適當的安全層;不要因協定本身較精簡,就以為所有連線都會自動加密。VMess 的時間相關驗證也要求裝置時間正確。REALITY 需要設定相應的公開金鑰、短識別碼與伺服器名稱,不能只開啟一般 TLS 選項取代。想了解協定差異,可繼續閱讀VMess 與 VLESS 協定速覽。
完成本階段後,應能說明目前使用哪個應用程式、哪種核心、哪個入口與哪個出口。此時不必撰寫完整設定。先建立一條參數來源明確的連線,再逐步加入路由與流量接管範圍;若一開始就啟用所有進階功能,問題可能同時出在多個環節,之後很難判斷哪次修改真正有效。
第二階段:依平台與設定需求選擇用戶端
桌面版選 v2rayN,Android 優先選 v2rayNG
前往用戶端下載頁,先依裝置作業系統選擇平台,再確認處理器架構。Windows、macOS 與 Linux 桌面版首選 v2rayN,Android 則首選 v2rayNG。這樣選擇主要是為了讓教學步驟與實際介面一致,不代表同一份訂閱在所有環境中都具備相同功能。仍須分別確認所需協定、傳輸方式與系統流量接管方式。
Android 需要使用 v2fly 核心相關設定時,可將 v2flyNG 作為備選。不要只因一次連線失敗就立刻更換用戶端;先確認問題出在核心支援、訂閱解析,還是網路與權限。兩款 Android 用戶端互相轉移時,請保留原本的應用程式與設定作為復原方式,等新環境驗證完成後再決定是否清除,避免同時失去可用設定。
分開確認安裝格式與處理器架構
Windows 下載頁提供 v2rayN 桌面版與經典 WPF 版。桌面版採用新一代跨平台介面,WPF 版則保留經典操作方式。兩者的選單配置與部分系統整合方式可能不同,依照教學操作前,先確認使用的是哪一種介面。新版介面找不到同名按鈕時,不要直接認定功能不存在;可先到參數設定與服務選單中尋找相應項目。
macOS 請先在系統資訊中確認晶片類型:Apple Silicon 選擇 arm64,Intel 選擇 x64。Linux 除了架構,也要確認發行版使用的套件管理系統;選擇 deb 或 rpm 不能只看檔案大小。多數較新的 Android 手機使用 arm64,但處理器支援該架構,不代表系統也以相同位元數執行。若無法安裝,再參考系統資訊判斷是否改用通用套件。
| 平台 | 用戶端選擇 | 優先確認項目 |
|---|---|---|
| Windows | v2rayN | 桌面版或 WPF 版、系統支援條件 |
| macOS | v2rayN | Apple Silicon 或 Intel |
| Android | v2rayNG;v2flyNG 為備選 | 系統架構、核心相容性 |
| Linux | v2rayN | deb 或 rpm、x64 或 arm64 |
依實際功能需求確認相容性
如果伺服器提供 VLESS 與 REALITY 組合,請確認目前用戶端使用的核心是否支援相關欄位,以及匯入後欄位是否完整。使用傳統設定時,也不要自行加入新的安全參數。設定能否移植,取決於兩端是否支援相同欄位,而不是應用程式名稱是否相似。核對時應記錄協定、傳輸方式、安全層與特殊選項,不要只記下協定名稱。
也要考量裝置的日常使用方式。若只需要讓少數桌面應用程式走代理,可先使用系統代理或應用程式內建代理;需要接收更多不讀取系統代理設定的流量時,再評估 TUN。Android 則要確認是否有其他 VPN 類工具長期執行,因為系統通常一次只允許一個 VPN 服務運作。不同需求適用的接管範圍也不同,不必以功能開得越多作為選擇標準。
最後,將選擇結果寫成一句可驗證的描述,例如「Android 使用 v2rayNG,透過 VPN 服務接收指定應用程式的流量」。這樣後續安裝、授權與排錯都有明確範圍。想比較三款用戶端的定位,可參閱用戶端比較評測;本手冊會沿著同一套設定流程繼續說明,不會把更換用戶端當成預設的修復方式。
第三階段:安裝用戶端並建立權限基準
Android 安裝與首次啟動
在下載頁選好架構後,使用系統安裝程式開啟安裝檔。如果系統提示目前來源不允許安裝應用程式,請前往提示中的「安裝未知應用程式」頁面,只對實際使用的瀏覽器或檔案管理工具暫時授權。安裝完成後可關閉該來源的權限。不要為了略過安裝提示而修改與安裝無關的裝置安全設定;來源與用途不明時,也不要持續授予權限。
開啟 v2rayNG 後,先確認主畫面能正常顯示,再檢查通知權限。常駐通知有助於查看服務狀態,但通知權限和 VPN 授權是兩回事。第一次啟動代理服務時,系統會另外顯示 VPN 連線確認視窗;確認應用程式名稱後再允許。如果之前使用過其他 VPN 服務,請先將其停止,避免誤以為新服務無法接管是設定參數錯誤。
桌面版先確認檔案與系統整合
Windows 請依所選安裝格式完成安裝或解壓縮,並保留應用程式所需的相關檔案,不要只把主程式移到其他資料夾。優先以一般使用者權限開啟介面;只有啟用的功能確實需要管理員權限時,再依用戶端提示授權。安裝位置必須允許目前使用者儲存設定,尤其要留意受保護資料夾、同步資料夾與唯讀媒體可能造成的儲存失敗。
macOS 安裝後,從「應用程式」資料夾啟動。遇到系統安全提示時,先確認檔案來源與目前系統允許的開啟方式,不要一律關閉系統保護。Linux 則透過符合發行版的套件管理方式安裝,再從應用程式選單啟動。若介面無法開啟,請記下錯誤訊息與系統架構;此時尚未進入遠端連線階段,修改訂閱、協定或 DNS 通常無法解決啟動問題。
先記錄環境,再嘗試首次連線
前往用戶端設定,記下目前的本機監聽連接埠、執行模式與路由預設。以介面實際顯示的內容為準,不要假設每個版本都使用相同的連接埠。裝置上若已有其他代理軟體,請先關閉其系統代理與虛擬網卡接管,再啟動新用戶端。只關閉舊視窗可能仍會留下背景服務,造成連接埠被占用或流量進入錯誤的程式。
接著確認系統時間、時區與網路狀態。開啟自動校時,並確認一般網路能正常存取必要服務。時間不正確可能導致憑證有效期驗證失敗;需要網路認證的頁面也可能阻擋後續請求。如果目前網路需要先完成網頁認證,請先停止流量接管並完成認證,再回到用戶端操作;不要關閉憑證驗證來掩蓋這些環境問題。
安裝階段的驗收重點不是網頁能否開啟,而是介面能正常啟動、設定可以儲存、服務能取得正確權限,以及退出後系統網路能恢復。四項都完成後再匯入訂閱。如果本機連接埠被占用,可參考本機監聽連接埠衝突排查。先處理裝置環境,能避免把本機啟動失敗與遠端連線失敗混在同一輪排錯中。
此外,請為新設定保留復原方式:記下原本是否啟用系統代理,以及原有 VPN 是否會自動執行。共用或受管理的裝置也可能套用組織設定的網路政策,一般使用者不應擅自移除。要復原基準狀態時,應先停止新服務,再還原原本的網路設定,不要連續安裝多個用戶端並嘗試互相覆蓋。
第四階段:匯入訂閱並管理設定來源
在訂閱群組中儲存網址,再執行更新
開啟 v2rayNG 側邊選單,進入「訂閱群組設定」,新增群組並填入方便辨識的備註與完整訂閱網址。儲存後回到主畫面的訂閱選單,執行更新訂閱。不同介面可能會將更新入口放在更多選單中,操作目的相同:先儲存來源,再取得內容。只將網址存入群組而沒有執行更新,伺服器項目不會自動出現在主清單中。
複製網址時,請檢查開頭、結尾和中間是否混入空格或換行。訂閱網址有時包含可識別帳戶的存取參數,應視為敏感資訊;不要在截圖、記錄檔或求助內容中公開,也不要直接將訂閱網址交給陌生的線上轉換工具。確實需要轉換格式時,先確認工具來源與資料處理方式,並了解轉換結果可能遺失哪些協定欄位。
分辨訂閱、分享連結與完整設定
訂閱通常提供一組項目,單一分享連結只描述一份設定,而完整核心設定還可能包含入口、出口、路由與 DNS。三者不是相同的匯入資料。透過剪貼簿匯入前,先確認複製內容的類型,再選擇相應入口。把網頁網址當成訂閱,或將完整設定當作單一節點連結,都可能造成解析失敗或清單空白。
在 v2rayN 中開啟訂閱群組相關設定,新增來源並儲存,再透過訂閱更新選單取得項目。第一次更新先使用一般更新方式;若有透過目前代理更新的選項,只有在現有代理已可正常使用時才適合選用。否則會形成循環依賴:必須先連上代理才能更新,卻又要依靠更新後的設定才能連線。
更新完成後,開啟某個項目的編輯畫面,依照伺服器資料核對位址、連接埠、協定、使用者識別碼、傳輸方式與安全欄位。清單中的備註只是標籤,不能用來判斷參數是否正確。若伺服器使用特定路徑、服務名稱或伺服器名稱,請逐項確認大小寫與完整內容。缺少資料時不要照其他項目的格式猜填,更不要隨機切換安全層試錯。
更新前先備份,更新後檢查差異
訂閱項目可能在下次更新時被覆寫,因此不適合長期直接修改其中的重要參數。需要測試時,先匯出或複製成獨立項目,並以備註標明來源。保留一份已確認可用的設定,再更新原有群組。若遇到項目遭刪除、參數改變或來源暫時無法存取,仍可判斷問題出在內容更新還是連線環境。
更新失敗時,先確認錯誤類型:名稱解析失敗、連線逾時、遠端回應錯誤,或內容無法解析。網址失效、權限變更與回傳登入網頁都可能導致更新失敗,但處理方式各不相同。請先在不洩漏網址的前提下確認來源狀態,再決定是否更換更新方式;不要反覆清除所有設定,因為清除並不能修正遠端回傳的內容。
完成本階段後,至少應保留一個來源明確、欄位完整的項目,並確認該項目是否會被訂閱更新覆寫。暫時不要同時匯入多個來源不明的群組。來源越多,重複項目、不同參數與過期設定越容易混在一起;先讓單一設定通過驗證,再擴充群組,日後也更容易追查。
第五階段:選擇入口與代理模式並確認連線
系統代理與路由預設是不同的設定
在 v2rayN 中,先選擇已匯入的項目作為使用中的設定並啟動服務,再依需求設定系統代理。系統代理會告訴遵循該設定的應用程式將請求送往何處;路由預設則決定請求進入核心後使用哪個出口。因此,在介面中選擇全域路由,不代表所有應用程式都會自動進入用戶端。不讀取系統代理設定的程式,仍可能直接使用原本的網路。
桌面版初次驗證可先從瀏覽器開始。確認用戶端核心已成功啟動,再讓瀏覽器使用系統代理,並連線至已知可用的測試目標。如果瀏覽器可以連線而其他應用程式不行,先確認其他程式是否遵循系統設定、是否自行設定代理,不要立刻更換伺服器。入口沒有收到流量時,修改遠端協定通常無濟於事。
Android 先確認使用 VPN 模式還是僅代理模式
v2rayNG 的 VPN 模式透過 Android VPN 服務接收流量,系統會顯示相應的 VPN 狀態。僅代理模式通常只提供本機代理入口,需要應用程式自行設定並使用,不能期待所有應用程式都自動接管。初次使用時,建議依照教學選擇 VPN 模式並完成系統授權,再確認分應用程式設定是否將目標程式排除在接收範圍之外。
設定分應用程式代理時,還要分清允許清單與繞過模式。啟用繞過後,選取的應用程式可能是不經過此 VPN 的程式;未啟用繞過時,選取的應用程式則可能是需要接管的程式。請以目前介面說明為準,不要只看勾選狀態猜測。變更清單後,依用戶端要求重新啟動服務,並完全關閉再開啟測試應用程式,避免沿用舊連線路徑。
分層測試,不要只看延遲
連線測試可能只檢查遠端連接埠或特定請求,不代表所有目標、協定與解析流程都正常。驗證時至少觀察三件事:核心是否持續運作、測試應用程式是否發出新請求,以及請求是否如預期完成。先只測試一個應用程式與一個目標,成功後再擴大範圍。網頁無法開啟時,也要排除目標服務本身故障與瀏覽器快取的影響。
如果所有應用程式都失敗,先查看記錄檔中的啟動與交握訊息;若只有少數目標失敗,再檢查路由、DNS 與目標限制。若只有 UDP 相關應用程式異常,則要確認用戶端入口、核心、遠端與網路路徑是否都支援所需流量。TCP 網頁請求成功,不能代表其他流量也正常,更不能證明所有裝置上的程序都在接管範圍內。
| 方式 | 接收流量的條件 | 驗證重點 |
|---|---|---|
| 桌面系統代理 | 應用程式遵循系統代理設定 | 本機連接埠與應用程式設定 |
| 應用程式手動設定代理 | 應用程式填入正確入口 | 協定類型、位址與連接埠 |
| Android VPN | 取得系統授權且應用程式在接管範圍內 | 目前啟用的 VPN 與分應用程式規則 |
| 桌面 TUN | 虛擬介面與系統路由正常 | 權限、DNS 與繞過路徑 |
測試結束後,也要確認退出時的行為。先停止服務,再確認系統代理是否恢復至預期狀態;如果系統仍指向已停止的本機連接埠,遵循系統代理設定的應用程式就會無法連線。不要將這種退出後的失敗誤判為遠端無法使用。熟悉啟動與停止兩種操作,才算完成基本設定;接著再加入路由,才能清楚分辨流量接管問題與分流問題。
第六階段:建立易於理解的路由與 DNS 規則
先確認規則順序與出口名稱
進入用戶端的路由設定,先查看目前預設,再決定是否新增自訂規則。規則通常依序比對,較早符合的規則會決定出口,後續規則不會再處理該請求。因此,精確的網域例外應放在範圍較廣的規則之前。先列出哪些請求要直連、哪些要走代理、哪些要封鎖,再將需求轉成規則,避免直接複製一整套自己不了解的設定。
出口標籤是設定內部的參照名稱,不是協定名稱。以下片段只用來說明規則結構,必須合併至現有設定;其中引用的 direct 與 proxy 必須與目前設定中實際存在的出口標籤一致。不要將片段當成完整設定直接啟動。如果用戶端提供圖形化規則編輯器,建議直接在介面建立相同規則,降低下次儲存時被重新產生內容覆蓋的風險。
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"domain": ["domain:example.com"],
"outboundTag": "proxy"
}
]
}
}
網域策略決定何時解析以進行比對
AsIs 會盡量依照收到的網域進行比對,不會為了符合 IP 規則而主動將網域解析成位址。IPIfNonMatch 會在網域規則沒有符合時嘗試解析,再參與 IP 規則比對。IPOnDemand 則會在比對需要位址資訊的規則時觸發解析。實際可用欄位應以所使用的核心為準,不要將路由中的網域策略與出口連線時的位址選擇參數混為一談。
如果入口收到的只有 IP,單靠網域規則未必能達到預期比對結果。流量嗅探可嘗試從部分協定辨識目標名稱,但無法保證找回所有請求的網域,也不應用來補救 DNS 設定錯誤。啟用前請確認支援範圍與隱私影響,修改後則從記錄檔確認實際比對狀況。網域、位址與入口提供的資訊都會影響規則是否生效。
分開確認 DNS 查詢路徑與應用程式請求
開啟 DNS 相關設定時,先確認由誰負責解析:應用程式、系統、用戶端內建解析器,還是遠端伺服器。設定 DNS 伺服器位址,不代表查詢一定會透過代理傳送。解析器本身的存取路徑、路由規則,以及安全 DNS 連線所需的網域解析,都可能影響結果。尤其不要讓解析伺服器依賴尚未建立的連線,以免形成啟動時無法解析的循環。
本機網路中的印表機、管理頁面與內部網域,可能需要本機解析與直連;遠端解析器不一定知道這些名稱。先確認區域網路位址可正常存取,再單獨測試內部網域。如果位址可用但名稱無法使用,應優先檢查解析,而不是修改代理協定。反過來說,名稱能解析但連線逾時,則應繼續檢查回傳位址、出口路徑與目標服務狀態。
每次只新增一條規則,並測試一個應符合規則的目標,以及一個不應符合的目標。確認結果後,記下規則位置、出口與解析方式,再繼續新增例外。完整規則集的價值在於能說明每個請求為何走某條路徑,而不是規則越多越好;遇到問題時,先回復至已驗證的預設,再逐條還原新增規則。
第七階段:擴大至 VPN 與 TUN 流量接管
先確認是否真的需要擴大接管範圍
只有應用程式不讀取系統代理,或需要接收更多類型的流量時,才考慮使用桌面 TUN。TUN 透過虛擬網路介面與系統路由將流量交給代理處理,無法修正錯誤的伺服器欄位,也不保證遠端支援所有協定。啟用前,先在較簡單的系統代理模式下確認同一份設定可用,否則新增虛擬介面只會讓排錯範圍更大。
Android VPN 模式與桌面 TUN 概念上都涉及虛擬網路介面,但系統權限、路由實作與選單設定並不相同。不要在 Android 照搬桌面的驅動程式安裝步驟,也不要把 Android VPN 授權當成桌面管理員權限。桌面版實際支援的 TUN 功能,也取決於所選核心與用戶端提供的實作,請依目前介面提示逐項設定。
啟用前先處理衝突並確認復原方式
在 v2rayN 中找到 TUN 相關設定或開關,先閱讀權限提示,確認是否需要服務模式或系統授權。停止其他虛擬網卡接管工具,並記下原本的系統代理狀態。初次測試時不要同時使用多種方式修改預設路由;即使彼此可以共存,也應先分開驗證。受組織管理的電腦應遵守裝置政策,不要自行移除既有網路元件。
啟動後先確認虛擬介面已建立、核心仍持續執行,再測試一般網頁、區域網路裝置與實際使用的應用程式。遠端伺服器的連線必須能繞過接管迴圈,否則請求可能不斷被送回入口。用戶端通常會提供相應處理,但自訂路由、靜態路由或其他網路軟體仍可能覆蓋設定;出現異常時,先還原預設值。
特別確認 DNS、UDP 與斷線行為
TUN 能接收流量,不代表 DNS 一定會使用預期的解析器。應用程式可能使用自己的安全 DNS,系統可能保留既有快取,用戶端也可能提供不同的 DNS 接管方式。先選擇一條明確的解析路徑,不要在尚未了解設定前,同時啟用多個重新導向功能。區域網路名稱無法解析時,要確認本機解析是否被不必要地送往遠端。
UDP 是否可用,取決於入口、核心、遠端與網路路徑是否都支援。測試時請使用確實需要 UDP 的應用程式,並查看相關記錄;不要用一次網頁瀏覽推斷所有傳輸方式都正常。部分應用程式異常時,也要分辨是應用程式本身的限制還是傳輸問題。修改虛擬介面參數前請保留原值,不要將不同裝置的參數混在一起,組成未經驗證的設定。
網路從 Wi-Fi 切換至行動網路,或電腦從休眠狀態恢復,都可能改變預設路由與解析環境。切換後無法連線時,先停止再啟動用戶端服務,讓它重新建立介面;接著確認系統沒有留下舊的代理設定。如果只有重新啟動裝置才能恢復,請進一步記錄切換前後的錯誤,不要把反覆重新開機當成長期維護方式。
本階段最後還要主動停止服務進行驗收。確認退出 TUN 後,系統路由、DNS 與一般網路都能恢復,再重新啟動並重做測試。若區域網路或基本連線受到影響,先關閉 TUN、還原系統代理與原有網路方式,再逐項找出原因。保留一個已驗證的簡單入口作為對照,就能快速判斷問題是否只出在流量接管層,不必重新匯入全部訂閱。
第八階段:備份、更新與日常故障排除
將可用設定與測試設定分開保存
透過用戶端提供的匯出或備份功能儲存目前設定,並確認匯出內容包含哪些項目。有些匯出檔只包含伺服器項目,不包含訂閱來源、分應用程式清單或路由預設,因此還要另外記錄這些設定。備份檔可能包含存取憑證,請存放在受控位置,不要隨意同步至公開資料夾。還原後也要重新確認系統權限,不要假設所有裝置狀態都能隨設定一併移轉。
請清楚標示獨立測試項目的用途,例如驗證傳輸參數或路由例外,不要只用相似的預設備註。日常更新訂閱時,留意項目是否被取代;更新用戶端前,先儲存可用設定與目前選項。同一次維護中不要同時更新應用程式、切換核心、重寫路由並更換 DNS;變動越多,出問題後越難判斷應復原哪個環節。
先查看啟動記錄,再查看連線記錄
服務無法啟動時,開啟記錄檔並從最早出現的明確錯誤開始查看。設定解析錯誤、欄位缺漏、出口標籤不存在、資源檔案遺失與連接埠被占用,都可能發生在建立遠端連線之前。先解決第一個阻止啟動的錯誤,再重新測試。之後連續出現的失敗有時只是同一原因引發的連鎖反應,不需要逐行修改不同參數。
如果核心已正常啟動,接著分辨連線逾時、名稱解析失敗、驗證失敗與 TLS 交握錯誤。連線逾時不一定是協定問題,也可能是位址、連接埠或目前網路路徑無法連線;驗證失敗則應核對伺服器提供的使用者欄位。遇到設定相關錯誤,可依照核心啟動失敗記錄檢查中的順序,先確認語法與欄位,再檢查入口與出口參照。
依問題狀況整理必要資訊
尋求協助前,請記下作業系統、用戶端名稱、執行模式、觸發問題的操作與完整錯誤訊息,並說明問題是否持續發生,或只在網路切換後出現。記錄檔只截取相關時段,並隱藏訂閱網址、使用者識別碼、密碼與其他存取參數。不要直接公開整份設定檔。保留關鍵錯誤類型與前後文,通常比只拍到「失敗」字樣的畫面更有助於排查。
憑證錯誤時,先檢查系統時間與時區,再核對伺服器名稱及伺服器端的憑證設定。不要將允許不安全連線當成預設修復方式,因為這可能只是略過原本應該處理的問題。如果伺服器更換了憑證或名稱,請依伺服器資料更新欄位。詳細排查方式可繼續閱讀TLS 交握與憑證錯誤原因,不要靠隨機更換安全參數碰運氣。
日常維護也包括應用程式的背景執行情況。Android 若在鎖定螢幕後停止服務,先檢查系統的電池限制、背景執行與自動啟動設定;這些選項因裝置而異,請依系統說明調整,不要一次放寬所有應用程式權限。桌面版若在休眠恢復後失效,則檢查核心與虛擬介面是否仍正常。依問題發生的時機選擇排查環節,比盲目增加權限更有效。
每次維護後,簡短記錄修改內容、驗證結果與復原方式。記錄不必包含敏感參數,只要保留設定名稱與結果即可。下次遇到類似狀況時,先對照最近的變更與環境,再決定是否更新或切換設定。穩定使用仰賴可重現的操作與可復原的設定,而不是不斷堆疊未經驗證的最佳化項目。
第九階段:從圖形化設定進入設定檔閱讀
先閱讀產生的設定,再嘗試局部修改
在用戶端提供的設定檢視或匯出功能中找到目前使用的設定,先閱讀,不要修改。依入口、出口、路由與 DNS 四個部分標示用途,找出圖形介面中的各項設定最後對應到哪個區段。產生的內容可能包含用戶端自動補上的欄位,不要只因教學沒有說明就將其刪除。先掌握介面設定與設定檔的對應關係,比從空白檔案開始撰寫完整設定更穩妥。
閱讀時特別留意標籤參照、陣列順序與巢狀層級。路由參照的出口標籤必須確實存在;相同欄位名稱出現在不同物件中,意思可能不同。JSON 的雙引號、逗號與括號也都是語法的一部分。有些工具接受註解,不代表用戶端使用的解析器也接受;儲存前應依目前核心支援的格式檢查,不要混用不同格式的設定片段。
透過小型練習建立判讀參數的能力
第一次練習可以只調整記錄層級,觀察少量修改帶來的輸出差異。以下是常見的記錄設定片段,必須放入完整設定的相應位置,不能當成獨立檔案啟動。排錯時可暫時使用更詳細的輸出,完成後再恢復日常層級。記錄越詳細,越可能包含目標位址與連線資訊,因此分享前仍要檢查內容。
{
"log": {
"loglevel": "warning"
}
}
第二次練習只新增一條明確的網域路由,並維持預設出口不變。準備一個應符合規則的測試目標和一個對照目標,從記錄檔或用戶端提供的連線資訊確認路徑。如果沒有足夠資訊證明規則生效,就不要只憑網頁能開啟便認定成功,因為不同出口都可能連上同一個目標。練習的重點是驗證假設,而不只是得到可用結果。
第三次練習整理 DNS 的依賴關係:由誰查詢名稱、向哪裡查詢、查詢本身如何傳送,以及回傳位址最後由哪個出口使用。先用幾行文字寫下這些關係,再與實際設定對照。能解釋完整流程後,才考慮更細緻的網域分類、位址族選擇與區域網路例外。不要為了增加複雜度而拆分解析路徑;複雜設定應該對應明確且可驗證的需求。
了解用戶端產生設定與自訂設定的界線
有些用戶端會在儲存設定、切換項目或更新訂閱後重新產生執行設定。直接修改暫時產生的檔案,可能在下次啟動時消失。需要長期保留的設定,應優先透過圖形介面儲存;使用自訂設定前,先確認用戶端如何啟動、更新與備份。不要同時維護兩套會互相覆蓋的設定來源,否則介面顯示內容可能與實際執行設定不一致。
切換核心也應視為獨立測試。先確認目標核心支援的協定、安全欄位與路由語法,再複製設定進行測試,不要覆蓋原本可用的設定。欄位名稱相同,不代表執行細節完全一致。若遇到相容性問題,請保留原始錯誤訊息與最小重現設定,只留下必要結構並替換敏感資料;不要為了重現問題公開真實訂閱或存取憑證。
接下來依照遇到的問題選擇閱讀入口:需要重新走過首次連線流程,請回到快速入門文件;遇到明確錯誤,查閱常見問題與相關技術筆記;不熟悉欄位則查看名詞解釋。不必一次掌握所有參數,先完成並驗證目前裝置的實際需求,再逐步擴充,設定才能長期維持清楚、易維護且可復原。