VPN 顯示已連線,不代表所有 DNS 查詢一定都走同一條路。DNS 負責將網域名稱轉換成 IP 位址;如果作業系統、瀏覽器或某個應用程式仍使用原本網路的解析器,查詢可能繞過 VPN 通道。這不等於瀏覽內容必然已被看見,但會讓網路路徑與預期不同,也可能造成地區判斷或網站連線異常。
排查時要把「對外 IP」、「DNS 解析器」和「實際應用程式流量」分開檢查。先確認測試條件一致,再依結果檢查分流、IPv6、瀏覽器加密 DNS 與 Kill Switch。不同系統和相容客戶端的選單名稱不盡相同,請以目前版本提供的功能為準,不要只因為畫面顯示已連線,就假設所有流量都已受保護。
先釐清:DNS 外洩測試在檢查什麼
建立 VPN 連線後,對外 IP 查詢通常用來確認目前網站看到的出口位址;DNS 測試則觀察查詢由哪些解析器處理。兩者不是同一件事:對外 IP 已改變,仍可能有 DNS 查詢走原本網路;反過來說,DNS 測試顯示的解析器名稱也不一定直接揭露個人身分,還要看解析器所屬服務、查詢路徑及網路環境。
測試網站通常會要求瀏覽器查詢一組測試網域,再依收到的查詢推測解析器。結果可能受到瀏覽器快取、作業系統快取、私有 DNS、企業網路及測試網站判讀方式影響。某個解析器顯示為電信業者或所在國家,值得進一步核對,但不能單憑名稱便斷定發生外洩;VPN 供應商的解析器也未必會使用容易辨認的名稱。
此外,DNS 解析器能看到送到它那裡的網域查詢,但這與讀取 HTTPS 網頁內容不同。HTTPS 會加密瀏覽器與網站之間的內容;DNS 隱私、連線加密和網站身分驗證是不同層次,不能互相取代。測試時也不要在陌生網站輸入帳號、密碼或訂閱連結,只需使用其公開的檢查功能。
建立一致的測試條件
先記下目前連線方式、VPN 客戶端名稱與選取的線路,並關閉其他可能接管網路的代理或 VPN 軟體。同時使用兩個代理客戶端,可能造成路由、虛擬網路介面或 DNS 設定互相覆蓋,令測試結果難以解讀。如果目前使用 Clash Verge、sing-box、Shadowrocket 或其他相容客戶端,確認訂閱已成功匯入、選取的設定正在運作,也確認客戶端沒有停留在已匯入但未啟用的狀態。
測試前先確認 VPN 已建立連線,再重新載入對外 IP 與 DNS 檢查頁面。若結果可疑,先清除瀏覽器的 DNS 快取或重新啟動瀏覽器,必要時再斷開並重新連線。每次只改一項設定,並在修改後重測;一次切換多個選項,會讓你無法知道真正影響結果的是哪一項。
檢查作業系統顯示的 DNS 設定也有幫助,但它只反映部分設定狀態,不能單獨證明查詢實際走向。Windows 可檢視網路介面資訊,例如使用 ipconfig /all;macOS 可在系統設定的網路詳細資訊查看 DNS;Linux 則依發行版與網路管理工具而異。行動裝置可檢查系統的 VPN 與 DNS 相關選項。請勿把命令輸出、設定檔或訂閱網址公開貼上,因為其中可能包含裝置或帳戶資訊。
動手檢查:依序確認 IP、DNS 與 IPv6
- 先確認 VPN 連線狀態。查看客戶端是否顯示已連線,並確認目前使用的線路與分流模式。若客戶端提供連線記錄,可留意 DNS 請求是否被本機規則接管;不同軟體的記錄細節不同,不要把沒有顯示記錄直接當成沒有查詢。
- 核對對外 IP。使用可信任的 IP 檢查頁面,記下結果後與斷開 VPN 時的結果比較。若連線後仍看到原本網路的出口,先檢查是否選了全域代理、系統代理或 TUN 模式,以及瀏覽器是否確實使用該代理。單純的系統代理設定不一定會涵蓋所有應用程式。
- 執行 DNS 測試。在 VPN 連線期間使用提供標準 DNS 洩漏檢查的網站,觀察解析器資訊;若測試工具有基本與延伸檢查,依其說明執行。再換一個可信任工具交叉比對,並確認瀏覽器沒有沿用連線前快取的測試結果。
- 查看瀏覽器的安全 DNS。Chrome、Firefox、Edge 等瀏覽器可能有「安全 DNS」、「DNS over HTTPS」或相近設定。這類功能會以加密方式向指定解析服務查詢,但不必然代表查詢使用 VPN 指定的解析器;若它選擇自行連線到另一個服務,可能繞過客戶端的 DNS 分流規則。
- 檢查 IPv6 與分流規則。若網路同時提供 IPv4 和 IPv6,確認 VPN 客戶端是否支援並接管 IPv6,或是否有明確的 IPv6 處理選項。再檢查 DNS 規則、直連清單、應用程式排除項目與本地網域例外,避免把應該透過 VPN 的查詢誤設為直連。
- 記錄修改前後結果。一次只調整一項設定,重新連線並重做相同檢查。測完後恢復不需要的測試選項,並保留自己的設定備註;不要把帶有帳戶資料的完整診斷記錄公開分享。
安全提醒:網路上的 DNS 測試頁面能觀察測試查詢,但不應要求你提供 VPN 密碼、訂閱連結或安裝設定描述檔。遇到這類要求時,請停止操作。
常見原因與調整方式
| 可能原因 | 常見線索 | 建議檢查 |
|---|---|---|
| 分流規則將 DNS 設為直連 | 部分網域正常,其他網域使用原網路解析器 | 檢查 DNS 規則、直連清單與目前選用的規則集 |
| 瀏覽器使用獨立的加密 DNS | 系統 DNS 與瀏覽器測試結果不同 | 核對瀏覽器 DNS 服務選擇,確認是否符合預期路徑 |
| IPv6 未由 VPN 接管 | IPv4 檢查正常,IPv6 測試卻顯示原網路路徑 | 查看客戶端的 IPv6 支援與處理設定,再重新測試 |
| 系統或應用程式保留快取 | 修改後測試結果沒有立即改變 | 清除相關快取或重新啟動應用程式後再測 |
| 多個代理或網路工具同時運作 | 連線狀態反覆變化,或不同應用程式結果不一致 | 暫停其他工具,逐一確認虛擬介面與路由設定 |
調整分流時,先確認問題是全系統發生,還是隻有特定瀏覽器或應用程式發生。若只有瀏覽器結果不同,先查看安全 DNS 設定;若所有應用程式都出現相同狀況,再檢查客戶端的 DNS 接管、系統網路介面和路由規則。企業網路、校園網路或需要本地網域解析的環境可能使用內部 DNS,直接改成任意公共解析器反而會讓內部服務無法使用。
如果客戶端支援 DNS 接管或透過代理處理 DNS,依官方說明啟用並確認規則生效。使用相容客戶端時,不要把其他軟體的設定語法直接複製過來;相同選項名稱在不同實作中可能代表不同作用。VPNGK 支援 Windows、macOS、iOS、Android 和 Linux,客戶端操作方式會因平台與版本不同而異,可參閱使用教學瞭解訂閱匯入與基本連線流程。
IPv6 方面,優先採用客戶端提供的 IPv6 支援或明確的阻擋選項。若目前網路提供 IPv6,而 VPN 客戶端未能處理,暫時停用作業系統的 IPv6 有時可作為診斷手段,但不宜把它當成通用修復方式:這可能影響本地網路、企業服務或其他應用程式。調整後要重新連線並重測 IPv4、IPv6 與 DNS,確認沒有以關閉一項功能掩蓋另一項問題。
- ✅ 先確認 DNS 查詢是系統、瀏覽器還是特定應用程式發出
- ✅ 分流規則只按需求調整,修改後以相同測試條件驗證
- ✅ IPv6 有明確支援時優先使用客戶端的處理方式
- ❌ 不要同時啟用多個會接管 DNS 或路由的工具
- ❌ 不要只因測試網站顯示陌生解析器名稱,就直接認定帳戶或裝置已遭入侵
Kill Switch:處理 VPN 中斷時的流量
Kill Switch 的用途,是在 VPN 連線意外中斷或未建立時,依客戶端實作限制部分或全部網路流量,降低流量自動回到一般網路的可能性。它不會自動修正錯誤的 DNS 分流規則,也不一定會阻止瀏覽器自行使用外部加密 DNS。名稱相同的功能可能有不同觸發條件,設定前應查看客戶端說明,確認它是全域限制、僅在特定模式生效,還是隻限制部分應用程式。
設定後可在不處理敏感工作時進行安全測試:確認 VPN 已連線,再依客戶端提供的方式測試中斷行為;若沒有安全、明確的測試方法,不要自行拔除網路或終止系統服務。觀察網路是否依預期被限制、VPN 恢復後是否能正常重新連線,並檢查 DNS 測試是否符合設定。完成後重新確認 Kill Switch 狀態,避免為了診斷而長時間留下關閉狀態。
部分應用程式需要區域網路或本地印表機連線,也可能需要排除在 VPN 通道之外。這類例外會改變流量路徑,應只針對確有需要的裝置或服務設定,並瞭解例外規則是否涵蓋 DNS。若工作環境有內部網域或管理政策,先遵從管理者提供的設定,不要自行停用安全控制。
常見問題
DNS 測試顯示電信業者名稱,就一定是外洩嗎?
不一定。解析器名稱可能是品牌、上游服務或網路識別資訊,測試網站也可能用推測方式呈現結果。請同時核對對外 IP、客戶端 DNS 設定與另一個可信任測試結果;若查詢路徑確實不符合預期,再檢查分流和瀏覽器安全 DNS。
使用 DNS over HTTPS,是否就不會發生 DNS 外洩?
不一定。DNS over HTTPS 會加密裝置與指定解析服務之間的 DNS 查詢,但查詢是否經過 VPN,仍取決於路由、代理和瀏覽器設定。它也不會自動讓解析器變成 VPN 客戶端指定的解析器。
關閉 IPv6 就能徹底解決問題嗎?
不能保證。停用 IPv6 可能避開未受 VPN 接管的 IPv6 路徑,但也可能影響其他網路功能。先確認 VPN 客戶端是否支援 IPv6,並將停用作為有限的診斷或相容性處理;調整後仍須重新檢查 DNS 與連線結果。
測試顯示沒有 DNS 外洩,代表所有應用程式都安全嗎?
不代表。測試頁面只觀察特定瀏覽器在當下發出的查詢,其他應用程式、命令列工具或不同網路狀態可能使用不同路徑。若需要確認特定軟體,應在相同裝置與連線條件下,檢查該軟體的實際連線方式、客戶端記錄和相應測試結果。