什麼是 DNS 汙染,一句話:你的裝置問「這個域名對應哪個 IP」,答案還沒從真正的 DNS 伺服器回來,路上就有人搶先塞給你一個錯誤的 IP,於是網址明明沒打錯,頁面卻打不開、超時,或者跳到一個莫名其妙的地方。它不是你的網路壞了,也不是網站掛了,而是「查地址」這一步被人插了話。和它經常被混在一起的 DNS 洩露是另一回事:洩露是你的查詢被別人看見,汙染是別人給你假答案。網站完全打不開時,被換掉的 DNS 答案只是三種常見原因之一;怎麼把它和網站故障、網路攔截區分開,在網站打不開:五步判斷裡。
這篇講它怎麼發生、怎麼判斷自己遇到的是不是它、加密 DNS 能防到哪一步,以及為什麼把解析放進隧道才是根本解法。
| 判斷方法 | 說明 |
|---|---|
| 換個 DNS 再試 | 能開就是汙染 |
| 行動數據能開 | 網路差異 |
| 返回奇怪 IP | 典型汙染 |
| 隧道內解析 | 根本解法 |
DNS 汙染是怎麼發生的
傳統 DNS 查詢是明文的 UDP 包,沒有簽名,誰先回答裝置就信誰。國際出口和某些網路裝置會監聽經過的 DNS 查詢,一旦看到特定域名,就立刻回一個偽造的答案,比真正的伺服器快得多。裝置拿到假 IP 去連,自然連不上。這個機制對所有經過它的明文查詢有效,不管你把 DNS 伺服器設成誰,因為攔截的是問題本身,不是你問誰。所以「換個 DNS 伺服器」對汙染基本無效,這是它和普通 DNS 故障最大的區別。
| 它怎麼發生 | 步驟 |
|---|---|
| 你發出域名查詢 | 明文 |
| 路上有人搶答 | 返回錯誤地址 |
| 你的裝置信了 | 連到錯誤地方 |
怎麼判斷是不是汙染
- 同一個域名,不同網路結果不同。 手機行動數據和家裡 Wi‑Fi 解析出的 IP 不一樣,或者一個能開一個不能。
- 解析出來的 IP 很奇怪。 明顯不屬於那家公司的地址段,或者是保留地址。
- 換加密 DNS 後能開了。 用 DNS over HTTPS 查到的 IP 和明文查到的不同,而且能連上。
- 用隧道內解析能開了。 這是最直接的證據。
如果你換了任何 DNS 伺服器都拿到同一個錯誤答案,幾乎可以確定是汙染而不是配置問題。DNS 本身的工作原理在DNS 洩露是什麼意思裡有一節說明。
| 怎麼判斷 | 現象 |
|---|---|
| 換加密 DNS 後能開 | 是解析層的問題 |
| 換了還是不行 | 問題在更深的層 |
| 不同網路結果不同 | 和網路有關 |
加密 DNS 能防什麼、防不了什麼
DNS over HTTPS 或 DNS over TLS 把查詢封在加密連線裡,路上的人看不到你在問什麼,也就無法針對特定域名搶答,汙染這一步被堵住了。能防的:明文查詢被搶答。防不了的:拿到正確 IP 之後,到那個 IP 的連線本身仍可能被過濾;加密 DNS 服務商的地址本身也可能被過濾,導致查詢發不出去;而且你的真實 IP 仍然暴露給 DNS 服務商。怎麼選加密 DNS 見DNS over HTTPS 怎麼選。
| 加密 DNS | 能否解決 |
|---|---|
| 路上有人搶答 | 能防 |
| 目標地址被阻斷 | 防不了 |
| 協議被識別 | 防不了 |
| 解析伺服器自己看到你查什麼 | 防不了 |
怎樣防範 DNS 汙染:隧道內解析
在代理或 VPN 客戶端裡開啟遠端 DNS 或 fake-ip 模式,「查地址」這一步就在隧道另一端完成:查詢在隧道里加密傳到境外伺服器,由它去問真正的 DNS,答案再傳回來。路上沒人看得到查詢,也沒人能搶答。同時它順手解決了洩露:電信業者拿不到域名列表。這就是為什麼各家教程都強調「DNS 要進隧道」,它一次解決兩個問題。
配置要點:Clash 系客戶端把 DNS 模組的 enhanced-mode 設為 fake-ip,nameserver 填經代理發出的加密 DNS;Xray 系客戶端在 DNS 設定裡指定遠端解析器,並把 DNS 出站指向代理;iOS 客戶端在設定裡填 DNS 覆寫。操作細節在Clash Verge 使用教程與排錯。
常見誤區
「我用了公共 DNS 就沒事了。」 明文查詢不管發給誰都會被搶答,除非查詢本身加密。
「汙染就是被封了。」 不完全是。汙染隻影響查地址,有些域名解析被汙染、直連 IP 卻能通;也有域名解析正常、連線被過濾。兩者經常同時出現,但機制不同。
「改 hosts 檔案一勞永逸。」 短期可用,但目標站換 IP 你就得跟著改,而且 hosts 對 HTTPS 證書沒有幫助,還容易忘掉當初為什麼改。
兩分鐘自查 DNS 汙染
- 在客戶端關閉狀態下,用系統的 nslookup 或 dig(或域名 DNS 記錄查詢)查一個境外域名,記下 IP。
- 開啟客戶端並開啟隧道內解析,再查一次,對比。
- 開啟我的 IP 是什麼確認隧道生效,跑一次IPv6 洩露檢測,IPv6 繞過隧道時 DNS 也常常跟著繞過。
檢測結果看不明白,就把看到的東西連同你的環境一起交給 AI。
幫我看懂洩露檢測的結果。
檢測顯示:出口地址(哪個)、國家(哪個)、
DNS 伺服器(把顯示的都列出來)、
WebRTC(某個地址 / 什麼都沒有)。
隧道:已連線。客戶端:(名稱)。瀏覽器:(哪個)。
告訴我哪些是洩露、哪些是正常表現,先修哪一個。
如果憑這些判斷不了,說明還要看什麼。
什麼是不能承諾的
加密 DNS 和隧道內解析能堵住汙染和洩露這兩個環節,堵不住到目標 IP 的連線被過濾,也堵不住 DNS 服務商本身被過濾。它們是必要條件,不是充分條件。法律層面:在中國大陸,國際聯網須使用國家公用電信網提供的國際出入口通道,個人使用未經批准的渠道屬於違反相關規定;使用代理與否由你自己判斷並承擔責任,本文是技術說明,不構成法律意見。
404 VPN 的客戶端把 DNS 查詢預設放在 VLESS 或 WireGuard 隧道內解析,汙染和洩露兩個環節一起堵住,帶 Kill Switch 防止斷線時退回明文 DNS,隱私政策寫明不儲存 DNS 查詢。我們不承諾從中國大陸任何網路都能連上。開始使用請到首頁。