什麼是DNS洩漏、為什麼它即使在VPN活躍時也可能暴露你的瀏覽記錄,以及如何在任何設備上測試和修復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洩漏非常簡單。使用最廣泛的是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供應商也在其應用程式中包含自己的內建洩漏測試,可用於快速自我檢查。
在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中訪問。
永久防止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應用程式更新和審查瀏覽器私隱設置一起——確保你的保護隨著底層技術的演進保持有效 ↗。