適合已能連線至節點,但不確定網域查詢是否經過代理的使用者。先分辨瀏覽器、系統與核心各自使用的 DNS,再透過對照測試找出查詢出口,最後設定遠端解析、本機分流及 TUN 下的 FakeIP。重點不是讓檢測頁只顯示一個位址,而是確保需要代理的網域查詢依預期路徑送出。
如何判斷 DNS 洩漏
DNS 負責將網域名稱轉換為 IP 位址。網頁連線經過代理,不代表網域解析請求也經過代理:應用程式可能先向路由器查詢位址,再將解析結果交給代理。若原本預期網域透過代理解析,這種本機查詢就是需要排查的路徑偏差。
v2rayN 是用戶端介面,實際的轉送與解析行為取決於目前使用的核心及設定。瀏覽器的「安全 DNS」、Windows 網卡 DNS、核心內建 DNS 是不同的查詢入口。只在其中一處填入公共 DNS 位址,無法確保其他入口也以相同方式運作。
| 查詢入口 | 常見路徑 | 檢查重點 |
|---|---|---|
| Windows 系統解析 | 使用網卡設定的 DNS,查詢可能先經過路由器 | 系統代理通常不會接管一般 UDP DNS |
| 瀏覽器安全 DNS | 瀏覽器自有的 DoH 服務 | 是否繞過用戶端 DNS 規則,以及連線本身是否經過代理 |
| 核心內建解析 | 依設定使用本機或遠端解析器 | 解析器選擇與查詢出口都必須正確 |
| TUN 接管 DNS | 攔截到的 DNS 請求會進入核心 | 確認 DNS 攔截、路由範圍與例外規則是否生效 |
傳統 DNS 常使用 UDP 或 TCP 的 53 連接埠;DoH 通常使用 HTTPS 的 443 連接埠;DoT 通常使用 853 連接埠。加密解決的是傳輸內容可被讀取的問題,代理處理的是流量出口路徑,兩者不能互相取代。
檢測方式:先建立對照,再查看解析器
準備一個能顯示解析器位址及所屬網路的 DNS 檢測頁面。測試期間使用同一個頁面與瀏覽器,每次只變更一項設定。檢測頁顯示的通常是遞迴解析器連線至測試網域時的出口,不一定等於電腦的公用 IP 位址,也不一定是節點出口。
-
記錄基準結果
在允許短暫直接連線的測試環境中,先關閉代理,記錄檢測頁顯示的解析器位址及電信業者網路。不方便直接連線時可略過這一步,但後續判斷應以路由記錄為主,不能只憑地理位置下結論。
-
排除瀏覽器干擾
在瀏覽器設定中搜尋「安全 DNS」,暫時關閉自訂安全 DNS,並記錄原本的設定。這能降低瀏覽器內建 DoH 對用戶端測試的干擾;測試完成後再依需求恢復。
-
測試系統代理
在 v2rayN 系統匣選單的「系統代理」中選擇「自動設定系統代理」,保持節點與路由規則不變,再次執行檢測。記錄解析器是否有所變化,不要把「網頁能開啟」當成 DNS 已被接管的證明。
-
與 TUN 模式對照
關閉其他流量接管程式,再於主介面啟用「啟用 TUN」。依系統提示完成權限設定,並確認核心正常運作。清除快取後重新測試,比較系統代理與 TUN 兩種狀態下的解析結果。
-
檢查記錄
在用戶端記錄區查看測試時段的 DNS 與路由記錄。必要時可暫時提高記錄層級,確認查詢使用了哪個解析器及出口;完成後請恢復原設定,避免長期記錄瀏覽過的網域。
在 Windows PowerShell 中,可使用以下兩個指令檢查系統解析路徑。第一個指令會清除 Windows DNS 快取,第二個則會發出一般 DNS 查詢;這兩個指令不會自動使用 v2rayN 的 HTTP 或 SOCKS 代理。瀏覽器與核心也可能各自保留快取,需分別重新啟動或清除。
ipconfig /flushdns
nslookup example.com
結論:解析器所在區域不是判斷依據
若檢測結果顯示本地電信業者網路,請先確認是否為刻意直接連線的網域查詢,再檢查出口記錄。公共解析服務採分散式部署,顯示附近地區並不能單獨證明有 DNS 洩漏。
v2rayN 遠端 DNS:同時設定位址與出口
不同桌面介面與核心的 DNS 表單不盡相同。先開啟「設定」→「DNS 設定」,確認目前使用的核心及對應設定頁面。如果目前介面沒有這個選項,請先核對安裝套件的介面與設定選單,不要直接貼上其他核心使用的設定文字。
遠端 DNS 的目的,是讓需要代理的網域透過預期的解析服務查詢。以 https://1.1.1.1/dns-query 為例,這是特定的 DoH 位址,不是訂閱網址,也不是節點位址。填入這個位址後,還需確認連往該服務的連線會經由代理出口。
-
先備份原設定
記下「設定」→「DNS 設定」中的原始值、目前使用的核心及路由選項。保留可還原的設定副本,不要在測試前刪除既有 DNS 規則。
-
設定遠端解析
在目前核心對應的遠端 DNS 欄位中,填入支援的解析服務位址。若使用上述 DoH 位址,請確認表單接受完整的 HTTPS URL,而非僅接受 IP 位址。
-
確認查詢出口
檢查 DNS 查詢的出口選項或相關路由規則,確保遠端解析連線使用代理。Xray 設定中的
https+local://具有本機直連的語意,不能當作「強制代理」的寫法。 -
重新啟動並測試
儲存設定、重新啟動核心,再清除快取並執行檢測。若網頁反而無法開啟,請先查看 DNS 逾時及節點網域解析記錄,不要同時更換節點、DNS 與路由模式。
即使核心的 DNS 已設定正確,仍需確認應用程式是否將網域交由代理處理。部分應用程式會先在系統中解析,再提交目標 IP;此時核心 DNS 設定未必會參與這次解析。若要涵蓋這類應用程式,請繼續檢查 TUN 與 DNS 接管設定,而不是反覆更換遠端解析位址。
本機 DNS 分流:明確劃分直連與代理範圍
使用本機 DNS 不代表設定有誤。區域網路裝置、內部網域及明確設定為直連的網站,可能需要本機解析才能取得可連線的位址。關鍵在於限制規則的套用範圍,避免將需要代理的網域交給本機解析器,同時也不要將所有查詢一律強制送往遠端服務。
| 網域用途 | 解析策略 | 驗證方式 |
|---|---|---|
| 區域網路裝置與內部網域 | 使用所在網路的 DNS,保留區域網路直連 | 確認內部名稱是否解析為正確的私有位址 |
| 明確設定為直連的網站 | 依網域規則使用本機 DNS | 確認解析與連線都依直連規則處理 |
| 明確設定為代理的網站 | 使用遠端 DNS,並讓查詢連線經過代理 | 同時檢查解析器選擇與代理出口記錄 |
| 節點伺服器網域 | 使用不依賴該節點連線的引導解析 | 重新啟動核心後仍能完成首次連線 |
例如,223.5.5.5 可作為特定網路環境下的公共本機解析候選位址,但它無法解析企業內部網域,也不適用於所有網路。內部名稱應優先交由所在網路提供的解析器處理;涉及內部網域時,也請遵守所在網路的使用規範。
- 先確認規則順序:具體網域規則應排在範圍較廣的預設規則之前,否則細部規則可能永遠不會生效。
- 再確認回退行為:遠端解析失敗後若會自動改用本機 DNS,請確認這是否符合預期。不能只檢查優先使用的解析器。
- 最後確認 IP 位址類型:同時檢查 A 與 AAAA 查詢。只測試 IPv4,無法證明 IPv6 流量也會經過相同的代理路徑。
結論:依網域用途分流,不必美化檢測結果
保留必要的本機解析,只需收緊代理網域的查詢路徑。若業務需求是讓所有查詢都經過代理,請明確停用相關的本機回退,再確認節點引導解析與區域網路存取仍能正常運作。
FakeIP 與 TUN:接管範圍比開關名稱更重要
FakeIP 會先回傳合成位址給應用程式,再由核心保存網域與位址的對應關係,後續連線則依網域處理。這有助於避免應用程式提前取得真實 IP,導致網域資訊遺失,但它不是獨立的「防洩漏開關」。如果查詢未被接管,或後續連線沒有回到核心處理,都會影響結果。
Xray 中的相關機制通常稱為 FakeDNS,其他核心的 FakeIP 設定結構則各有不同。v2rayN 的 TUN 功能所使用的核心,也不一定與一般代理連線相同,請以目前設定與執行記錄為準。不要將 Xray 的 fakedns 欄位複製到其他核心的 DNS 設定中。
- 確認 DNS 是否已接管:啟用 TUN 後,仍需確認一般 DNS 請求已進入核心。不能直接把應用程式內建的加密 DNS 連線視為 UDP 53 請求攔截。
- 檢查合成位址路由:部分實作會使用
198.18.0.0/15網段中的位址池。此網段供基準測試使用,並非真實公網目標;實際使用的位址池以設定為準。 - 保留內部網域例外:為依賴真實位址的區域網路探索與內部服務設定合適的真實解析例外,避免合成位址影響存取。
- 切換後清除快取:停用 FakeIP 或更換核心後,應用程式可能仍快取合成位址。請重新啟動相關應用程式並清除快取;必要時重新啟動核心,以重建對應關係。
常見錯誤與驗收清單
記錄訊息會因核心而異。以下列出常見錯誤片段,排查時應連同前後文一起查看,特別要分辨錯誤對象是 DNS 伺服器、節點伺服器還是目標網站。單一錯誤訊息不能證明發生 DNS 洩漏。
錯誤:lookup example.com: i/o timeout
原因:網域解析逾時,可能是解析器無法連線,也可能是查詢出口設定錯誤。
解決方式:先確認目前的解析器位址與查詢路徑,再檢查相關連線是否遭防火牆或路由攔截;不要直接停用憑證驗證。
錯誤:no such host
原因:目前的解析路徑未取得可用的網域解析結果,可能與網域拼寫錯誤、負向快取或分流規則錯誤有關。
解決方式:確認網域有效、清除快取,並比較本機與遠端解析結果;若是內部網域,優先確認是否誤送至公共 DNS。
錯誤:network is unreachable
原因:目前的網路堆疊沒有通往目標位址的可用路徑,可能與 IPv6、TUN 路由或合成位址連線有關。
解決方式:查看錯誤訊息中的目標位址,確認網卡與路由範圍;若位址屬於 FakeIP 位址池,請先清除舊的對應資料,並確認 TUN 正常運作。
設定完成後,請依下列四項進行驗收。瀏覽器檢測只涵蓋目前瀏覽器產生的測試流量,不能取代其他應用程式的檢查。v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心;移轉至 Android 時,應重新檢查各自的 DNS 與流量接管設定,不能直接套用桌面系統代理的測試結論。
- 代理網域:解析器選擇符合預期,查詢出口與目標連線路徑都有跡可循,且沒有意外改用本機 DNS。
- 直連網域:保留刻意設定的本機解析,區域網路與必要的內部服務仍可正常存取。
- 重新啟動:結束並重新開啟用戶端後,節點網域仍能完成首次解析,設定不依賴上次留下的快取。
- 恢復日常環境:恢復瀏覽器安全 DNS 的預定設定後再次測試,同時檢查 IPv4、IPv6 及實際使用的應用程式。