為什麼 DNS 如此重要
DNS(Domain Name System,域名系統)是網際網路的「電話簿」,負責把 example.com 這樣的可讀域名翻譯成機器能識別的 IP 位址。你在瀏覽器裡輸入網址、開啟 App 時,第一步往往就是 DNS 查詢——只有拿到正確的 IP,後續 TCP 連線和 HTTPS 握手才能進行。
在 Clash 這類代理工具中,DNS 不再只是「解析域名」這麼簡單,它直接參與分流決策。Clash 的規則可以按域名匹配(DOMAIN)、按 IP 段匹配(IP-CIDR)、按 GeoIP 判斷歸屬地(GEOIP)。如果 DNS 解析出了錯誤結果,整條分流鏈路都會跟著出錯。
設定不當通常帶來兩類問題:
- DNS 洩漏:本應走代理的域名卻用了本地或電信業者 DNS 解析,既可能暴露存取意圖,也可能因 DNS 污染拿到錯誤 IP,導致連線失敗或繞過了代理。
- 分流錯誤:基於 IP 的規則(如 GEOIP,PRIVATE,DIRECT)依賴正確的解析結果。若需走代理的域名被解析成本地 CDN 節點,可能誤走直連;反之,本地域名若被解析到境外 IP,又會無謂消耗代理流量。
因此,DNS 設定是 Clash 進階調校中繞不開的一環。理解其原理後,你就能解釋「為什麼某個網站突然直連了」「為什麼串流媒體打不開」等常見現象。下文將從污染成因、解析模式到實戰設定,帶你系統掌握 Clash DNS 的完整用法。
DNS 污染與加密 DNS
在未加密的 UDP/TCP DNS 查詢中,請求以明文傳輸,中間網路設備可以竄改回傳結果,這就是常說的 DNS 污染。被污染的域名可能回傳一個錯誤的 IP(常見為 0.0.0.0 或某占位位址),導致網站無法存取或存取到錯誤伺服器。
為應對污染,Clash 支援 DoH(DNS over HTTPS)和 DoT(DNS over TLS)等加密 DNS 協議。加密後,查詢內容不易被竄改,解析結果更可靠。Clash 的 nameserver 與 fallback 機制正是圍繞「主要 DNS 快速解析 + 加密備援」這一思路設計的。
default-nameserver 用於解析 nameserver 和 fallback 中 DoH 域名本身(例如解析 dns.google 的 IP),通常填可靠的 UDP DNS,避免「雞生蛋」的循環依賴問題。
Clash 的兩種解析模式
redir-host
在 redir-host 模式下,Clash 會先向 DNS 伺服器發起真實解析,拿到真實 IP 後再根據規則決定走代理還是直連。邏輯直觀,便於理解,也適合需要真實 IP 做 GEOIP 判斷的場景。
但缺點也明顯:解析需代理的域名時容易遭遇污染,拿到錯誤 IP;每次連線前都要等 DNS 回傳,增加首包延遲;部分應用程式會快取 DNS 結果,與 Clash 的分流策略可能產生衝突。
fake-ip(推薦)
fake-ip 模式下,Clash 為每個待解析域名分配一個保留網段內的「虛假 IP」(預設 198.18.0.0/16,這是 IANA 保留位址,不會與公網真實 IP 衝突)。應用程式拿到 fake-ip 後發起連線,Clash 在本地攔截該連線,根據域名對應表決定走代理還是直連,再建立真實連線。
優勢在於:無需等待真實 DNS 回傳即可快速回應應用程式;域名資訊保留在 Clash 內部,分流更精準;對串流媒體、規則分流相容性更好,也是目前社群最主流的選擇。
一份推薦設定
下面是一份經過大量使用者驗證的 DNS 設定範本,可直接加入你的 Clash 設定檔(上游 DNS 可按網路環境微調):
各欄位含義簡述:
- nameserver:主 DNS,優先用於解析,選擇靠近你所在地區的加密 DNS 伺服器以降低延遲。
- fallback:當 nameserver 回傳的結果被判定為「不可信」(如 GeoIP 不符合預期地區)時,改用 fallback 重新解析,使用加密 DNS 確保結果可靠。
- fallback-filter.geoip:啟用 GeoIP 過濾,若 nameserver 回傳的 IP 歸屬地不符合你設定的地區碼(geoip-code,請改成你所在地區,如 TW),則觸發 fallback。
- fake-ip-filter:排除不需要 fake-ip 的域名,如區域網路 *.lan、部分需要真實 IP 的本地服務。
常見問題與排查
常用網站無法開啟或變慢
可能是 fallback 誤觸發,導致本地域名走了境外 DNS。檢查 fallback-filter 是否正確,或在本地域名規則前新增 DOMAIN 直連規則。也可在 nameserver-policy 中為特定域名指定專用 DNS。
串流媒體提示地區不可用
部分串流媒體會偵測 DNS 與 IP 是否一致。確保串流媒體相關域名走代理,且 DNS 解析也經代理側處理;必要時在規則中為 Netflix、Disney+ 等單獨設定。
區域網路裝置無法互相存取
fake-ip 可能影響 mDNS、Bonjour 等區域網路探索協議。將 *.local、*.lan 加入 fake-ip-filter,或對該網段使用 redir-host。若家中有 Chromecast、AirPlay 等裝置,也建議將其相關域名加入 filter,確保投影螢幕與探索功能正常。
IPv6 相關說明
若你的網路環境暫不需要 IPv6,建議保持 ipv6: false,避免部分應用程式優先走 IPv6 導致分流異常。若已全面啟用 IPv6,可設為 true 並設定 nameserver-policy 為 IPv6 域名指定專用解析路徑,確保 v4/v6 流量均能正確分流。
驗證是否生效
設定完成後,建議按以下步驟驗證:
- 存取 DNS 洩漏偵測網站(如 dnsleaktest.com),確認解析出口與預期一致,代理開啟時不應暴露本地電信業者 DNS。
- 分別存取常用的本地網站和需走代理的網站,確認前者直連、後者走代理,速度正常。
- 在 Clash 面板或日誌中查看連線記錄,確認域名與規則匹配符合預期。
- 關閉再開啟代理,觀察應用程式是否仍能正常解析,排除 DNS 快取導致的異常。
小結
合理的 DNS 設定是穩定代理體驗的基礎。推薦使用 fake-ip 模式,配合「主要加密 DNS + 備援加密 fallback + GeoIP 過濾」的分流策略,既能防洩漏、防污染,又能保持良好的存取速度。遇到區域網路或特殊應用問題時,善用 fake-ip-filter 和 nameserver-policy 做精細調整。設定完成後務必實測驗證,並根據實際網路環境持續最佳化。掌握 DNS 設定後,你將能獨立解決大部分與解析相關的連線異常,為後續的規則分流和代理組調校打下堅實基礎。
準備好體驗 Clash 了嗎?
前往 Clash 官方網站下載用戶端,按教學匯入訂閱,Windows / macOS / Android / iOS / Linux 全平台支援,幾分鐘即可上手。