本文重點

適合已匯入訂閱、能正常瀏覽網頁,但測出本地網路業者解析器的 Windows 使用者。先區分網頁出口與 DNS 出口,再固定瀏覽器和代理模式進行對照測試;接著調整遠端 DNS、直連 DNS 與路由,最後檢查 TUN、IPv6 和瀏覽器安全 DNS,避免只更換解析位址就認定問題已解決。

DNS 洩漏的判斷依據

瀏覽網域時,應用程式通常會先取得 IP 位址,再建立連線。DNS 查詢和網頁連線可能走不同路徑:網頁流量經過代理節點,不代表網域查詢也經過該節點。本文所稱的 DNS 洩漏,是原本預期由代理路徑處理的解析請求,仍交由本地網路或其他非預期的解析服務處理。

應用程式提出網域查詢 選擇解析器 比對解析路由 建立輸出連線 取得連線結果

先了解各軟體的職責。v2rayN 是桌面用戶端,負責管理訂閱、節點、路由與核心設定;V2Ray、Xray 等核心則負責執行相應的網路處理。使用 VMess 或 VLESS 節點,不會自動決定 Windows 上所有應用程式的 DNS 流向。DNS 是否由核心解析,還要看應用程式交付的是網域名稱還是已解析的位址,以及系統代理或 TUN 的接管範圍。

  • 網頁出口 IP:顯示這次網頁連線從哪裡出去,不等於 DNS 解析器的位址。
  • 測得的 DNS 伺服器:通常是遞迴解析器對外查詢所用的位址,不一定等於設定頁填入的位址。
  • 直連網域解析:分流設定可以刻意讓本地域名使用直連 DNS,不能一概視為洩漏。
  • 解析服務所在地:公共解析器會使用任播和流量調度,國家或城市標示只能作為輔助判斷。

線上測試:先記錄基準,再比較結果

請使用同一個網路、同一個瀏覽器和同一個測試網站。在瀏覽器網址列輸入 dnsleaktest.com,先執行標準測試,再執行延伸測試。測試頁面會觸發一組新的網域查詢,讓你從權威 DNS 端查看遞迴解析器。除了記錄「測到幾台伺服器」,也要記下服務業者名稱與網頁出口。

  1. 建立直連基準。若環境允許短暫直連,且不進行敏感操作,請關閉 TUN,並在 v2rayN 選擇「清除系統代理」,記錄目前網路通常使用的解析服務。若不能接受直連,就略過基準測試,不要為了測試而暴露業務流量。
  2. 建立代理對照。選取可用節點,選擇「自動設定系統代理」,並維持相同的路由規則,再重新測試。確認瀏覽器沒有使用與系統設定衝突的代理擴充功能。
  3. 確認測試網域的路由。若測試網站或測試網域設為直連,測試結果就不能代表代理解析路徑。可暫時套用將測試流量導向代理的規則,再測一次,之後還原原有規則。
  4. 重新測試,不要只重新整理頁面。修改設定後重新啟動核心,關閉舊的測試分頁,再開始新一輪測試。記錄修改前後的差異,不要把快取結果當成新設定的效果。

如果代理模式下仍測到與直連基準相同的本地網路業者解析器,就需要繼續查明原因;如果測到多個同屬公共解析服務的位址,可能只是負載平衡。反過來說,只測到一台解析器,也不能證明所有應用程式都已被接管。

結論:依解析服務歸屬與路由預期判斷

先確認測試網域應走代理,再比對解析服務是否仍屬於本地網路;不要只憑伺服器數量或國家標示判斷是否通過。

v2rayN 遠端 DNS 與直連 DNS 設定

先備份目前設定,並記下正在使用的核心。開啟「設定」→「DNS 設定」,查看目前核心對應的 DNS 設定。不同版本可能會將相關選項放在「設定」→「參數設定」的 DNS 分頁;欄位名稱、範本和支援的位址格式也可能因核心而異。找不到選項時,先確認目前介面和核心,不要直接貼上其他核心的整段 JSON。

53
傳統 DNS 常用的 UDP/TCP 連接埠
443
HTTPS 與 DoH 常用連接埠
10808
本機代理連接埠範例,請以實際設定為準

連接埠號碼用來區分服務,不能互相替代。127.0.0.1:10808 即使是正在監聽的代理入口,也不會自動成為可用的 DNS 伺服器。只有確定該位址有 DNS 服務在監聽,才能將它填入系統的 DNS 設定。

  1. 設定遠端 DNS。在支援相應格式的欄位中,可使用 https://dns.google/dns-query 這類 DoH 位址。這只是設定範例,不代表目前網路一定連得上。遠端解析請求也必須依設定經由代理輸出,否則只是將 DNS 加密後從本地網路送出。
  2. 設定直連 DNS。為明確設定直連的網域選擇本地可用的解析服務,例如網路管理員提供的 DNS。223.5.5.5 是公共 IPv4 解析位址的範例,但是否適用於目前網路仍需測試;若涉及內部網域,應優先遵循所在網路的設定。
  3. 檢查引導解析。DoH 位址包含網域名稱,首次連線時仍須解析該名稱;代理節點位址若也是網域名稱,也可能需要先解析。請依目前核心提供的引導解析或網域解析設定處理,避免節點解析依賴尚未建立的代理連線。
  4. 儲存並重新啟動核心。查看記錄中是否出現解析失敗,再執行相同的線上測試。每次只修改一個變數,才能判斷問題是解析器無法連線,還是輸出路由設定錯誤。

路由分流:讓解析與連線遵循相同的規則

開啟「設定」→「路由設定」,檢查目前啟用的規則,不要只修改未選用的規則集。分流至少涉及兩件事:目標網域由哪個解析器處理,以及取得位址後由哪個輸出路徑建立連線。兩者彼此相關,但不是同一個開關。

連線類型預期解析方式檢查重點
明確設定為代理的外部網域遠端 DNS解析請求與業務連線都依預期經由代理
明確設定為直連的網域直連 DNS解析結果適用於本地網路,且未誤走遠端路徑
區域網路或公司內部網域內部 DNS保留內部解析,避免查詢送往公共解析服務
代理節點伺服器網域可用的引導解析代理尚未連線時,也能取得節點位址

使用 Xray 網域規則時,geosite 是網域集合,geoip 是 IP 集合。網域規則可以直接比對名稱;部分 IP 判斷則可能需要先取得位址。調整網域解析策略前,應先了解目前規則會在何時觸發解析,避免為了符合 IP 規則而增加不必要的本地查詢。

  • 檢查規則優先順序。過於寬泛的直連規則若排得太前面,可能會套用到原本預期走代理的測試網域。
  • 檢查輸出標籤。自訂設定中的 DNS 輸出與業務輸出必須引用實際存在的標籤,不要直接照抄範例名稱。
  • 區分兩種「全域」。將路由改為全部走代理,只會改變已進入核心的流量,不會自動接管繞過系統代理的應用程式。
  • 保留內部解析。公司網路使用的內部網域可能無法透過公共 DNS 解析;統一使用遠端解析前,應保留必要的例外設定。

需要補充基礎概念時,可參閱路由分流說明與代理模式說明。修改訂閱群組不會自動修正 DNS 路由;更新訂閱後,也應確認目前節點與規則的組合仍符合預期。

檢查瀏覽器、TUN 與 IPv6 是否繞過代理

系統代理主要供會讀取代理設定的應用程式使用。瀏覽器可能會使用獨立的安全 DNS,其他程式也可能直接呼叫系統解析服務或自行傳送 DNS 請求。啟用系統代理後仍測到異常,不要立刻認定節點失效;先確認請求是否進入 v2rayN 管理的路徑。

  1. 固定瀏覽器的安全 DNS 設定。在 Edge 中開啟「設定」→「隱私權、搜尋與服務」→「安全性」,檢查「使用安全 DNS」相關選項。排查時可暫時關閉獨立安全 DNS,以減少變因;若設定由組織原則管理,請勿繞過原則,應聯絡管理員確認解析路徑。
  2. 視需要測試 TUN。若需要處理不讀取系統代理設定的應用程式,請以系統管理員身分執行 v2rayN,再啟用介面中的「啟用 Tun」選項。檢查虛擬網卡、預設路由與 DNS 接管設定。TUN 的實際行為取決於使用的核心,不能只看開關已啟用,就認定所有查詢都已被接管。
  3. 檢查 IPv6。AAAA 查詢本身不代表發生洩漏;還需要確認 IPv6 業務連線和 DNS 請求是否遵循相同的代理策略。若只處理 IPv4,卻保留未被接管的 IPv6 路徑,出口可能會不一致。
  4. 排除其他網路設定的影響。其他虛擬網卡、公司網路通道或安全軟體可能會改變路由和 DNS 優先順序。先記錄目前狀態,再逐項測試,避免同時修改多組網路設定。

如果只有系統代理模式異常,而設定完整的 TUN 模式結果符合預期,請優先檢查應用程式是否繞過系統代理。如果兩種模式都異常,則繼續檢查 DNS 輸出、引導解析和瀏覽器獨立解析。接管範圍的細節可參閱TUN 設定說明。

命令與記錄:分辨解析失敗和路徑異常

開啟 PowerShell,先查看各網卡的 DNS 設定,再清除系統快取。以下命令用於查看 Windows 的解析環境,不會自動透過 v2rayN 的 HTTP 或 SOCKS 代理;命令執行成功只能表示相應的系統解析路徑可用,不能取代瀏覽器的 DNS 洩漏測試。

Get-DnsClientServerAddress
ipconfig /flushdns
Resolve-DnsName example.com -Type A
Resolve-DnsName example.com -Type AAAA

ipconfig /flushdns 只會清除 Windows DNS 用戶端快取,不會清除瀏覽器或核心中的所有快取。測試前後都應重新開啟瀏覽器測試頁,修改核心 DNS 設定後也要重新啟動核心。記錄中沒有錯誤,也不能單獨證明 DNS 沒有繞行。

錯誤:no such host

原因與解法:記錄中顯示目標主機無法解析,可能是節點網域拼錯或解析器無法使用;先確認錯誤所指的網域,再檢查引導 DNS 和目前的解析服務。

錯誤:context deadline exceeded

原因與解法:操作超過等待時間。若同一筆記錄指向 DNS 請求,請優先檢查解析服務的連線狀態與輸出路徑;這項錯誤也可能發生在連線階段,不能脫離上下文就認定是 DNS 故障。

錯誤:connection refused

原因與解法:目標連接埠未接受連線。若設定引用本機 DNS 服務,請檢查服務是否已啟動,以及監聽位址和連接埠是否相符;不要誤將代理監聽連接埠填成 DNS 連接埠。

結論:用測試結果確認路徑,用記錄釐清錯誤

網頁能開啟,但解析服務歸屬不符時,請檢查流量接管與分流設定;網域無法解析時,先檢查解析器、節點網域與引導解析路徑。不要在這兩類問題之間反覆盲目更換節點。

常見問題與設定完成檢查

出口已變更,為什麼 DNS 還是本地網路業者?

先確認測試網域沒有命中直連規則,再檢查瀏覽器是否已在本地完成解析。固定瀏覽器的安全 DNS 設定,確認「設定」→「DNS 設定」中的遠端解析輸出,重新啟動核心後再測一次。

改用 DoH 後網頁反而無法開啟,該繼續更換位址嗎?

先還原上一個可用的設定,檢查 DoH 服務網域是否能透過引導解析取得位址,以及遠端 DNS 是否依賴尚未建立的節點連線。請分開處理「解析服務無法連線」和「節點本身的網域無法解析」這兩種問題。

測到三個 DNS 位址,是不是洩漏了三次?

不是。多個位址可能屬於同一個遞迴解析服務。請比較服務歸屬、直連基準和設定預期;只有出現非預期的解析路徑時,才需要進一步查明原因,不能只看位址數量下結論。

啟用 TUN 後,可以直接忽略瀏覽器設定嗎?

不行。瀏覽器獨立使用的 DoH 可能會以一般 HTTPS 連線進入 TUN,但仍使用另一家解析服務。若希望所有查詢統一由指定解析器處理,仍須協調瀏覽器安全 DNS 與核心 DNS 策略,並確認 IPv6 路徑。

設定完成後,請保留一份可還原的紀錄:目前節點、核心類型、系統代理或 TUN 狀態、遠端與直連 DNS、路由規則名稱,以及兩輪測試結果。請勿公開訂閱網址、節點驗證資訊或含有敏感網域的完整記錄。

  • 確認代理網域使用符合預期的解析服務,直連網域與內部網域仍可正常存取。
  • 確認重新啟動 v2rayN 後設定仍然生效,而不只是目前瀏覽器工作階段正常。
  • 切換 Wi-Fi、有線網路或個人熱點後重新檢查,尤其留意各網卡的 DNS 與 IPv6 狀態。
  • 更新用戶端、切換核心或更換路由範本後,請重新測試,不要沿用舊環境的結論。

下載 v2rayN 用戶端

請依作業系統與架構選擇用戶端;初次設定可先匯入訂閱,再檢查 DNS 與路由。