跳至主要內容

什麼是 DNS 洩漏?它如何暴露您的真實身份以及如何修復

已複製

即使您正在使用 VPN 以保護您的線上隱私,您的裝置仍可能在不知不覺中透過 DNS 洩漏洩露您的真實 IP 位址和網路活動。

什麼是 DNS 洩漏?

當您在瀏覽器中輸入像 whoip.tw 這樣的網域名稱時,您的電腦需要將其翻譯成機器可讀的 IP 位址(例如 104.21.36.104),才能連接到正確的網站伺服器。這個翻譯過程由網域名稱系統(DNS)處理。這就像網際網路的電話簿,將易於記憶的網域名稱轉換為數位 IP 位址。如果您想深入了解此過程,可以參考我們的文章:DNS 如何運作

通常,您的網際網路服務提供者(ISP)會處理您的 DNS 請求。這意味著您的 ISP 可以看到您造訪的每個網站,因為他們正在執行翻譯工作。

當您使用虛擬私人網路(VPN)時,目的是將您的所有網路流量(包括您的 DNS 請求)加密並透過 VPN 伺服器進行路由。這意味著您的 ISP 無法看到您的線上活動,並且您的 DNS 請求應該由 VPN 提供者或其指定的可信任 DNS 伺服器處理,而不是您的 ISP。

DNS 洩漏 發生在您的 DNS 請求繞過您的 VPN 加密通道,並直接發送到您的 ISP 的 DNS 伺服器時。即使您的所有其他流量都透過 VPN 傳輸並隱藏了您的真實 IP 位址,您的 DNS 請求仍然會洩漏您的線上活動,讓您的 ISP 知道您正在造訪哪些網站。

DNS 洩漏如何發生?

DNS 洩漏有多種原因,通常與您的裝置、作業系統或 VPN 軟體的配置方式有關:

1. 作業系統的預設行為

某些作業系統(尤其是 Windows)傾向於預設使用它們最初配置的 DNS 伺服器,即使 VPN 已啟用。當您連接到 VPN 時,它應該指示您的作業系統使用 VPN 的 DNS 伺服器。如果此指令因任何原因失敗,作業系統可能會回溯到原始的 ISP DNS 伺服器。

2. 手動配置的 DNS 伺服器

如果您手動將您的裝置或路由器配置為使用特定的 DNS 伺服器(例如,Google Public DNS、Cloudflare DNS),這些設定可能會覆蓋您的 VPN 所提供的 DNS 設定,導致您的 DNS 請求繞過 VPN。

3. IPv6 回退

許多 VPN 提供者主要設計用於處理 IPv4 流量。如果您的裝置同時支援 IPv4 和 IPv6,並且 VPN 沒有正確地隧道或封鎖 IPv6 流量,您的裝置可能會嘗試透過您的 ISP 的 IPv6 DNS 伺服器發送 DNS 請求。這會導致洩漏,因為只有 IPv4 流量受到 VPN 的保護。我們的文章 IPv4 與 IPv6 詳細解釋了這些協定。

4. 路由器的 DNS 設定

如果您的路由器本身被配置為使用特定的 DNS 伺服器,並且您的 VPN 無法覆蓋這些設定,那麼任何連接到該路由器的裝置都可能透過該 DNS 伺服器發送 DNS 請求,而不是透過 VPN。

5. VPN 軟體錯誤或配置錯誤

VPN 軟體本身可能有錯誤,或配置不當,無法有效地阻止 DNS 洩漏。低品質或免費的 VPN 服務更有可能存在這些問題。

6. WebRTC 洩漏

雖然 WebRTC 洩漏不是 DNS 洩漏,但它們是另一個隱私威脅,可能會暴露您的真實 IP 位址,即使您使用了 VPN。WebRTC 是一種用於即時通訊的技術,它可能會在沒有 VPN 隧道的情況下揭示您的本地和公共 IP 位址。重要的是要認識到,保護您的 IP 不僅僅是阻止 DNS 洩漏。我們的文章 如何保護您的 IP 提供了更多保護 IP 的方法。

DNS 洩漏的隱私影響

DNS 洩漏會嚴重破壞您使用 VPN 的目的,對您的線上隱私和安全產生重大影響:

  • 您的 ISP 可以看到您的所有瀏覽活動:儘管您的流量可能加密了,但您的 ISP 仍然可以知道您訪問了哪些網站(雖然他們看不到您在網站上做了什麼)。這讓您的 ISP 能夠記錄您的線上行為並建立您的數位檔案。
  • 地理位置暴露:您的 ISP 的 DNS 伺服器通常位於您附近。這會向外部實體洩露您的真實地理位置,即使您的 VPN 聲稱您位於其他國家。
  • 目標廣告和資料共享:ISP 可以利用您的瀏覽歷史來提供目標廣告,甚至可能將您的資料出售給第三方,從而侵蝕您的個人隱私。
  • 繞過內容限制:您可能使用 VPN 存取受地理限制的內容。如果發生 DNS 洩漏,內容提供者可能會看到您真實的 DNS 伺服器,並拒絕您的存取。

這張圖表說明了 DNS 洩漏在 VPN 環境中如何使您的請求繞過 VPN 隧道:

理想情況 (VPN防護)

DNS洩漏發生

您的裝置

發出DNS請求

VPN軟體/用戶端

VPN伺服器

VPN的DNS解析器

目標網站IP

您的ISP的DNS伺服器

您的ISP得知您造訪的網站

如何測試 DNS 洩漏

檢查 DNS 洩漏是一個簡單的過程,可以使用許多線上工具完成。這些工具會分析您的 DNS 請求是透過您的 VPN 伺服器還是您的 ISP 的伺服器解析的。

  1. 在沒有 VPN 的情況下進行初始測試

    • 斷開您的 VPN。
    • 打開您的網路瀏覽器並造訪一個 DNS 洩漏測試網站(例如,搜尋「DNS 洩漏測試」)。
    • 運行測試。記下結果。您應該會看到列出您 ISP 的 DNS 伺服器和您的真實 IP 位址。這將作為基準。
  2. 在有 VPN 的情況下進行測試

    • 連接到您的 VPN。確保它已完全啟動並正常運作。
    • 在同一個 DNS 洩漏測試網站上再次運行測試。
  3. 分析結果

    • 沒有洩漏:如果測試顯示所有 DNS 伺服器都由您的 VPN 提供者營運(或由您的 VPN 提供者指定的第三方隱私 DNS 服務),那麼您的 DNS 請求是安全的。它們不應該與您之前在沒有 VPN 的情況下看到的不洩漏測試中的伺服器匹配。您也應該看到您的 VPN 伺服器的 IP 位址,而不是您的真實 IP 位址。
    • 洩漏:如果測試結果列出了您 ISP 的 DNS 伺服器,或者任何其他與您 VPN 提供者無關的 DNS 伺服器,那麼您就存在 DNS 洩漏。這意味著您的線上活動正在洩露給您的 ISP。

請記住,有時您可能會看到一些不屬於您的 VPN 提供者的 DNS 伺服器,例如 Google 或 Cloudflare 的公共 DNS 伺服器。這本身不一定是洩漏,如果您的 VPN 專門配置為將您的 DNS 請求透過這些受信任的公共解析器路由,則可能沒問題。關鍵是這些請求是透過 VPN 隧道路由的,而不是直接從您的裝置發送的。

如何修復 DNS 洩漏

如果您的裝置存在 DNS 洩漏,您可以採取幾個步驟來修復它並保護您的線上隱私:

1. 使用高品質的 VPN 服務

這是最關鍵的一步。信譽良好、付費的 VPN 提供者通常會在其軟體中內建 DNS 洩漏保護。他們會確保所有 DNS 請求都透過他們的伺服器處理,並提供額外的功能來防止洩漏。選擇一個值得信賴的 VPN 提供者,而不是依賴免費或不知名的服務,這對於保護您的線上安全至關重要。如果您想了解 VPN 與 Proxy 之間的差異,請參考我們的文章:VPN 與 Proxy

2. 在您的 VPN 應用程式中啟用 DNS 洩漏保護

許多 VPN 應用程式都有專門的選項來啟用 DNS 洩漏保護。檢查您的 VPN 用戶端的設定,並確保已啟用此功能。這通常可以在 VPN 應用程式的「設定」、「隱私」或「安全」部分找到。

3. 刷新您的 DNS 快取

您的作業系統會儲存(快取)最近解析的 DNS 查詢,以加快網站載入速度。如果這些快取項目過時或損壞,它們可能會導致您的裝置在您連接到 VPN 時嘗試使用舊的 DNS 設定。

  • Windows:打開命令提示字元(以管理員身份運行),然後鍵入 ipconfig /flushdns 並按 Enter。
  • macOS:打開終端機,然後鍵入 sudo killall -HUP mDNSResponder 並按 Enter(您可能需要輸入您的管理員密碼)。
  • Linux:命令因發行版和使用的 DNS 服務而異。常見的命令包括 sudo systemctl restart network-managersudo /etc/init.d/nscd restart

4. 手動配置您的裝置 DNS 伺服器

您可以將您的裝置配置為使用隱私友好的公共 DNS 伺服器(例如 Cloudflare 的 1.1.1.1 或 Google Public DNS 的 8.8.8.8)。但是,請注意,如果您的 VPN 沒有正確配置,這仍然可能導致洩漏。此步驟主要是為了確保即使沒有 VPN,您也至少使用了更隱私友好的 DNS 服務,而不是您的 ISP 的服務。為了透過 VPN 隧道發送這些請求,您的 VPN 仍然需要正確配置。

  • Windows

    1. 打開「設定」>「網路和網際網路」>「乙太網路」或「Wi-Fi」。
    2. 點擊您當前的網路連接。
    3. 向下捲動到「DNS 伺服器指定」並點擊「編輯」。
    4. 將「自動 (DHCP)」更改為「手動」。
    5. 打開 IPv4,然後輸入您選擇的 DNS 伺服器(例如,首選 DNS:1.1.1.1,備用 DNS:1.0.0.1)。對 IPv6 進行類似操作(例如,首選 DNS:2606:4700:4700::1111,備用 DNS:2606:4700:4700::1001)。
    6. 點擊「儲存」。
  • macOS

    1. 打開「系統設定」>「網路」。
    2. 選擇您當前的網路連接(例如,Wi-Fi)。
    3. 點擊「詳細資訊…」。
    4. 選擇「DNS」選項卡。
    5. 點擊底部的「+」按鈕添加新的 DNS 伺服器,或選擇現有的並點擊「-」將其刪除。
    6. 輸入您選擇的 DNS 伺服器。
    7. 點擊「好」和「應用」。

5. 禁用 IPv6

如果您的 VPN 不支援 IPv6 隧道傳輸,並且您懷疑這是洩漏的原因,您可以考慮在您的作業系統中禁用 IPv6。這會強制您的裝置僅使用 IPv4,從而確保所有流量都透過您的 VPN 的 IPv4 隧道。

  • Windows

    1. 打開「控制台」>「網路和共用中心」。
    2. 點擊左側的「變更介面卡設定」。
    3. 右鍵點擊您當前的網路連接(例如,乙太網路或 Wi-Fi),然後選擇「內容」。
    4. 取消勾選「網際網路通訊協定第 6 版 (TCP/IPv6)」。
    5. 點擊「確定」。
  • macOS

    1. 打開「系統設定」>「網路」。
    2. 選擇您當前的網路連接。
    3. 點擊「詳細資訊…」。
    4. 選擇「TCP/IP」選項卡。
    5. 對於「配置 IPv6」,選擇「僅本地連結」或「關閉」(如果可用)。
    6. 點擊「好」和「應用」。
  • Linux

    1. 這因發行版和網路管理器而異。通常涉及編輯 /etc/sysctl.conf 並添加或修改行以禁用 IPv6,例如: net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 然後運行 sudo sysctl -p 以應用更改。

6. 檢查和配置您的路由器

如果您的路由器強制使用特定的 DNS 伺服器,那麼連接到它的所有裝置都可能遇到 DNS 洩漏。

  1. 登入您路由器的管理介面(通常透過在瀏覽器中輸入路由器的 IP 位址,例如 192.168.1.1)。
  2. 尋找 DNS 設定。將它們更改為「自動」或使用您信任的隱私 DNS 伺服器,或如果您的 VPN 路由器配置支援,則使用 VPN 的 DNS。
  3. 儲存更改並重新啟動路由器和您的裝置。

7. 更新您的 VPN 用戶端和作業系統

確保您的 VPN 軟體和作業系統是最新的。軟體更新通常包含錯誤修復和安全改進,可以修復潛在的 DNS 洩漏漏洞。

8. 聯繫您的 VPN 客戶支援

如果您已經嘗試了所有這些步驟,但仍然存在 DNS 洩漏,請聯繫您的 VPN 提供者的客戶支援。他們可能能夠提供特定於他們服務的進一步故障排除步驟。

結論

DNS 洩漏是一個嚴重的隱私漏洞,會讓您的線上活動曝光給您的 ISP,即使您正在使用 VPN。了解它們如何發生以及如何修復它們對於維護您的數位隱私至關重要。定期測試您的 VPN 是否存在 DNS 洩漏,並採取主動措施來確保您的 DNS 請求透過您的 VPN 安全地路由,是安全、私密線上體驗的基礎。不要讓您的 VPN 提供的安全感給您虛假的安全錯覺——請務必檢查!