· 路由分流 · 約 10 分鐘

geoip.dat、geosite.dat 更新教學:路由分流規則資料詳解

了解 GeoIP、GeoSite 資料檔如何用於路由分流,並學會在 v2rayN、v2rayNG 更新規則檔,以及 geosite:cn 等標籤的意思。

本文重點

GeoSite 提供網域分類,GeoIP 提供 IP 位址範圍分類;兩者是路由規則引用的資料,不是節點訂閱。本文適合已能連線,但需要更新分流資料,或排查網站流量走錯出口的使用者。依序確認核心與資料來源、更新檔案、重新啟動服務並檢查規則是否命中,比反覆更新訂閱更能對症處理。

兩種 dat 檔各自解決什麼問題

路由分流可以想成一張連線分配表:哪些要求直接連線、哪些透過代理,哪些則直接封鎖。geosite.dat 和 geoip.dat 是這張表所依據的分類資料。檔案更新後,分類內容可能有所變動,但用戶端的規則順序與出口選擇不會自動改寫。

檔案儲存的內容規則引用範例使用條件
geosite.dat依標籤整理的網域項目,可能包含網域、完整網域或正規表示式等比對類型geosite:cn核心取得目標網域,且資料來源提供對應標籤
geoip.dat依標籤整理的 IPv4、IPv6 位址範圍geoip:cn目標本身是 IP,或路由策略允許解析網域後比對 IP

geosite:cn 的意思是「引用目前 GeoSite 檔案中名為 cn 的集合」,不是「比對所有以 .cn 結尾的網域」。集合也可能收錄其他後綴的網域,實際範圍由資料維護者決定。同理,geoip:cn 是位址範圍分類,不保證某個網站的業務歸屬,也不能取代延遲測試。

2 種檔案
網域集合與 IP 位址範圍分開維護
3 種策略
下方比較的路由 domainStrategy 設定值
443 埠
HTTPS 測試要求常見的目標連接埠,不是分類標籤

節點訂閱處理的是「連線到哪個伺服器、使用什麼協定與參數」。Geo 資料檔處理的是「這個網域或 IP 屬於哪個群組」。VMess、VLESS 等節點協定與這兩種分類檔案屬於不同設定層級,因此更新訂閱不等於更新分流資料庫。

更新前先確認核心、來源與備份檔

先確認目前使用的資料格式。本文介紹 Xray、V2Fly 使用的傳統 dat 路由資料。v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心;桌面版 v2rayN 則應以目前設定實際呼叫的核心為準。若目前設定使用其他規則格式,不能只改副檔名就套用本文的方法。

v2rayN:更新 Geo 檔案並重新載入

v2rayN 不同版本、桌面版與傳統介面的選單配置可能不同。常見路徑是主視窗「檢查更新」→「更新 Geo 檔案」,部分版本會將 GeoIP 與 GeoSite 分成個別更新項目。以下依常見路徑說明;若選單名稱不同,請尋找 Geo 資料更新項目,不要以「更新訂閱」取代。

  1. 記錄目前設定

    記下目前節點、啟用中的路由與核心類型。若準備手動替換,請先結束程式並備份原始檔;建議優先使用用戶端內建的更新功能。

  2. 更新資料

    開啟「檢查更新」→「更新 Geo 檔案」。若 GeoIP、GeoSite 分別列出,請依序更新兩項並各自確認結果,不要把其中一項成功當成全部完成。

  3. 處理下載失敗

    先確認一般網路與目前代理是否可用。若該版本提供透過代理更新的選項,可在代理連線成功後重試;不要透過原本就無法使用的代理反覆下載。

  4. 重新啟動核心服務

    更新完成後重新啟動核心服務。若找不到對應按鈕,可從系統匣選單結束 v2rayN,再重新啟動程式,避免只關閉視窗但核心仍在背景執行。

  5. 確認啟動結果

    開啟記錄區,確認沒有資料檔讀取失敗、標籤不存在或規則載入失敗等訊息。維持原本的路由方案,再測試網站連線。

需要手動更新時,不要預設「程式目錄下同名檔案」就是核心實際使用的檔案。安裝方式、核心目錄與資源目錄設定都可能影響檔案位置。先查閱用戶端設定及啟動記錄中的資源路徑;停止核心後替換正確位置的檔案,再重新啟動檢查。檔名必須是 geoip.dat 和 geosite.dat,避免系統隱藏副檔名後產生重複副檔名。

結論:先用內建更新,再檢查路徑

內建更新顯示成功但行為沒有改變時,先檢查啟用中的路由與核心是否重新載入;確認讀取路徑錯誤後,才手動替換檔案。將同一個檔案複製到多個目錄,會增加日後排查的難度。

v2rayNG:在應用程式內更新 Geo 資源

v2rayNG 的 Geo 更新入口會隨版本調整,常見位置是主畫面右上角的更多選單,名稱可能顯示為「更新 Geo 檔案」或「更新 Geo 資源」。部分版本會在「路由設定」頁面的更多選單提供此功能。先查看主畫面,再查看「路由設定」;以目前版本實際顯示的 Geo 更新項目為準。

  1. 確認連線方式

    保留目前可用的節點。若目前網路無法直接存取資料來源,請先啟動代理連線;更新是否透過代理,仍取決於應用程式設定與實際網路接管範圍。

  2. 開啟更新功能

    在主畫面右上角的更多選單尋找 Geo 更新項目;若沒有,請進入「路由設定」→右上角的更多選單尋找。不要使用訂閱群組的更新按鈕取代。

  3. 等待更新完成

    執行更新並留意應用程式的回報。若兩種檔案需要分別更新,請逐一確認。失敗時先檢查網路與可用儲存空間,不要連續點擊而建立多個並行工作。

  4. 停止服務後再重新連線

    更新完成後,點選主畫面的連線按鈕停止服務,再重新連線,讓核心重新載入資源。接著前往「路由設定」,確認啟用中的規則仍是預期方案。

若目前安裝的版本找不到 Geo 更新功能,請先在應用程式的版本資訊中記下版本,再確認該版本提供的操作入口;必要時可透過用戶端下載頁面選擇合適的安裝套件。不要將桌面端的檔案路徑照搬到 Android,也不要為了替換資料而任意清除應用程式儲存空間;清除資料可能同時移除節點、訂閱與自訂規則。

geosite:cn 和 geoip:cn 要怎麼寫

以下是 Xray、V2Fly 風格的路由片段,並非可獨立執行的完整設定。範例會先比對 cn 網域集合,再比對私人位址與 cn 位址範圍。direct 必須對應完整設定中實際存在的出站標籤;若你的直連出站使用其他名稱,也要一併替換。

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

規則會由前往後檢查,最先符合的規則決定出口。上方的網域規則不需要先將網域解析為 IP;後續的 IP 規則是否會比對網域要求,則與 domainStrategy 有關。這是路由物件中的欄位,請勿與 DNS 設定或出站中的同名欄位混淆。

策略網域要求的處理方式排查重點
AsIs路由階段不會主動為 IP 規則解析網域;目標原本就是 IP 時,仍可參與 IP 比對只設定 GeoIP 規則,無法保證網域要求會命中
IPIfNonMatch網域未命中規則時,嘗試解析為 IP 後繼續比對前面的兜底規則可能讓後續沒有機會解析
IPOnDemand比對過程需要 IP 資訊時,嘗試進行解析規則順序與 DNS 解析結果都可能影響最終出口

範例沒有設定最終兜底出站。完整設定中,請搭配預設出站與其他規則,明確決定未命中要求的去向。尤其不要在這些規則前放置一條涵蓋所有 TCP、UDP 連線的代理規則,然後期待後面的 cn 規則生效。

結論:先確認規則是否有機會命中

某個網站一直走錯出口時,先檢查前面是否已有範圍過廣的規則,再確認核心是否取得網域,最後檢查集合內容。只有集合內容確實過期時,更新 dat 檔才是直接的修復方式。

更新後如何驗證,以及出錯時如何還原

驗證時必須同時檢查核心啟動狀態與連線行為。瀏覽器能開啟頁面,只能說明目前存在可用路徑,不能證明流量經過指定出口。頁面快取、連線重用與 DNS 快取也可能掩蓋變化;測試前應重新建立連線,而不只是重新整理同一個頁面。

已更新訂閱,為什麼分流還是沒有變?

訂閱主要更新節點連線設定。請另外更新 Geo 檔案,並確認目前啟用的路由確實引用了這些集合。若路由只有手動設定的網域規則,更新 dat 檔不會改變這些項目。

顯示某個 geosite 標籤不存在,該怎麼辦?

先記下完整標籤,例如規則中冒號後方的集合名稱,再確認目前資料來源是否提供該標籤。將規則改為資料來源實際支援的標籤,或還原配套資料來源;反覆下載同一個檔案不會產生缺少的集合。

更新成功了,為什麼中國大陸網站仍透過代理?

依序檢查啟用中的路由、前置兜底規則,以及核心是否取得目標網域。若連線只向核心提供 IP,GeoSite 網域規則可能無法參與比對;此時應檢查連線方式與嗅探設定,而不是直接認定 cn 集合失效。

這兩個檔案需要每天更新嗎?

不必為了更新日期而頻繁更新。可定期維護,並在確認分類有變動或資料缺漏時更新。每次更新前保留一份已知可用的版本,更新後完成啟動與出口檢查,比一味追求最新日期更重要。

處理 Geo 資料問題時,每次只變更一個環節:先更新資料再驗證;確實需要修改規則時,再單獨調整規則。若同時更換節點、DNS、路由範本與資料來源,即使恢復連線,也難以判斷真正原因。若要了解系統代理、訂閱與路由的設定順序,可繼續閱讀入門指南或查閱術語表。

下載v2rayN依平台選擇用戶端