V2Ray GeoIP、GeoSite 規則庫更新與分流設定教學

了解 geoip.dat、geosite.dat 的用途與更新方式,並學會在 v2rayN 路由設定中使用 geosite:cn、geoip:private 等規則。

本文重點

適合已匯入訂閱、準備調整直連與代理規則的桌面使用者。先釐清網域集合與 IP 位址集合的差異,再更新客戶端實際使用的資料檔,最後在 v2rayN 依序新增規則並確認出站結果。範例採用 V2Ray/Xray 路由欄位,不適合直接覆蓋客戶端的完整設定。

GeoIP 與 GeoSite:比對目標不同

geosite.dat 儲存依標籤分類的網域集合,geoip.dat 儲存依標籤分類的 IP 位址範圍。這些資料是路由比對的依據,不是節點訂閱,也不會建立 VMess 或 VLESS 連線。更新規則庫不會增加伺服器,也不會變更訂閱中的驗證資訊。

GeoSite:網域集合

檔名
geosite.dat
規則欄位
domain
引用格式
geosite:cn
比對目標
連線所帶的網域或透過嗅探取得的網域

標籤內容由資料來源維護,不能只憑標籤名稱推斷所有成員。

GeoIP:位址集合

檔名
geoip.dat
規則欄位
ip
引用格式
geoip:private
比對目標
目標 IP,或依策略解析出的 IP

位址歸屬用於分流判斷,不等於網站業務所在地。

geosite:cn 通常用來比對資料來源收錄的中國相關網域;geoip:cn 則比對相應的 IP 網段。兩者不能互相取代:網域可能使用跨地區 CDN,同一個 IP 也可能承載多個網域。網域規則和 IP 規則需要分開設定。

接收連線 取得目標 比對規則 選擇出站

規則庫只是第三個環節所需的資料。若應用程式未使用系統代理或 TUN,即使檔案更新成功,該應用程式的連線也不會自動進入路由流程。若連線只有 IP、沒有網域,GeoSite 規則也無法直接辨識網站名稱;能否透過嗅探補上網域,則取決於流量協定與客戶端設定。

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

v2rayN 是客戶端,V2Ray/Xray 則是負責處理連線的核心。本文說明的是這些核心使用的 DAT 規則庫。若切換為使用其他規則格式的設定,不能只因檔名相似就認定相容。請先查看目前使用的核心與啟動記錄,再確認要更新哪些檔案。

  1. 記錄目前狀態。記下 v2rayN 版本、目前的路由預設設定、網域解析策略,以及核心記錄中顯示的資源路徑;不要只記錄軟體捷徑的位置。
  2. 備份路由設定。在「設定」→「路由設定」中記錄已啟用的規則及其順序,尤其是自訂的直連、封鎖與代理規則。
  3. 備份資料檔。找出實際載入的 geoip.dat 與 geosite.dat,並複製到獨立的備份資料夾。備份檔不要沿用正在使用的檔名。
  4. 確認資料來源。優先沿用客戶端設定的規則庫來源。更換來源前,請檢查其文件是否包含現有規則引用的所有標籤。

更新訂閱、更新客戶端、更新核心與更新規則庫是四件不同的事。更新訂閱主要是刷新節點資訊;升級客戶端可能會附帶資源,但不能因此認定目前的規則庫也已更新。排查問題時一次只變更一類內容,才不會弄不清楚是節點、規則還是資料來源發生變化。

更新規則庫:使用客戶端功能或手動替換

建議優先使用 v2rayN 內建的更新功能。常見的桌面版介面會在「檢查更新」中提供「更新 Geo 檔案」;選單名稱可能因版本與介面類型而異。如果目前版本沒有這個選項,請先查看該版本的說明,不要把「更新訂閱」當成相同操作。

  1. 確認目前的網路可以連線至已設定的資源下載網址;若更新選項提供透過代理下載,請先確認目前節點可用,再選擇相應方式。
  2. 執行 Geo 檔案更新,並查看記錄中的下載結果。若一次更新多個檔案,應逐一確認是否成功,不要只看最後一則提示。
  3. 更新完成後重新啟動核心;若不確定如何單獨重新啟動,請正常結束並重新開啟 v2rayN。僅關閉至系統匣不算重新啟動。
  4. 重新連線並查看啟動記錄,確認沒有檔案讀取失敗、標籤不存在或路由初始化錯誤,再測試分流結果。

手動替換時,先找出實際使用的資源資料夾

內建下載失敗或需要固定資料來源時,可以手動更新。停止核心後,從可信任的規則資料發布來源取得 DAT 檔案,放入核心實際讀取的資源資料夾,並保留 geoip.dat、geosite.dat 這兩個檔名。壓縮檔需要先解壓縮;即使將網頁內容另存為 DAT 副檔名,也不能當作規則庫使用。

檔案的修改時間只能作為參考,無法證明新資料已載入。更新後若行為完全沒有變化,請先確認是否替換了其他副本,再確認核心是否確實重新啟動。不要接連下載多個來源的檔案並覆蓋同一個資料夾,以免失去排查依據。

v2rayN 路由設定:欄位與順序

前往「設定」→「路由設定」,選取要使用的路由設定,再編輯或新增規則。常見的規則編輯介面會包含「網域」、「IP」與出站選擇;實際版面依目前版本而異。geosite:cn 填入網域欄位,geoip:cn、geoip:private 填入 IP 欄位,不要把三行都貼進網域輸入框。

用途填寫欄位內容出站選擇
區域網路位址直連IPgeoip:private直連
集合中的網域直連網域geosite:cn直連
指定地區 IP 直連IPgeoip:cn直連
指定網域走代理網域full:example.com代理

V2Ray/Xray 會依規則順序進行比對,最先符合的規則會決定出站方式。需要優先處理的明確例外,應排在較廣泛的集合之前。例如,某個網域雖屬於直連集合,但你希望它走代理,就將該網域專用的代理規則放在集合直連規則之前。表格中的 example.com 是文件保留的示範網域,僅用來說明精確比對格式。

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

同一條規則若同時填入網域與 IP 等不同條件,通常表示所有條件都必須符合,而不是「網域或 IP 任一符合」即可。因此,網域直連與 IP 直連應拆成兩條規則。另一個常見誤解是混用 domain:example.com 與 full:example.com:前者包含該網域及其子網域,後者只比對指定的完整網域。

網域解析策略:GeoIP 何時參與比對

domainStrategy 控制路由階段如何處理網域目標,與 DNS 伺服器位址設定不同。若請求的目標原本就是 IP,可直接比對 IP 規則;若請求帶有網域,是否會為了 IP 規則額外解析,則取決於所選策略。

若在使用 IPIfNonMatch 的設定末尾,提前加入一條可符合所有請求的兜底規則,網域階段可能就已經符合,後續便不會如預期觸發「未符合後再解析」。因此,不能只看策略名稱就認定一定會執行 GeoIP,還要檢查完整的規則清單。DNS 回傳的 CDN 位址若有變化,同一個網域也可能在不同網路環境下符合不同的 IP 集合。

10.0.0.0/8
常見 IPv4 私有位址範圍
192.168.0.0/16
家用區域網路常見私有位址範圍

這些位址範圍可作為理解 geoip:private 的具體參考,並非該集合的完整清單。集合中可能還包含其他特殊用途位址。區域網路服務能否存取,也會受到 TUN 路由、系統防火牆與目標裝置權限影響,不能將所有連線失敗都歸因於 GeoIP。

驗證與疑難排解:先確認命中,再調整規則

測試時,分別選擇一個預期直連的網域、一個預期走代理的目標,以及一個有權存取的區域網路服務。確認測試應用程式的連線確實進入客戶端代理流程,再搭配連線記錄檢查目標與出站標籤。延遲降低或網頁順利開啟,都不能單獨證明規則比對正確。

  1. 儲存並啟用修改後的路由設定,確認沒有重新選回原本的預設設定。
  2. 重新建立測試連線;瀏覽器既有的長連線可能繼續沿用先前的出站方式,可先關閉測試頁面再重新開啟。
  3. 必要時暫時提高記錄層級,查看目標網域、IP 與出站方式;記錄完成後,請恢復常用層級,避免長期留存詳細的瀏覽記錄。
  4. 每次只變更一個項目,例如先調整規則順序,再調整解析策略,最後才考慮更換規則資料來源。
更新後顯示找不到 geosite 標籤,該怎麼辦?

先記下錯誤訊息中的完整標籤名稱,確認規則引用的是網域集合,而非 IP 集合。查看目前的資料來源是否提供該標籤;若更換來源後才出現錯誤,請還原原本的資料檔,或將規則改為新來源明確支援的集合,然後重新啟動核心。

檔案已經替換,為什麼分流結果沒有變?

確認核心實際讀取的資料夾,並確認更新後已重新啟動。接著檢查前面的規則是否已經符合,以及應用程式是否仍在沿用舊連線。最後確認你編輯的路由設定就是目前啟用的設定,而不是同名的備份。

加了 geoip:cn,中國大陸網站還是走代理?

先確認請求使用的是網域還是 IP,再檢查網域解析策略。在 AsIs 下,網域請求不會為這條 IP 規則主動解析;若前面的網域規則已符合並指定代理,後面的 GeoIP 規則也不會取代它。請優先確認 geosite:cn 的位置與完整的兜底邏輯。

可以只更新 geosite.dat 嗎?

可以單獨更新,但要確認檔案來自預期的來源,且包含現有規則所需的標籤。若同時更換兩類資料的來源,建議將兩項變更一併記錄,並分別保留舊檔;只要有任何檔案載入失敗,就先還原至可用狀態,再繼續排查。

穩定設定的關鍵在於變更可追蹤:記錄資料來源、更新時間、規則順序與解析策略。保持規則庫更新可以補充集合內容,但無法修正錯誤的出站選擇,也不能取代 DNS 與系統代理檢查。客戶端基本設定請參閱快速入門;想了解路由與 DNS 相關名詞,可查閱術語表。

下載客戶端依平台選擇安裝檔