Fake-IP DNS 詳解
Fake-IP 是 Clash 系客戶端 DNS 模組的一種工作模式,主要目的是減少 DNS 汙染的影響、降低解析延遲。Clash for Windows 在 TUN 模式下預設受益於這一機制。
工作原理
開啟 Fake-IP 後:
- 客戶端程式向 Clash 發起 DNS 查詢時,Clash 不真正去解析,而是立即返回一個假 IP(從保留網段
198.18.0.1/16中分配),並把這個"假 IP ↔ 域名"的對映記在記憶體裡 - 程式拿著假 IP 發起連線,連線請求到達 Clash
- Clash 根據對映表還原出真實域名,按 規則 決定直連還是走代理;走代理時域名直接交給遠端伺服器解析,本地根本不做真實 DNS 查詢
這樣做的好處:
- 本地零 DNS 洩漏:被代理流量的域名解析發生在遠端,本地 ISP 看不到你查詢了什麼域名
- 解析零延遲:假 IP 是即時分配的,省去了本地遞迴解析的時間
- 天然免疫 DNS 汙染:不查詢就沒有汙染
配置示例
yaml
dns:
enable: true
enhanced-mode: fake-ip # 關鍵欄位:fake-ip 或 redir-host
fake-ip-range: 198.18.0.1/16 # 假 IP 分配網段
fake-ip-filter: # 不使用假 IP 的域名(返回真實解析結果)
- "*.lan"
- "*.local"
- "+.stun.*.*"
- "+.msftconnecttest.com"
- "+.msftncsi.com"
nameserver:
- https://doh.pub/dns-queryfake-ip-filter:哪些域名需要真實解析
有些場景需要拿到真實 IP 才能正常工作,需要加入 fake-ip-filter:
- 區域網發現與投屏:
*.lan、*.local - NAT 型別檢測 / 語音通話:STUN 協議依賴真實 IP
- Windows 網路連通性檢測:
msftconnecttest.com,不排除會導致系統誤判"無 Internet" - 需要直連且按 IP 通訊的服務
Fake-IP vs redir-host
| 對比項 | fake-ip | redir-host |
|---|---|---|
| 本地真實解析 | 不需要(被代理流量) | 需要,先解析真實 IP 再轉發 |
| DNS 汙染影響 | 免疫 | 受影響 |
| 解析延遲 | 幾乎為零 | 有真實查詢開銷 |
| 相容性 | 個別依賴真實 IP 的程式需要 filter | 相容性好 |
| 推薦場景 | TUN 模式、日常代理 | 對相容性要求高的環境 |
Clash for Windows 日常使用保持預設配置即可;遇到某些程式聯網異常時,優先把對應域名加入 fake-ip-filter,而不是關閉 Fake-IP。
