macOS 版 Clash Verge Rev 如何設定 Fake-IP DNS?

想在 Mac 上啟用 Clash Verge Rev 的 Fake-IP DNS,卻找不到正確選項?本文會帶你從配置檔到 DNS 參數逐步完成設定,並提供簡單的驗證方式,協助排查解析失敗、分流不準或設定沒有生效等情況。

Fake-IP DNS 的作用與適用情境

在 macOS 上使用 Clash Verge Rev 時,Fake-IP DNS 不是單純把系統 DNS 換成另一個伺服器,而是由 mihomo 核心接管 DNS 請求,先替網域配置一個虛擬 IP,再根據這個虛擬 IP 找回原始網域,最後依照規則決定直連或經過代理。這種方式能讓 Clash 優先使用網域名稱進行分流,避免應用程式只留下 IP 位址後,導致 DOMAIN-SUFFIX、GEOSITE 等網域規則難以發揮作用。

Fake-IP 常用的位址範圍是 198.18.0.0/16。這一段屬於測試用途的保留網段,正常情況下不會被當成真實的公網目標。當瀏覽器查詢 example.com 時,Clash DNS 可能回覆一個類似 198.18.12.34 的虛擬位址;瀏覽器隨後連線到該位址,mihomo 再透過內部映射表還原出原始網域,讓規則引擎可以繼續判斷。

這個模式特別適合需要依網域分流、希望減少本機明文 DNS 查詢,或需要讓不遵循系統代理的應用程式配合 TUN 運作的情境。不過它並非所有環境都能直接套用。區域網路主機、部分印表機、NAS、遊戲啟動器、NTP 校時與某些依賴真實 IP 的程式,收到 Fake-IP 後可能無法正常連線,因此必須搭配合理的 fake-ip-filter

先確認核心支援 Fake-IP

Clash Verge Rev 的介面版本與內建核心版本可能不同。開啟設定檔後,先確認使用的是 mihomo 或 Clash Meta 核心,再檢查設定檔是否能識別 enhanced-mode: fake-ip。如果核心太舊、設定被用戶端覆寫,或使用的是不支援該欄位的核心,Fake-IP 選項可能不會生效。

設定前的檔案與權限準備

設定之前,先在 Clash Verge Rev 中選定目前實際使用的設定檔。許多使用者修改了本機 YAML 檔案,卻仍然啟用另一份訂閱設定檔,結果看起來像是參數完全沒有作用。進入「設定檔」或「Profiles」頁面,確認目前被選取的檔案名稱,再使用該設定檔的編輯功能修改內容。

如果設定檔來自訂閱網址,不建議直接改動供應商原始檔案。訂閱更新時,遠端內容可能會覆蓋本機修改。較穩妥的方式是建立覆寫設定,或使用 Clash Verge Rev 提供的 Merge、Mixin、覆寫等功能,把 DNS 與 TUN 相關欄位放在獨立檔案中。不同版本的介面名稱可能略有差異,但原則相同:遠端設定負責節點與基本規則,本機覆寫負責固定的 DNS、TUN 與裝置偏好。

  • 備份目前設定。先複製一份可以正常連線的 YAML,修改失敗時能快速還原。
  • 確認使用核心。Fake-IP、dns-hijackrespect-rules 等欄位主要以 mihomo 的語法與行為為準。
  • 避免重複 DNS 設定。同一份設定檔不要放多個 dns: 區段,YAML 重複鍵可能被後面的內容覆蓋,造成難以判斷的結果。
  • 保留有效的代理埠。DNS 設定與混合代理埠是兩回事,不要把 7890 或其他代理埠誤填到 DNS listen 欄位。

加入 Fake-IP DNS 設定

以下範例適合以 mihomo 為核心的 macOS 環境。實際上游 DNS 可以依網路環境調整;範例中的位址僅用來示範格式,請不要把明顯的測試位址當成可用的實際服務。若使用 DoH,default-nameserver 通常填純 IP,讓核心能先解析 DoH 伺服器的網域;nameserver 則填平時使用的主要上游。

dns:
  enable: true
  ipv6: false
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter:
    - "*.lan"
    - "*.local"
    - "+.home.arpa"
    - "time.*.com"
    - "time.*.gov"
  default-nameserver:
    - 192.0.2.53
  nameserver:
    - https://dns.example.invalid/dns-query
  proxy-server-nameserver:
    - https://dns.example.invalid/dns-query

enable: true 是 DNS 模組總開關;enhanced-mode: fake-ip 才是啟用 Fake-IP 的核心欄位。fake-ip-range 決定虛擬位址使用的網段,通常維持預設的 198.18.0.1/16 即可,不要改成家用路由器正在使用的 192.168.0.0/16,否則可能與區域網路路由衝突。

fake-ip-filter 用來指定不回傳虛擬位址的網域。局域網路名稱、路由器管理頁、家用服務與部分時間同步服務,通常需要真實解析結果。過濾清單不能無限制擴大,若把大量境外網域加入其中,這些查詢就會失去 Fake-IP 的優勢,還可能重新暴露本機解析路徑。

nameserver 是一般網域的主要解析上游;proxy-server-nameserver 用於解析代理節點伺服器的網域,避免節點域名解析必須依賴本機直連 DNS。若你的設定檔已經使用供應商提供的 DNS 欄位,應先理解原有結構,再決定是否覆寫,避免把 nameserver-policyfallback 或既有的分流解析邏輯整段破壞。

不要照抄無效的測試網域

上方的 dns.example.invalid192.0.2.53 是文件示例,不是可直接使用的公共 DNS。實際設定時,請替換成你能正常連線且信任的 DNS over HTTPS 或 DNS over TLS 上游;如果只是測試核心能否啟動,也可以暫時使用可達的純 IP DNS。

在 macOS 開啟 TUN 與 DNS 劫持

只開啟 macOS 系統代理,主要只能接管遵循 HTTP 或 SOCKS 代理設定的應用程式,並不能保證所有 DNS 查詢都進入 Clash。要讓命令列工具、部分桌面應用程式與不遵循系統代理的程式也使用 Fake-IP,通常需要啟用 TUN,並把 DNS 查詢劫持到 mihomo 的 DNS 模組。

tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53

auto-route 讓核心建立並管理必要的路由;auto-detect-interface 會嘗試選擇目前可用的網路介面;stack: mixed 在 TCP、UDP 與不同應用程式相容性之間通常較容易起步。dns-hijack: any:53 的作用是把發往 53 埠的 DNS 流量導入 Clash,而不是讓查詢直接送到 Wi-Fi 路由器或電信商 DNS。

在 Clash Verge Rev 的 macOS 介面中,TUN 可能位於「設定」、「系統設定」、「服務模式」或主畫面的增強模式區域。首次啟用時,macOS 可能要求輸入登入密碼,或在「系統設定 › 隱私權與安全性」允許網路擴充功能。這些權限是建立虛擬網路介面與修改路由所需,不代表節點本身有問題。

如果只想先測試 DNS,不必一開始就把所有功能同時打開。可以先開啟 DNS 與 Fake-IP,確認瀏覽器能正常解析,再啟用 TUN。若兩者同時設定後無法上網,先停用 TUN 做對照,能更快分辨問題來自 YAML、權限、路由或上游 DNS。

動手設定:從編輯到重新載入

下面是一套適合 macOS 的實作流程。操作時建議只修改一組參數,完成一次驗證後再加入額外的 DNS 分流或規則,這樣即使出現錯誤,也容易找出是哪一行造成影響。

  1. 打開 Clash Verge Rev,進入「設定檔」頁面,選取目前正在使用的設定檔,先匯出或複製一份備份。
  2. 在本機覆寫檔或設定檔的 dns: 區段加入 enable: trueenhanced-mode: fake-ip 與合理的 fake-ip-filter,注意 YAML 只能使用空格縮排。
  3. 確認 nameserver 中的上游格式正確。DoH 通常是完整的 https://.../dns-query URL,DoT 則以 tls:// 開頭,不要把兩種格式混寫成普通網域。
  4. 儲存設定後,回到設定檔頁面執行重新載入、更新或套用覆寫。只儲存檔案而沒有重新載入,核心仍可能沿用舊設定。
  5. 在主畫面開啟系統代理;需要接管非代理應用程式時,再開啟 TUN 或增強模式,並依 macOS 提示授予網路權限。
  6. 把代理模式先設成「規則」,選取一個可用的策略組,關閉其他 VPN、網路加速器與代理工具,避免多重虛擬網卡互相搶路由。
  7. 清除瀏覽器 DNS 快取或完全關閉後重新開啟瀏覽器,再進行 Fake-IP 驗證。瀏覽器本身的安全 DNS 若繞過系統代理,也要暫時關閉或改為由系統處理。

若 Clash Verge Rev 顯示設定解析錯誤,先檢查 dns:tun: 是否位於 YAML 根層級,不能放在 proxies: 或某個代理節點底下。接著檢查冒號後是否有空格、清單項目是否使用半形連字號,以及設定檔內是否重複出現同名欄位。

用終端機確認 Fake-IP 是否生效

驗證時不要只看主畫面的「已連線」。連線狀態只能說明核心或代理埠正在運作,不能證明 DNS 已經切換到 Fake-IP。macOS 可以使用終端機執行以下指令:

scutil --dns
nslookup example.com
dig example.com

nslookupdig 的結果中,如果查詢一般網域時得到 198.18.x.x 範圍的回覆,通常表示 Fake-IP 模式已經接管這次解析。也可以在 Clash Verge Rev 的連線或日誌頁面搜尋該網域,確認查詢與後續連線有進入核心。

不過,系統指令的回覆不一定總是直接顯示 198.18 段。macOS 的 DNS 快取、瀏覽器內建 DoH、應用程式自帶解析器,都可能讓結果看起來不同。因此建議依序做三個對照:先清除或重啟產生查詢的應用程式,再用終端機查詢一個全新的網域,最後暫時關閉 Clash 重新查詢,比較兩次結果是否變化。

觀察結果 較可能的原因 下一步處理
回覆為 198.18.x.x Fake-IP 已正常分配 再測試規則分流與實際連線
回覆為真實公網 IP 仍使用 redir-host、系統快取或其他 DNS 檢查生效設定檔、清除快取並重新載入
查詢逾時 上游 DNS 不可達、TUN 權限或路由衝突 先測試純 IP 上游,再暫停 TUN 對照
網域能解析但網站打不開 規則、Fake-IP 過濾或 IPv6 路徑不匹配 查看日誌,檢查 IPv6 與 fake-ip-filter

解析失敗與分流不準的排查方向

最常見的問題是設定檔已寫入 enhanced-mode: fake-ip,但實際使用的核心仍然讀取另一份設定。先在 Clash Verge Rev 內確認目前活動設定檔,再查看核心日誌是否報告未知欄位或 YAML 解析錯誤。若訂閱每次更新後設定又恢復原狀,應改用覆寫檔,而不是直接編輯遠端訂閱內容。

如果只有部分網站無法開啟,優先檢查 fake-ip-filter 與網域嗅探相關設定。某些區域服務需要真實 IP,應使用精確的過濾項目,不要直接把整個大型網域後綴加入白名單。反過來,如果把常用境外網域放入過濾清單,應用程式可能拿到真實解析結果,造成網域規則與預期不同。

如果境內網站被送往代理,問題不一定在 Fake-IP。Fake-IP 只負責回應與映射,真正的出口仍由 rules 決定。確認規則順序中沒有過早出現 MATCH,PROXY,也檢查 GEOSITEGEOIP 和自訂規則的策略組名稱是否正確。對 IP 規則使用 no-resolve 時,也要理解它會禁止 Clash 為該規則額外解析網域,可能讓原本預期的分流判斷失效。

  • 完全沒有網路。先關閉 TUN,只保留系統代理測試;若恢復正常,通常與網路擴充功能、路由或權限有關。
  • 只有瀏覽器異常。檢查瀏覽器的安全 DNS、代理設定與快取,避免瀏覽器內建 DoH 繞過 Clash。
  • 只有區域網路異常。把路由器、NAS 或內網後綴加入精確的 fake-ip-filter,並確認內網 IP 段走 DIRECT
  • 重啟後設定失效。確認覆寫檔仍被啟用,且 Clash Verge Rev 有權限載入網路服務與 TUN 輔助元件。

不要同時修改太多項目

一次加入 Fake-IP、fallback、DNS 分流、IPv6 與多條規則,出錯後很難定位。建議先讓單一 nameserver 配合 Fake-IP 正常工作,再逐步加入備援上游與進階規則,每次修改後都重新載入並測試。

日常使用時的穩定設定建議

Fake-IP DNS 正常運作後,不代表所有流量都自動走代理。日常可使用「規則」模式,讓國內站點、內網服務與明確的直連規則保持 DIRECT,其他目標再交給代理策略組。需要排查某個網站時,可短暫切換到「全域」模式,這能協助判斷問題是出在規則還是連線本身,但不建議長時間把所有流量都送往代理。

IPv6 是 macOS 上容易被忽略的因素。若設定 ipv6: true,但 TUN、上游 DNS 或代理鏈路沒有完整處理 IPv6,應用程式可能優先取得 AAAA 記錄,最後從另一條路徑連線。遇到「部分網站可以開、部分網站逾時」時,可先暫時設定 ipv6: false 做對照;確認環境完整支援 IPv6 後,再重新開啟。

上游 DNS 不宜堆疊過多。選擇一至三個穩定、延遲合理的服務即可,並觀察日誌中的逾時與失敗紀錄。若使用 DoH 或 DoT,確保代理節點域名能透過 default-nameserverproxy-server-nameserver 完成引導解析,否則可能出現「節點可選取,但連線時找不到伺服器」的情況。

最後,保留一份已驗證可用的設定備份。當訂閱更新、核心升級或 macOS 更新後出現異常,可以先還原備份,再逐項比較差異。這比反覆刪除整個設定檔更容易保留原本的節點、規則與策略組。

完成設定後的下一步

macOS 版 Clash Verge Rev 的 Fake-IP DNS 設定,重點是確認 mihomo 核心、正確套用活動設定檔、啟用 DNS 模組與 Fake-IP,並在需要時用 TUN 和 dns-hijack 接管系統查詢。完成後先用 nslookupdig 驗證,再檢查規則分流與區域網路相容性。

下載 Clash 用戶端

規則分流的前提是用戶端先接管流量。前往下載中心依平台選擇用戶端,再回到教學文章完成系統代理或 TUN 接管設定。

下載Clash