2026-08-24 · 進階設定 · 約 10 分鐘

V2Ray DNS 設定教學:網域分流與 DNS 污染防護

了解如何設定 dns 的 servers、domains 與 queryStrategy,讓不同網域使用合適的 DNS 伺服器,並降低 DNS 污染風險。

本文重點

先確認網域由哪一端解析,再設定中國大陸網域優先使用當地 DNS,其餘網域則透過代理使用加密 DNS。本文適用於需要修改 V2Ray 或 Xray 設定的使用者,提供 DNS 與路由設定範例,並說明如何在 v2rayN 套用、回退機制與驗證限制,避免誤以為填入 DoH 位址就能接管所有應用程式的 DNS 查詢。

一、先分清應用程式、核心與伺服器端的 DNS 解析

設定 DNS 前,首先要確認「查詢是否會經過這裡」。應用程式將網域交給代理時,核心可能為了路由判斷或直連而進行解析,也可能把網域交由代理伺服器解析。若應用程式先在本機將網域解析成 IP,再把 IP 傳給代理,客戶端的 dns 區段不一定會參與這次查詢。

應用程式送出目標入站接收請求視需要解析網域比對路由並選擇出站建立目標連線

這個流程描述的是需要在本機解析的情況,不代表每次代理連線都得先查詢本機 DNS。若網域規則已能選出代理出站,目標網域可能會直接傳送到遠端。因此,本機 DNS 記錄中沒有該網域,並不足以證明設定失效。

二、servers、domains、queryStrategy 各自控制什麼

servers 定義可用的解析伺服器;伺服器物件中的 domains 指定優先比對的網域;queryStrategy 則控制查詢的 IP 位址類型。三者分別回答「查詢哪台伺服器」、「優先由哪台伺服器處理」與「查詢哪種位址」,不要和網站連線的出站規則混為一談。

中國大陸網域優先解析

address
223.5.5.5
port
53
domains
geosite:cn
skipFallback
true

優先處理符合中國大陸網域清單的查詢,不會參與未符合網域的一般回退。

其他網域解析

address
https://1.1.1.1/dns-query
傳輸方式
HTTPS,預設連接埠 443
domains
未指定,作為回退解析伺服器
查詢策略
沿用頂層設定 UseIPv4

還需為這個 DoH 目標設定代理路由,不能只填入解析位址。

domains 並不是「只有這些網域能使用此伺服器」的存取控制清單。符合條件的網域通常會優先使用該伺服器;其他網域仍可能透過回退機制使用某台伺服器。此處為中國大陸 DNS 伺服器加入 skipFallback: true,是為了避免它列入未符合網域的回退清單;這不代表停用所有 DNS 回退。

設定值解析行為使用條件
UseIP查詢 IPv4 與 IPv6 位址確認實際使用的出站連線支援所需的 IP 位址類型
UseIPv4僅查詢 IPv4 位址適合在排除 IPv6 問題時使用
UseIPv6僅查詢 IPv6 位址需要可用的 IPv6 網路與相應的目標位址

本文使用 UseIPv4 縮小排查範圍,並不代表 IPv4 一定比較快。若網路與節點的 IPv6 均正常,可以改用 UseIP 再測試。這只會影響內建 DNS 的查詢,不會在全系統停用 IPv6。

三、中國大陸與其他網域分流的 DNS 設定範例

以下是設定頂層 dns 的片段,並非可獨立執行的完整用戶端設定。合併至現有 JSON 時,請取代原有的同名欄位,不要在同一個物件中重複加入兩個 dns。使用 geosite:cn 前,也請確認執行目錄中的網域規則資料可用。

{
  "dns": {
    "queryStrategy": "UseIPv4",
    "servers": [
      {
        "address": "223.5.5.5",
        "port": 53,
        "domains": [
          "geosite:cn"
        ],
        "skipFallback": true
      },
      {
        "address": "https://1.1.1.1/dns-query"
      }
    ]
  }
}
  1. 符合 geosite:cn 的網域會優先交由 223.5.5.5 查詢,以保留中國大陸服務常見的就近解析結果。
  2. 未符合優先比對條件的網域會使用回退清單中的 DoH 伺服器;中國大陸 DNS 伺服器則因 skipFallback 設定而排除。
  3. 若中國大陸 DNS 優先查詢失敗,且未另外停用回退,仍可能改用 DoH。這段設定表達的是優先順序,而非絕對隔離。

若需求是中國大陸網域查詢失敗後也絕不改用其他解析器,必須依照實際核心支援的功能設計嚴格的回退策略,不要只靠調整陣列順序推測結果。V2Ray 與 Xray 支援的擴充欄位和範圍不一定相同;複製其他核心的進階欄位前,請先確認目前使用的核心文件與啟動記錄。

此處使用含 IP 位址的 DoH 網址,減少「先解析 DNS 伺服器網域」的前置依賴。若改用含網域名稱的 DoH 服務,還需安排該網域的初始解析,避免解析器為了找到自身而陷入循環等待。請保留 DoH 的 TLS 憑證驗證,不要以停用驗證的方式處理連線錯誤。

四、為 DNS 查詢本身設定出站路由

加密解析與代理傳輸是兩回事。DoH 負責保護傳送至解析伺服器的查詢內容;路由則決定連線至解析伺服器時要直連或走代理。若目前的網路無法直連遠端 DoH,只填入網址仍會逾時。以下範例會將 DoH 目標 IP 送往代理,並讓中國大陸 DNS 直連。

{
  "routing": {
    "domainStrategy": "AsIs",
    "rules": [
      {
        "type": "field",
        "ip": [
          "1.1.1.1/32"
        ],
        "port": "443",
        "outboundTag": "proxy"
      },
      {
        "type": "field",
        "ip": [
          "223.5.5.5/32"
        ],
        "port": "53",
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "geosite:cn"
        ],
        "outboundTag": "direct"
      }
    ]
  }
}

proxy 與 direct 是此範例使用的出站標籤,必須與現有 outbounds 中的 tag 完全一致。請將這幾條規則合併至現有路由的前段,不要覆蓋整份規則。未符合條件的流量仍由後續規則或預設出站處理;此片段不會替你設定預設出站。

routing.domainStrategy 與 dns.queryStrategy 是不同的設定。此處的 AsIs 表示路由不會為了比對 IP 規則而主動解析網域;改為 IPIfNonMatch 時,若沒有符合網域規則,便會嘗試解析後再比對 IP 規則。只有在需要依 IP 分流時才啟用,別為了「讓 DNS 生效」而盲目修改。

五、在 v2rayN 套用設定並進行驗證

修改 DNS 前,請先備份目前的設定。v2rayN 會依照介面設定產生核心設定檔;直接編輯暫存的產生檔,可能在切換節點或重新啟動核心後遭到覆蓋。常見的介面路徑為「設定」→「DNS 設定」;不同版本的介面項目可能有所調整,請確認編輯的是目前使用核心所對應的 DNS 設定,而不是另一個核心的欄位。

  1. 確認核心與設定來源。檢查目前節點使用的核心。本文的 JSON 適用於 V2Ray/Xray 設定結構;其他核心的 DNS 欄位不能直接照搬。
  2. 分別儲存 DNS 與路由設定。DNS 編輯區只填入該區域要求的物件,不要把整份頂層 JSON 填進單一伺服器輸入欄位。路由標籤請以實際產生的設定為準。
  3. 重新啟動核心並查看啟動記錄。先處理 JSON 語法錯誤、不支援的欄位或規則資料缺失等問題,再測試網頁。核心未能成功啟動時,網路測試結果沒有比較意義。
  4. 控制測試變因。選擇一個中國大陸服務網域,以及一個需要透過代理存取的網域,並記錄應用程式是否使用自訂的安全 DNS。修改後重新啟動測試中的應用程式,避免沿用既有連線。
  5. 檢查連線路徑。必要時暫時提高記錄層級,確認連往 1.1.1.1:443 的連線是否使用代理出站,以及連往 223.5.5.5:53 的查詢是否直連;排查完成後請恢復原本的記錄層級。
53
此範例中中國大陸 DNS 的 UDP 目標連接埠
443
此範例中 DoH 的 HTTPS 目標連接埠
2
此範例 servers 中的解析伺服器項目

判斷依據:先確認查詢路徑,再比較解析結果

只看到網頁能開啟,無法證明分流正確。請先確認查詢確實送至預期的解析器,再確認 DoH 連線經過代理;兩項都成立後,比較解析結果才有意義。

在 Windows 執行 ipconfig /flushdns 可以清除系統 DNS 快取,但不會同時清除瀏覽器自己的快取與核心的所有快取。單獨執行 nslookup 通常測試的是系統指定的解析器,不能用來直接證明核心的 dns 區段已生效。

六、DNS 污染防護的限制與常見問題

防止 DNS 污染的關鍵,是讓目標網域的查詢交由可信任的解析器處理,並保護查詢傳輸過程。中國大陸的 UDP DNS 仍是明文查詢;本文保留這項設定是為了配合當地服務的解析需求,不代表這條路徑具備與 DoH 相同的傳輸保護。若這條路徑發生異常,請改用目前核心支援且網路可連線的加密解析方式,再重新驗證路由。

已填入 DoH,為什麼仍顯示解析逾時?

先確認代理節點是否可用,再檢查 1.1.1.1:443 是否符合代理規則。若節點位址本身是網域名稱,也要排除初始解析造成的依賴循環。若記錄出現憑證時間錯誤,請先校準系統時間,不要停用憑證驗證。

中國大陸網站變慢,是分流規則沒有命中嗎?

先確認目前的 geosite:cn 資料是否涵蓋該網域,再檢查啟動記錄中是否有規則檔載入錯誤。網站也可能會載入多個資源網域,請逐一檢查,不能只根據網址列中的主網域判斷所有請求的解析路徑。

DNS 檢測網站顯示其他地區,算是 DNS 洩漏嗎?

不一定。檢測頁面通常顯示的是處理測試查詢的遞迴解析器出口,並不直接代表用戶端所在地。請分別檢查瀏覽器安全 DNS、伺服器端解析與本機核心解析這三條路徑,再判斷是否有原本應受保護的查詢以明文從本機送出。

已取得正確 IP,為什麼網頁還是無法開啟?

DNS 只負責回傳位址,不保證 TCP、TLS 或後續傳輸正常。確認解析結果後,請繼續檢查出站規則、節點連線與目標連接埠。若只有啟用 IPv6 後才失敗,可暫時使用 UseIPv4 進行對照測試,再排查 IPv6 連線問題。

同一網域由不同解析器回傳不同位址,不一定代表受到 DNS 污染。內容傳遞網路可能根據解析器位置與網路策略回傳不同節點;反過來說,回傳看似合理的公網位址,也不能證明解析結果可信。不要只因兩個位址不同就新增靜態對應;靜態位址可能過期,也會略過正常的服務調度。

下載 v2rayN依平台選擇用戶端