前言:Fake-IP DNS 能做什麼?
在 Windows 上使用 Clash Verge Rev 時,DNS 設定會影響網域名稱如何解析,以及流量能否按照 Clash 的規則正確分流。Fake-IP 是 Mihomo 提供的一種 DNS 模式:當程式查詢網域時,Clash 會先回覆一個保留範圍內的虛擬 IP,再根據連線資訊判斷實際網域與套用的規則。它不會把這個虛擬 IP 當成網站真正的伺服器位址,也不是用來更改你的公網 IP。
這種模式通常適合需要依照網域規則分流的使用情境;但如果 DNS 沒有經過 Mihomo、Windows 上有其他 DNS 工具攔截請求,或設定檔中的 DNS 區塊互相覆蓋,就可能出現網站無法開啟、解析結果不一致等狀況。以下會以 Windows 版 Clash Verge Rev 和 Mihomo 核心為例,說明如何備份設定、加入必要參數,並確認功能是否生效。
開始前先確認
Clash Verge Rev 使用的核心需支援 enhanced-mode: fake-ip。若設定檔由訂閱服務提供,請先確認其格式與核心版本相容,並保留一份原始設定作為還原備份。
1了解 Fake-IP 與 DNS 解析路徑
一般 DNS 解析會回覆網域對應的實際 IP;Fake-IP 模式則先回覆一個虛擬位址,讓 Mihomo 保留網域與連線的對應資訊。當應用程式連線到該位址時,核心可用原始網域比對 rules,再決定使用代理、直連或其他策略。因此,Fake-IP 的用途主要是協助核心掌握網域資訊,不代表所有連線必然走代理,也不會自動修正錯誤的分流規則。
Fake-IP 和「上游 DNS」是兩個不同層次的設定。enhanced-mode 決定核心向用戶端提供哪種解析模式;nameserver 則指定核心向哪些 DNS 伺服器查詢實際網域。更改上游 DNS 並不等於已啟用 Fake-IP,而只設定 Fake-IP,也不保證 Windows 上每個應用程式都會把 DNS 請求交給 Clash。
- Fake-IP 位址範圍:核心用來回覆虛擬解析結果的保留網段,應避免與實際網路中的重要網段衝突。
- 上游 DNS:用於取得真實網域解析結果的伺服器,可依自己的網路環境選擇可連線的服務。
- DNS 接管:決定 Windows 或應用程式發出的 DNS 請求是否會送到 Mihomo,常與 TUN 模式和 DNS 攔截設定有關。
重要區別
Fake-IP 不是加密 DNS,也不是獨立的隱私保護保證。DNS 請求是否加密,取決於你設定的上游協定與實際連線路徑。
2找到設定檔並先做好備份
先開啟 Clash Verge Rev,確認目前正在使用的設定檔與核心。不同版本的介面名稱可能略有差異,通常可從左側的「配置」或「Profiles」頁面選取目前啟用的設定檔,再使用編輯、開啟檔案位置或類似功能檢視 YAML。若介面沒有直接提供編輯器,也可以從設定檔所在資料夾開啟對應的 .yaml 或 .yml 檔案。
- 記下目前啟用的設定檔名稱,並確認該檔案確實是 Mihomo 正在載入的配置。
- 將原始 YAML 複製一份到其他資料夾,檔名可標示為備份,方便設定錯誤時還原。
- 搜尋檔案中的頂層
dns:區塊。如果已經存在,應編輯原有區塊,不要再新增第二個同層的dns:。 - 保留訂閱產生的節點、代理群組和規則;這次只調整 DNS 相關欄位。
小撇步
如果你使用遠端訂閱,直接修改下載回來的設定檔,可能會在更新訂閱時被新內容覆蓋。後文會說明如何降低這種情況發生的風險。
3加入 Fake-IP DNS 參數
在目前設定檔的頂層新增或合併以下 DNS 區塊。YAML 對縮排很敏感,請使用空格而非 Tab,並確認 enable、enhanced-mode 等欄位都是 dns: 的子項目。範例中的上游 DNS 只是示意,請按所在地區、網路政策及服務可用性選擇;不必照抄同一組伺服器。
listen 指定 Mihomo 提供 DNS 服務的監聽位址與連接埠;這個範例使用本機回環位址和非預設連接埠,可降低與 Windows 其他 DNS 服務爭用連接埠的機會。這也代表單靠系統預設 DNS 查詢,不一定會自動經過這個監聽位址;是否接管一般應用程式的 DNS,還要看 TUN 與客戶端的 DNS 設定。
fake-ip-range 是 Fake-IP 使用的位址範圍,通常保留預設值即可。fake-ip-filter 用來指定不適合回覆虛擬位址的網域,例如區域網路或 Windows 網路連線檢查相關網域。不同網路環境的需求並不相同,遇到內網服務、印表機或特定程式解析異常時,可逐項檢查篩選清單,而不是一次加入大量例外。
避免重複或無效設定
若原設定已包含 dns:、listen 或 fake-ip-filter,請合併欄位並確認同一層沒有重複鍵名。重複鍵名的處理方式可能因解析器而異,可能造成部分設定被忽略。
4重新載入並檢查設定是否生效
儲存 YAML 後,回到 Clash Verge Rev 重新載入目前設定檔,或依介面提供的選項重新啟用配置。若你更改了核心或 DNS 相關系統設定,也可以完整退出並重新開啟客戶端。查看核心日誌是否出現 YAML 解析錯誤;若有錯誤,先依照提示檢查冒號、縮排、引號與重複欄位,不要在配置仍無法載入時繼續排查網路。
- 確認 Clash Verge Rev 顯示的是剛修改的設定檔,且核心已正常啟動。
- 若需要接管一般程式的 DNS,檢查 TUN 模式是否符合你的使用方式,並確認 DNS 攔截相關設定沒有被停用。
- 清除 Windows 本機 DNS 快取,再重新開啟目標網站或應用程式,避免舊的解析結果影響判斷。
- 在客戶端的日誌或連線頁面查看新連線是否出現,以及套用的規則和代理策略是否符合預期。
- 如要檢查 Fake-IP,優先查看 Mihomo 的 DNS 查詢資訊或客戶端提供的 DNS 頁面;不要只依賴 Windows 的一般解析結果。
因為範例監聽的是 127.0.0.1:1053,Windows 一般 DNS 查詢預設使用的連接埠與此不同,所以命令列查詢若沒有明確指定測試方式,可能測到的是系統或其他 DNS 服務,而非 Mihomo。測試結果沒有出現 Fake-IP,不能單獨證明設定失效;應一併核對目前生效的設定檔、核心日誌、DNS 請求是否被導入,以及實際連線是否進入 Clash。
建議的成功判斷方式
設定檔載入無錯誤、核心 DNS 查詢能正常回應、連線頁面可看到目標網域,且規則命中結果合理。多項檢查一致,比只看單一 IP 更可靠。
5排查 DNS 衝突與訂閱覆蓋
若設定完成後仍無法正常解析,先確認問題範圍:是所有網站都無法開啟,還是只有區域網路或特定應用程式異常?再逐項檢查核心是否成功載入 DNS 區塊,以及 Windows 的 DNS 請求是否真的經過 Mihomo。防毒軟體、安全軟體、其他代理客戶端、VPN 和本機 DNS 過濾工具,都可能攔截或改寫 DNS 請求。
- 設定檔載入失敗:檢查 YAML 縮排、欄位名稱、引號與重複的
dns:區塊,必要時先還原備份,再一次修改一項。 - 部分網域無法連線:檢查
fake-ip-filter是否包含相關網域,並確認該網域的分流規則與上游 DNS 回應沒有問題。 - Windows 查詢結果與預期不同:先確認查詢所使用的 DNS 伺服器及連接埠。系統查詢沒有經過 Mihomo 時,結果可能不會顯示 Fake-IP。
- 開啟 TUN 後仍有 DNS 洩漏或解析異常:確認 TUN 已成功啟動、DNS 攔截設定有效,並排除其他 VPN 或 DNS 軟體的衝突。不要同時開啟多個工具接管相同 DNS 流量。
- 更新訂閱後設定消失:遠端訂閱重新產生設定檔時,手動加入的內容可能被覆蓋。檢查 Clash Verge Rev 是否提供設定檔擴充、合併或覆寫功能,並依該版本支援方式保存自訂 DNS;若無法確認,先備份並在更新後重新檢查。
遇到衝突時,建議依序停用其他 DNS 工具、確認只有一個有效 DNS 區塊、重新載入設定,再測試單一網域。不要一開始就改成監聽所有網路介面或任意調整 Windows 網卡 DNS;這些做法可能讓區域網路裝置、其他使用者或本機服務受到影響。若需要變更 DNS 監聽位址,請先確認連接埠沒有被其他服務占用,並了解該位址會向哪些網路介面提供服務。
完成設定後,保留一份已驗證可用的 YAML 備份,並在每次更新訂閱或更換核心後重新檢查。Fake-IP 是否正常,取決於設定檔、核心、Windows 網路路徑與其他 DNS 軟體共同運作;有系統地逐項驗證,通常比反覆更換 DNS 伺服器更容易找到真正原因。