本文適合需要維護 v2rayN 路由分流規則的使用者。先了解網域資料庫與 IP 資料庫的差異,再更新核心實際讀取的資料檔,最後透過規則順序、網域解析策略與日誌確認結果。Android 上的 v2rayNG、v2flyNG 也可參考相關原理,但檔案位置與桌面版不同。
GeoIP 與 GeoSite 各自比對什麼
geosite.dat 儲存依標籤分類的網域規則,geoip.dat 儲存依標籤分類的 IP 位址範圍。這些是路由資料,不是訂閱,也不是節點設定。更新資料檔不會變更 VMess、VLESS 等連線參數,更不會自動新增可用節點。
GeoSite 網域資料庫
- 檔名
geosite.dat- 比對對象
- 網域及資料庫定義的網域規則
- 引用位置
- 路由規則的
domain - 常見寫法
geosite:cn
分類依資料來源而異;不同規則庫中的同名標籤不一定完全一致。
GeoIP 位址資料庫
- 檔名
geoip.dat- 比對對象
- 目標 IP 位址
- 引用位置
- 路由規則的
ip - 常見寫法
geoip:private、geoip:cn
位址分類不等於網站所屬地區;CDN 與跨區域服務可能導致兩者不同。
geosite:cn 引用規則庫預先整理的 cn 網域分類,比對範圍由庫中的項目決定,而非僅限於以 .cn 結尾的網域。geoip:cn 則引用對應的位址範圍分類,兩者不能互相取代。
V2Ray 與 Xray 的常見部署方式會使用這類 DAT 資料。v2rayNG 使用 Xray 核心,v2flyNG 使用 v2fly 核心;v2rayN 所需的資料格式則取決於目前選用的核心。若實際執行的是採用其他規則格式的核心,請勿只因檔名相似就套用本文的 DAT 設定。
選擇規則檔來源與更新方式
常見資料來源包括 v2fly 的網域分類與位址資料建置專案,以及社群維護的相容規則庫。網域清單經整理、編譯後會產生 DAT 檔,並非可直接用文字編輯器修改的網域清單。資料庫是否包含 cn、private 或特定服務標籤,須依該資料庫的分類說明確認。
透過用戶端內建功能更新
建議使用用戶端預設的資料來源與目標資料夾,可降低檔案放錯位置的風險。更新前仍須確認所選核心,以及內建資料來源是否包含現有規則引用的標籤。
適用情況:一般路由分流,且未使用自訂資料來源
手動替換檔案
適合固定資料來源或離線維護。請自行確認檔案格式、標籤與實際資源目錄,並保留上一份可用檔案。不要隨意混用不同日期、不同來源的資料後直接套用。
適用情況:受控部署,或需要回復的自訂規則
在 v2rayN 更新 Geo 檔案的步驟
以下說明適用於提供「檢查更新」→「更新 Geo 檔案」選項的 v2rayN 介面。不同版本可能會將選項放在設定或更新選單中;若本機沒有此選單,請勿自行猜測資料夾位置並直接覆寫。先查看用戶端說明與目前核心日誌,確認資源路徑。
-
記錄目前設定
開啟「設定」→「路由設定」,記下目前啟用的路由設定、規則順序與預設出站。備份現有 Geo 檔案,並記下備份所在的資料夾,以便還原。
-
確認目前使用的核心
查看啟動日誌中的核心名稱與啟動參數,確認目前使用的是 Xray 或 v2fly 的 DAT 格式。不要將程式安裝資料夾、工作目錄與資源目錄視為同一位置。
-
更新資料
前往「檢查更新」→「更新 Geo 檔案」。等待下載與替換完成,確認兩個檔案都已處理完畢;若出現網路錯誤,先排除下載連線問題再重試,不要將部分成功視為全部完成。
-
重新啟動目前的核心
透過用戶端重新啟動服務,或先結束用戶端再重新開啟,讓核心重新載入檔案。只關閉主視窗可能只是將程式縮到系統匣,不代表服務已重新啟動。
-
檢查啟動日誌
確認是否出現資源檔不存在、找不到分類或設定解析失敗等訊息。接著測試一個直連網域、一個應走代理的網域,以及一個區域網路位址,逐一確認路由分流結果。
手動更新時,請先停止核心,再將相容的檔案放入已確認的資源目錄,並保留正確檔名 geoip.dat 與 geosite.dat。不要將下載的網頁、壓縮檔或帶有重複副檔名的檔案改名後當作資料檔使用。若更新後無法啟動,請還原備份並重新啟動,再檢查新資料庫的標籤與格式。
Android 裝置應使用 v2rayNG 或 v2flyNG 內建的 Geo 資料更新或資源匯入功能。選單名稱會隨版本變動,請勿照搬桌面版的操作路徑;應用程式的私有目錄也不等於系統的「下載」資料夾。若無法確認操作入口,請先保留目前可用的設定,不要為了嘗試更新而清除應用程式資料。
geosite:cn 與 geoip:private 的路由設定
以下是原生 V2Ray/Xray 設定中的 routing 物件範例,並非可直接匯入的完整用戶端設定。範例假設現有出站標籤為 direct 與 proxy:前者代表直連出站,後者代表代理出站。實際標籤若不同,必須先改成設定中已有的名稱。
{
"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"
},
{
"type": "field",
"network": "tcp,udp",
"outboundTag": "proxy"
}
]
}
}
- 優先處理私有位址:
geoip:private可避免內網目標誤走代理。資料來源必須包含此標籤;它並非「所有不需要代理的位址」的統稱。 - 依網域分類直連:目標網域符合
geosite:cn時,依此規則選擇直連,無須再透過 IP 分類確認一次。 - 補充位址分類:
geoip:cn可比對已知的目標 IP;網域連線能否進入位址比對,還會受到網域解析策略影響。 - 最後的兜底規則:範例會將其餘 TCP、UDP 流量交由代理處理。若用戶端已產生兜底規則,請勿重複新增互相衝突的末尾規則。
在 v2rayN 的「設定」→「路由設定」中編輯時,通常須分別填入網域條件、IP 條件與出站,不能將整段 JSON 貼進「網域」欄位。單一規則同時填寫 domain 與 ip,通常代表兩項條件都必須符合,而非符合任一項即可;若要設定「網域或位址符合就直連」,應如範例拆成兩條規則。
使用實際位址驗證路由分流結果
判斷更新是否生效,不能只看網頁能否開啟。成功連線可能是因為代理兜底、應用程式快取或舊連線所致。請先重新啟動核心,關閉測試應用程式已有的連線,再觀察新要求的目標與出站記錄;若目前日誌層級未顯示路由資訊,可暫時提高記錄詳細程度,完成後再還原。
| 測試目標 | 預期結果 | 需排除的干擾因素 |
|---|---|---|
實際存在的內網裝置,例如 192.168.1.1 | 要求確實送達核心時,私有位址規則會選擇直連 | 若系統代理設定為略過內網,核心可能根本收不到要求 |
確認網域屬於目前資料庫的 cn 標籤 | 網域規則選擇直連 | 要求只有 IP、未傳入網域,或分類資料來源不同 |
| 明確指定走代理規則的測試網域 | 選擇預設的代理出站 | 前面已有涵蓋範圍較廣的直連規則 |
| 未明確分類的目標 | 依解析策略與兜底規則處理 | 誤將兜底連線成功當成 Geo 分類符合 |
IPv4 私有位址有三個範圍:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。這些位址可用來理解 CIDR,但不代表所有資料庫中的 geoip:private 都只包含這些範圍;實際資料庫也可能包含迴路、鏈路本地及 IPv6 相關範圍,請以資料來源的定義為準。
Geo 檔案本身也無法保證 DNS 要求會依預期的路徑送出。傳統 DNS 的 53 連接埠、應用程式自行使用的加密解析,以及核心內建 DNS,可能採用不同路徑。若網域分流異常,請一併檢查要求是否保留網域、DNS 設定與 TUN 接管範圍;不要反覆更換分類資料庫來掩蓋解析路徑問題。
更新失敗與規則未命中的常見問題
檔案已替換,為什麼路由分流看起來還是沒變?
先重新啟動目前的核心,再確認啟動參數與資源目錄。電腦上可能有多份 v2rayN,桌面捷徑啟動的版本不一定是剛替換檔案的那一份。最後檢查目前啟用的路由設定是否正確,避免只修改到未啟用的設定檔。
日誌顯示找不到某個 GeoSite 標籤,該怎麼辦?
檢查規則中的標籤拼字,再確認目前資料來源是否提供該分類。不要假設不同來源的資料庫使用相同的標籤。可還原原資料檔,或將規則改為明確的網域條件;修改前請先保存原規則,以便比對。
更新 Geo 檔案一直逾時,需要重新安裝嗎?
先確認更新網址是否能連線。若用戶端提供透過代理下載的選項,可使用目前可用的代理後重試;也請檢查更新作業是否會因核心重新啟動而中斷。重新安裝無法解決資料來源無法連線的問題,請優先保留目前可用的檔案。
更新後中國大陸網站反而走代理,該如何排查?
依序檢查「啟用的路由設定→規則順序→是否傳入網域→標籤是否包含目標→解析策略」。必要時可在分類規則之前加入一條精確網域測試規則,例如 full:example.com,僅用來驗證規則流程,測試後請刪除;不要直接將所有流量改為直連來代替排查。
長期維護時,建議一次只調整一類變數:先更新資料檔並驗證,再調整規則或 DNS。記錄資料來源、替換位置與本機操作時間,即可建立可還原的維護紀錄。更新頻率應依實際分類變化而定,不必為了追求檔案日期而頻繁替換已驗證可用的規則。