什麼是 DNS 污染,一句話:你的設備問「這個域名對應哪個 IP」,答案還沒從真正的 DNS 伺服器回來,路上就有人搶先塞給你一個錯誤的 IP,於是網址明明沒打錯,頁面卻打不開、超時,或者跳到一個莫名其妙的地方。它不是你的網絡壞了,也不是網站掛了,而是「查地址」這一步被人插了話。和它經常被混在一起的 DNS 泄露是另一回事:泄露是你的查詢被別人看見,污染是別人給你假答案。
這篇講它怎麼發生、怎麼判斷自己遇到的是不是它、加密 DNS 能防到哪一步,以及為什麼把解析放進隧道才是根本解法。
它怎麼發生
傳統 DNS 查詢是明文的 UDP 包,沒有簽名,誰先回答設備就信誰。國際出口和某些網絡設備會監聽經過的 DNS 查詢,一旦看到特定域名,就立刻回一個偽造的答案,比真正的伺服器快得多。設備拿到假 IP 去連,自然連不上。這個機制對所有經過它的明文查詢有效,不管你把 DNS 伺服器設成誰,因為攔截的是問題本身,不是你問誰。所以「換個 DNS 伺服器」對污染基本無效,這是它和普通 DNS 故障最大的區別。
怎麼判斷是不是污染
- 同一個域名,不同網絡結果不同。 手機流動數據和家裏 Wi‑Fi 解析出的 IP 不一樣,或者一個能開一個不能。
- 解析出來的 IP 很奇怪。 明顯不屬於那家公司的地址段,或者是保留地址。
- 換加密 DNS 後能開了。 用 DNS over HTTPS 查到的 IP 和明文查到的不同,而且能連上。
- 用隧道內解析能開了。 這是最直接的證據。
如果你換了任何 DNS 伺服器都拿到同一個錯誤答案,幾乎可以確定是污染而不是配置問題。DNS 本身的工作原理在DNS 泄露是什麼意思裏有一節説明。
加密 DNS 能防什麼、防不了什麼
DNS over HTTPS 或 DNS over TLS 把查詢封在加密連接裏,路上的人看不到你在問什麼,也就無法針對特定域名搶答,污染這一步被堵住了。能防的:明文查詢被搶答。防不了的:拿到正確 IP 之後,到那個 IP 的連接本身仍可能被過濾;加密 DNS 服務商的地址本身也可能被過濾,導致查詢發不出去;而且你的真實 IP 仍然暴露給 DNS 服務商。怎麼選加密 DNS 見DNS over HTTPS 怎麼選。
隧道內解析:根本解法
在代理或 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 證書沒有幫助,還容易忘掉當初為什麼改。
兩分鐘自查
- 在客戶端關閉狀態下,用系統的 nslookup 或 dig 查一個海外域名,記下 IP。
- 開啓客戶端並開啓隧道內解析,再查一次,對比。
- 開啟我的 IP 是什麼確認隧道生效,跑一次IPv6 泄露檢測,IPv6 繞過隧道時 DNS 也常常跟着繞過。
什麼是不能承諾的
加密 DNS 和隧道內解析能堵住污染和泄露這兩個環節,堵不住到目標 IP 的連接被過濾,也堵不住 DNS 服務商本身被過濾。它們是必要條件,不是充分條件。法律層面:在中內地地,國際聯網須使用國家公用電信網提供的國際出入口信道,個人使用未經批准的渠道屬於違反相關規定;使用代理與否由你自己判斷並承擔責任,本文是技術説明,不構成法律意見。
404 VPN 的客戶端把 DNS 查詢預設放在 VLESS 或 WireGuard 隧道內解析,污染和泄露兩個環節一起堵住,帶 Kill Switch 防止斷線時退回明文 DNS,私隱政策寫明不保存 DNS 查詢。我們不承諾從中內地地任何網絡都能連上。開始使用請到首頁。