如何測試DNS洩漏:逐步指南

什麼是DNS洩漏、為什麼它即使在VPN活躍時也可能暴露你的瀏覽記錄,以及如何在任何設備上測試和修復DNS洩漏。

DNS leak test guide
1什麼是DNS洩漏

什麼是DNS洩漏及其重要性

DNS洩漏發生在你的設備在加密VPN隧道之外發送DNS查詢時,即使你認為你的流量受到VPN保護,也會將你正在訪問的域名暴露給你的ISP或其他網絡觀察者。DNS洩漏通常由於VPN軟件配置錯誤、操作系統DNS處理的特性,或繞過VPN的DNS解析器的特定瀏覽器DNS設置而發生。結果是,雖然你的IP地址可能看起來源自VPN伺服器,但你的DNS查詢向你的真實ISP揭示了你實際訪問的網站。

DNS洩漏在Windows系統上尤為常見,Windows的「智能多宿主名稱解析(SMHNR)」功能導致Windows同時向所有可用的網絡接口發送DNS查詢,並使用最先響應的接口。當VPN活躍時,這意味著DNS查詢可能由你的ISP的DNS伺服器而非VPN的DNS解析器回答,從而造成洩漏。macOS和iOS較少出現此問題,但並非完全免疫——Apple設備上的某些VPN配置在連接建立或重新連接期間也可能導致DNS查詢繞過VPN隧道。

瀏覽器級別的DNS洩漏是一個獨立問題。當瀏覽器啟用了特定供應商的DNS-over-HTTPS時,即使VPN活躍,它們也可能繼續直接向該DoH供應商發送DNS查詢,繞過VPN的DNS伺服器。這是否構成「洩漏」取決於你的威脅模型——如果你比VPN的DNS伺服器更信任你的DoH供應商(如Cloudflare),這實際上可能更可取。然而,如果目標是讓所有DNS流量通過VPN路由,瀏覽器級別的DoH設置可能需要禁用或配置為使用VPN自己的DNS解析器。

  • DNS查詢逃出VPN隧道:即使你的IP被VPN屏蔽,你的ISP仍能看到你訪問哪些域名。
  • Windows SMHNR:Windows上DNS洩漏的常見原因——同時向所有接口發送查詢。
  • VPN配置錯誤:配置不當的VPN客戶端可能無法正確通過隧道路由DNS。
  • 瀏覽器DoH覆蓋:瀏覽器DNS-over-HTTPS設置可以繞過VPN的DNS處理。
  • 重新連接洩漏:VPN連接斷開和重新連接時可能發生短暫的DNS洩漏。
  • IPv6洩漏:只隧道IPv4流量的VPN可能允許IPv6 DNS查詢洩漏到ISP。
What is a DNS leak
2運行測試

如何逐步運行DNS洩漏測試

使用免費的在線工具測試DNS洩漏非常簡單。使用最廣泛的是dnsleaktest.com,它顯示你的設備正在使用的DNS伺服器,並識別它們屬於哪個ISP或服務。運行測試的步驟:首先,連接到你的VPN並確認顯示為已連接。然後導航至dnsleaktest.com並點擊「擴展測試」。擴展測試發送更多DNS查詢,以揭示你的設備使用的所有DNS伺服器,包括那些可能由於競爭條件或負載均衡而只偶爾出現的伺服器。

解讀結果如下:如果你只看到屬於你的VPN供應商或你選擇的安全DNS供應商(Cloudflare、Quad9、NextDNS)的DNS伺服器,則沒有DNS洩漏。如果你看到屬於你的香港ISP(如HKT、數碼通或中國移動香港)或任何其他意外供應商的伺服器,你的DNS查詢正在VPN隧道外洩漏。多次運行測試,包括在連接VPN後立即測試以及VPN連接數分鐘後,因為某些洩漏只在連接建立期間發生。

其他測試工具包括ipleak.net,它在單頁面中同時測試DNS、IP和WebRTC洩漏;以及browserleaks.com/dns,提供更詳細的DNS解析測試,包括偵測分離隧道配置。對於移動設備上的VPN用戶,相同的測試在你的手機瀏覽器上同樣有效——只需連接你的VPN應用程式,然後從手機瀏覽器訪問這些測試網站。許多信譽良好的VPN供應商也在其應用程式中包含自己的內建洩漏測試,可用於快速自我檢查。

  • dnsleaktest.com:標準DNS洩漏測試工具——運行擴展測試以獲得全面結果。
  • 預期結果:只應顯示你的VPN供應商或安全DoH供應商的DNS伺服器。
  • 洩漏指示器:看到你的香港ISP的DNS伺服器意味著你的查詢正在VPN隧道外洩漏。
  • ipleak.net:在一次全面檢查中同時測試DNS、IP地址和WebRTC洩漏。
  • 多次測試:在連接後立即和數分鐘後運行測試,以捕捉間歇性洩漏。
  • 移動測試:在VPN應用程式活躍的情況下從手機瀏覽器訪問測試網站,驗證移動VPN DNS保護。
How to run a DNS leak test
3修復DNS洩漏

如何在Windows、Mac和移動設備上修復DNS洩漏

在Windows上,修復DNS洩漏最有效 ↗的方法是在你的VPN客戶端設置中啟用DNS洩漏防護或DNS終止開關功能。大多數信譽良好的VPN供應商(ExpressVPN、NordVPN、Mullvad、ProtonVPN)將此作為可配置選項。如果你的VPN客戶端缺少此功能,你可以通過Windows註冊表或組策略手動修復Windows SMHNR洩漏——搜索「SMHNR DNS洩漏修復」以獲取具體的註冊表路徑。或者,將VPN適配器的DNS設置為你首選的DNS供應商並使用最高優先級指標,可確保Windows優先查詢該DNS伺服器。

在macOS上,DNS洩漏較少見,但在特定VPN配置中可能出現。推薦的修復方法是使用直接管理macOS DNS設置的VPN客戶端,而不是依賴系統的自動DNS配置。Mullvad、ProtonVPN和ExpressVPN默認在macOS上正確管理DNS。如果手動使用OpenVPN或WireGuard配置文件,請確保客戶端設置中正確配置了DNS推送選項。為了額外保護,使用Cloudflare的1.1.1.1應用程式在系統層面啟用DNS-over-HTTPS,它可與VPN隧道並行工作。

在iOS和Android上,信譽良好的VPN應用程式通常開箱即配置良好以防止DNS洩漏。如果你在移動設備上發現洩漏,最常見的修復方法是檢查VPN應用程式是否有權限修改DNS設置,以及在應用程式設置中是否啟用了「DNS洩漏防護」。在Android上,在網絡設置中啟用「始終開啟VPN」和「封鎖沒有VPN的連接」在操作系統層面提供最強的DNS洩漏防護,確保DNS查詢只能通過VPN隧道傳輸。在大多數Android設備上,此設置可在設置 > 網絡與互聯網 > VPN中訪問。

  • VPN DNS洩漏防護:在你的VPN客戶端中啟用此設置——ExpressVPN、NordVPN、Mullvad、ProtonVPN均有提供。
  • Windows SMHNR修復:通過註冊表編輯或組策略禁用智能多宿主名稱解析。
  • 使用功能完整的VPN客戶端:避免手動OpenVPN/WireGuard配置,除非你了解DNS配置要求。
  • Android始終開啟VPN:設置 > 網絡 > VPN > 封鎖沒有VPN的連接——強制所有DNS通過VPN。
  • macOS DNS管理:使用直接處理macOS DNS的VPN客戶端——Mullvad和ProtonVPN能正確執行此操作。
  • 啟用IPv6洩漏防護:確保你的VPN客戶端封鎖IPv6流量或將其與IPv4一起隧道以防止IPv6 DNS洩漏。
Fixing DNS leaks on all devices
4永久防護

永久防止DNS洩漏:最佳實踐

永久防止DNS洩漏最可靠的方法是使用設計上安全處理DNS的信譽良好的VPN供應商,結合系統或瀏覽器層面的DNS-over-HTTPS。Mullvad VPN被廣泛認為在消費者VPN中具有最強大的DNS洩漏防護——它使用自己的DNS伺服器,在防火牆層面封鎖隧道外的所有DNS流量,並包括全面的IPv6洩漏防護。ExpressVPN和ProtonVPN也是具有在其應用程式中包含的已驗證DNS洩漏防護的強力選擇。

DNS-over-HTTPS即使沒有VPN也提供額外的保護層。在瀏覽器中啟用DoH後,無論你的VPN連接是否活躍,你的DNS查詢都是加密的,即使在VPN間隙期間或在不使用VPN的網絡上,也能防止ISP DNS日誌記錄。將VPN與瀏覽器級別的DoH結合使用提供深度防禦:VPN隧道傳輸所有流量,而DoH確保DNS查詢在操作系統啟動到VPN連接建立的短暫窗口期間也是加密的。

定期重新測試你的DNS洩漏狀態是良好的安全習慣,特別是在操作系統更新、VPN應用程式更新或更換網絡之後。在dnsleaktest.com上運行快速測試不到一分鐘,可確認你的保護按預期工作。對於依賴VPN保護進行私隱敏感活動的香港用戶,將DNS洩漏測試添加到每月安全檢查清單——與檢查VPN應用程式更新和審查瀏覽器私隱設置一起——確保你的保護隨著底層技術的演進保持有效 ↗

  • 選擇Mullvad、ExpressVPN或ProtonVPN:這些供應商擁有最強大的已驗證DNS洩漏防護實現。
  • VPN與DoH結合:瀏覽器級別的DNS-over-HTTPS在VPN連接間隙期間保護DNS。
  • 使用終止開關:VPN終止開關在VPN斷開時封鎖互聯網訪問,防止重新連接期間的暴露。
  • 每月測試:在操作系統更新和VPN應用程式更新後運行dnsleaktest.com,確認保護保持完整。
  • 如果VPN不隧道IPv6則封鎖它:許多舊版VPN配置只保護IPv4——確保IPv6被封鎖或隧道。
  • 路由器級別VPN:在家庭路由器上安裝VPN可保護所有設備,消除每設備DNS配置的顧慮。
Preventing DNS leaks permanently

立即測試你的DNS洩漏狀態

在VPN活躍的情況下訪問dnsleaktest.com——然後使用DNS-over-HTTPS和VPN的內建洩漏防護設置修復任何洩漏。

Related VPN Articles