本文適合已在 v2rayN 啟用路由規則,卻遇到新網域誤分流、Geo 檔案更新失敗,或手動替換後核心無法啟動的使用者。先確認目前 Core 類型與實際檔案目錄,再優先使用內建更新;需要離線處理時,依序停止核心、備份舊檔、替換同名檔案,最後重新啟動並驗證。
兩個資料庫分別比對什麼
geosite.dat 儲存依用途或地區整理的網域集合。路由規則中的 geosite:cn、geosite:category-ads-all 等寫法不是單一網域,而是要求核心讀取相應標籤下的一組網域。當連線目標仍處於網域階段時,核心可直接依這類規則決定直連、代理或阻擋出站。
geoip.dat 儲存 IP 位址區段與標籤之間的對應關係。規則 geoip:cn 會比對目標 IP 所屬的位址區段,geoip:private 則用於識別區域網路及其他非公網範圍。當目標已解析為 IP,或連線本身直接使用 IP 位址時,GeoIP 規則才是主要判斷依據。
這兩個檔案處理的是路由比對,不負責提供訂閱節點,也不會變更 VLESS、VMess 或傳輸層參數。資料庫過舊時,常見現象包括新網域未被現有標籤收錄、新分配的位址區段被分到錯誤出站,或規則引用了新標籤但舊檔案找不到該標籤。
geosite.dat
- 比對對象
- 網域
- 常用標籤
- geosite:cn
- 判斷時機
- 仍可辨識網域時
- 主要用途
- 網域分組與廣告網域處理
規則結果取決於標籤內容、規則順序與最終出站設定。
geoip.dat
- 比對對象
- IPv4 與 IPv6 位址區段
- 常用標籤
- geoip:private
- 判斷時機
- 目標為 IP 或完成解析後
- 主要用途
- 位址地區與私有網路分流
啟用網域解析參與路由後,網域規則與 IP 規則可能依序命中。
常用標籤與命中順序
geosite:cn 通常用於比對以中國大陸服務為主的網域集合,常見處理方式是直連。它依維護好的網域清單運作,不等於「所有以特定後綴結尾的網域」,也不保證每個網域的伺服器實際位於同一地區。
geoip:private 主要涵蓋私有或保留位址,其中常見私有 IPv4 範圍包括 10.0.0.0/8、172.16.0.0/12 與 192.168.0.0/16。區域網路印表機、路由器管理頁面與家用儲存裝置通常應在代理規則之前命中此標籤並直連。
geosite:geolocation-!cn 代表資料庫維護者歸入相應非中國大陸地理集合的網域,但並非所有境外網域的完整集合。未命中任何標籤的目標仍會套用最終規則,因此路由設定必須保留明確的兜底出站。
區域網路優先
- 網域
- geosite:private
- 位址
- geoip:private
- 出站
- direct
- 位置
- 規則清單前段
先處理內部網路目標,避免管理頁面與本機裝置進入代理。
中國大陸資源直連
- 網域
- geosite:cn
- 位址
- geoip:cn
- 出站
- direct
- 兜底
- proxy
先比對具體規則,再由最終規則接收未命中的連線。
| 標籤 | 比對內容 | 常見出站 | 檢查重點 |
|---|---|---|---|
geosite:cn |
網域集合 | 直連 | 新網域是否已被收錄 |
geoip:cn |
IP 位址區段 | 直連 | 目標解析結果是否屬於對應位址區段 |
geoip:private |
私有與保留位址 | 直連 | 是否排在代理兜底規則之前 |
geosite:category-ads-all |
廣告相關網域集合 | 阻擋 | 阻擋後是否影響頁面必要資源 |
更新前確認 Core 類型與執行目錄
先在 v2rayN 主介面記錄目前版本與使用中的設定,再開啟「設定」→「參數設定」→「Core 類型」。VLESS、VMess 等節點可能依設定使用不同核心,Geo 檔案必須放入目前實際啟動的核心目錄,而不是只查看 v2rayN 主程式所在位置。
以 v2rayN 7.12.3 的可攜式目錄作為檢查範例,Xray 核心常見位置是 bin/Xray/,其中應能看到核心執行檔以及 geoip.dat、geosite.dat。不同封裝版本的目錄大小寫與層級可能有所不同,應以日誌顯示的啟動路徑為準。
更新前先退出正在執行的核心。只關閉主視窗可能仍會保留系統匣程序,因此需要在系統匣選單執行「退出」,再到工作管理員確認相關核心程序已經結束。檔案被占用時強行覆寫,容易出現拒絕存取、只替換一個檔案,或下次啟動仍載入舊內容的情況。
-
記錄版本
開啟「說明」或「關於」,記錄 v2rayN 版本;範例檢查環境為 v2rayN 7.12.3。
-
確認核心
進入「設定」→「參數設定」→「Core 類型」,確認目前節點實際使用的是 Xray 還是 v2fly 核心。
-
定位目錄
啟動一次節點後查看執行日誌,依核心啟動路徑找到對應的
bin/Xray/或實際 Core 目錄。 -
退出程序
從系統匣選單退出 v2rayN,並確認核心程序不再占用兩個
.dat檔案。 -
備份舊檔
複製原始檔案並命名為
geoip.dat.bak-20260730與geosite.dat.bak-20260730,方便快速還原。
使用 v2rayN 內建更新
一般更新優先使用 v2rayN 的內建入口。開啟頂部「檢查更新」選單,選擇「更新 Geo 檔案」;部分 7.x 介面會顯示為「更新 Geo files」。此操作會下載 Geo 資料並寫入相應目錄,完成後需要重新啟動核心,才能重新讀取已載入的資料。
更新期間不要同時切換節點、修改 Core 類型或啟動第二個 v2rayN 執行個體。若介面提示下載完成,但檔案修改時間沒有變化,應先檢查寫入權限與安全軟體的檔案隔離紀錄,再確認目前執行目錄是否與查看的目錄一致。
-
停止核心
在主介面停止目前伺服器,避免更新程式與核心同時存取 Geo 檔案。
-
執行更新
開啟「檢查更新」→「更新 Geo 檔案」,等待狀態列或日誌顯示完成結果。
-
核對時間
在實際 Core 目錄查看兩個檔案的修改時間,確認
geoip.dat與geosite.dat都已更新。 -
重新啟動核心
重新選擇使用中的伺服器並啟動,觀察前 30 秒的日誌,確認沒有檔案讀取或標籤遺失錯誤。
-
測試分流
分別存取一個區域網路位址、一個應直連的網域,以及一個應代理的網域,核對路由日誌中的出站標記。
手動替換 geoip.dat 與 geosite.dat
內建更新受到網路、權限或下載來源狀態影響時,可以手動替換。應從與目前核心相容的正式發布資源取得完整的 geoip.dat 和 geosite.dat,不要直接將網頁回應、壓縮檔本體或檔名相似的說明文件重新命名後使用。
替換時必須保持檔名完全一致。Windows 預設可能隱藏已知副檔名,表面顯示為 geoip.dat 的檔案實際可能是 geoip.dat.dat。請在檔案總管開啟「檢視」→「顯示」→「副檔名」,再核對名稱。
兩個檔案最好在同一批次一起替換。只更新其中一個不一定會立即報錯,但網域規則與 IP 規則會處於不同更新時間,排查誤分流時難以確認問題來自規則順序、解析結果或資料差異。
-
取得檔案
下載適用於目前核心的兩個正式 Geo 資料檔,解壓縮後確認檔名分別為
geoip.dat和geosite.dat。 -
完全退出
停止伺服器並從系統匣退出 v2rayN,確認 Xray 或 v2fly 核心程序已經結束。
-
保留備份
將 Core 目錄中的舊檔案複製到獨立的備份目錄,不要只依賴系統的覆寫確認視窗。
-
同名覆寫
將新檔案複製到日誌確認的 Core 目錄,允許覆寫舊檔案,並確認兩個檔案都已成功寫入。
-
啟動驗證
啟動 v2rayN 與目前節點,檢查日誌是否出現無法載入 Geo 資料、找不到標籤或檔案格式異常。
-
異常還原
若核心無法啟動,退出程式後還原兩個備份檔案,再重新檢查下載內容與核心類型。
v2rayN/
├─ v2rayN.exe
├─ guiConfigs/
└─ bin/
└─ Xray/
├─ Xray.exe
├─ geoip.dat
├─ geosite.dat
└─ 其他核心執行檔
驗證更新是否真正生效
檔案存在不代表規則已經生效。核心啟動時才會讀取資料,因此替換後只切換伺服器、沒有重新啟動核心,舊程序仍可能繼續使用記憶體中的舊資料。最穩妥的做法是退出 v2rayN 後重新啟動,再執行三組能區分結果的路由測試。
第一組測試區域網路位址,例如路由器管理位址 192.168.1.1,預期命中 geoip:private 並直連。第二組選擇路由設定中明確歸入 geosite:cn 的網域。第三組選擇應由最終代理規則接收的網域,並在路由日誌中對照目標、命中規則與出站名稱。
如果使用本機 SOCKS 入站測試,可在瀏覽器或測試工具中填入 v2rayN 介面實際顯示的連接埠;舊版常見範例是 127.0.0.1:10808。連接埠必須以目前用戶端設定為準,連接埠錯誤會表現為連線失敗,與 Geo 資料本身無關。
內建更新
推薦由 v2rayN 執行下載與寫入,操作步驟少,適合日常定期維護。更新後仍需重新啟動核心並檢查路由日誌。
適用:正常連線、目錄權限完整的日常環境
手動替換
可以明確控制檔案來源、替換目錄與還原版本,適合內建更新逾時或目標裝置無法直接下載時使用。
適用:更新失敗、離線轉移或多目錄排查
還原備份
將同一批次的兩個舊檔案一起還原,用於處理新檔案損壞、標籤不相容或核心啟動失敗。
適用:替換後立即報錯時快速還原
| 檢查項目 | 正常結果 | 異常時先檢查 |
|---|---|---|
| 檔案名稱 | 準確為兩個 .dat 檔案 |
副檔名是否重複、是否仍在壓縮檔內 |
| 修改時間 | 兩個檔案都是本次更新時間 | 目錄權限與實際 Core 路徑 |
| 核心啟動 | 沒有 Geo 資料載入錯誤 | 檔案完整性、核心類型與占用程序 |
| 私有位址 | 命中 geoip:private 並直連 |
規則順序與區域網路繞過設定 |
| 網域分流 | 命中預期的 geosite 標籤 | 網域嗅探、DNS 解析與兜底規則 |
常見錯誤與處理順序
日誌出現「找不到 geosite 標籤」一類錯誤時,先檢查標籤拼寫與前綴,再確認目前 geosite.dat 是否包含該標籤。自訂規則中的標籤名稱必須與資料庫定義一致,不能將 geoip: 前綴用於網域標籤,也不能將 geosite: 前綴用於 IP 位址集合。
出現檔案存取被拒絕時,先完全退出系統匣程序,再確認 v2rayN 所在目錄具有目前使用者的寫入權限。若程式位於受保護目錄,可以先將新檔案複製到一般目錄,退出用戶端後再以具備相應權限的方式完成覆寫。
更新成功但分流結果不變時,依序排查「實際 Core 路徑、核心是否重新啟動、規則順序、DNS 解析結果、最終出站」。不要重複覆寫同一檔案來取代日誌檢查;如果目標在網域階段已被更前面的規則接收,更新 GeoIP 資料不會改變該次命中。
- 無法啟動核心:還原同一批次的兩個備份檔案,確認服務恢復後再重新取得適用檔案。
- 只有一個檔案更新:停止核心後再次執行更新,並檢查另一個檔案是否被占用或缺少寫入權限。
- 區域網路走代理:將
geoip:private與對應的直連出站放在寬泛代理規則之前。 - 網域命中異常:檢查 DNS 回傳的位址、網域嗅探設定,以及是否先命中了完整網域規則。
- 無法識別標籤:核對標籤拼寫、資料庫批次與目前核心,不要混用網域標籤和 IP 標籤。
- 重新啟動後仍讀取舊檔案:查看日誌中的核心路徑,排除舊捷徑或第二個 v2rayN 執行個體。
更新後的路由維護方法
Geo 資料更新只會處理標籤內容變化,不會自動修正自訂路由。更新後應保留少量且用途明確的規則:私有網路直連、必要的網域規則、中國大陸資源規則、指定代理規則與最終兜底。規則越多,重疊命中的排查成本越高。
對必須穩定分流的業務網域,可以將完整網域或後綴規則放在 Geo 標籤之前;範圍較大的一般網站,再交由 geosite 與 geoip 標籤處理。如此即使資料庫內容調整,關鍵目標仍由明確規則控制。
每次更新後儲存一次測試紀錄,至少寫下 v2rayN 版本、Core 類型、兩個檔案的修改日期、三組測試目標與實際出站。下次出現誤分流時,可以直接比較變化發生在用戶端、核心、Geo 資料還是 DNS 結果。
- 保留最近一次能正常啟動的兩個 Geo 檔案備份。
- 更新前記錄「設定」→「參數設定」→「Core 類型」的目前值。
- 更新後完整重新啟動核心,不要只重新整理訂閱或切換節點。
- 使用私有位址、直連網域與代理網域完成三類驗證。
- 出現異常時先還原檔案,再逐項恢復自訂路由規則。