本文目錄
系統 DNS 為什麼會出現 223.5.5.5?
Clash Party issue #2176 是一名 macOS 使用者在 v2.0.3 上提出的回報:介面選用系統預設 DNS 後,網路服務仍出現 223.5.5.5;手動移除後,重新啟動又會出現。維護者尚未確認這是普遍問題,也未公布已確認修復此問題的版本。
v2.0.3 原始碼顯示,setPublicDNS() 只會在 macOS、偵測到網路連線且 originDNS 為空時,先讀取目前網路服務的 DNS,再嘗試寫入 223.5.5.5。
這條未設定 timeout 的寫入路徑會先請求本機 Helper;請求失敗時才改用需要管理員授權的 networksetup。帶有 timeout 的還原呼叫不會如此回退。不能因此認定 Helper 每次啟動都會無條件改寫 DNS。
同一檔案中的 recoverDNS() 會在保有 originDNS 時嘗試還原原值。介面的「使用系統預設 DNS」與這條系統層級的暫時 DNS 路徑並非同一項設定證據;只改核心 DNS 選項,不足以證明 macOS 網路服務已還原。
本文只處理 Clash Party 使用情境下,macOS 網路服務 DNS 遭改寫的問題,尤其是 v2.0.3 回報的情境。Windows、路由器 DNS、瀏覽器 DoH 與一般代理節點故障需另行排查;看見 223.5.5.5,也不能直接認定是 Clash Party 寫入。
先記錄哪個網路服務的 DNS 發生變化
在 macOS「系統設定 > 網路」選取目前實際連線的 Wi-Fi 或乙太網路服務,再開啟「詳細資訊 > DNS」。Apple 說明這裡會顯示該網路服務的 DNS 伺服器與搜尋網域;不要只看 Clash Party 的核心 DNS 頁面。
先擷取畫面或記下 DNS 清單、網路服務名稱、公司或家中是否原本就有自訂 DNS,以及 Clash Party 版本、TUN 與 Helper 狀態。如果你原本就手動使用 223.5.5.5,或裝置受組織管理,別把這個位址當成異常而直接刪除。
對照開啟 Clash Party 前後同一網路服務的清單,退出應用程式後再查一次。只有目前使用的服務新增該位址時,才繼續依本文處理。Wi-Fi 與乙太網路的 DNS 可能不同;切換網路後,須重新確認正在使用的服務。
先建立可保留原設定的比對基準
確認目前的網路服務
在系統網路設定確認目前使用的是 Wi-Fi、乙太網路還是其他服務,不要憑預設名稱猜測。
記錄原有 DNS
記下原有伺服器與搜尋網域;公司、學校或自訂 DNS 的用途,先向管理員確認。
每次只改一項並對照
在同一網路下,比較啟動前、啟動後與完整退出後的 DNS 清單,不要同時修改訂閱、規則或系統代理。
確認是意外寫入後,如何安全還原?
先在 Clash Party 關閉 TUN 等需要 Helper 的網路接管功能,再完整退出應用程式。關閉 TUN 只是縮小排查範圍,不能保證原始碼中的系統 DNS 路徑不再執行;退出後仍須到 macOS 網路設定核對。
若目前網路服務中只有意外新增的 223.5.5.5,且你已記錄原設定,可依 Apple 說明在 DNS 設定中選取並移除這一筆。不要連同公司原有 DNS、搜尋網域或其他網路服務的設定一起刪除。接著中斷並重新連線目前的網路,確認該服務的 DNS 是否回到預期值。
如果原本是手動指定 DNS,就依紀錄還原原有伺服器;如果原本由網路自動提供,就只移除意外新增的手動項目。Apple 的 networksetup 文件也支援清除指定服務的手動 DNS,但服務名稱和權限不同時風險較高,一般使用者宜優先透過圖形介面操作。
若系統顯示設定受設定描述檔或組織管理,應停止手動修改並聯絡管理員。為了修復一次 DNS 異常而刪除 Clash Party 資料目錄、Helper 檔案或系統 plist,可能導致設定遺失或擴大故障,不屬於本文的回復步驟。
以最少變更還原網路服務
關閉相關模式並退出
關閉 TUN,完整退出 Clash Party,確認應用程式不再接管網路。
只移除意外新增的位址
在實際連線服務的 DNS 清單中,只移除經過對照確認的 223.5.5.5,保留其他原有項目。
重新連線網路
讓目前的 Wi-Fi 或乙太網路重新連線,再回到同一服務的 DNS 頁面核對。
驗證正常連線
在未重新開啟 TUN 的狀態下,造訪一個平常可用的 HTTPS 網站,確認網域名稱能解析且頁面能載入。
還原後如何確認問題真的排除?
先確認系統設定中,該網路服務的 DNS 已回到事先記錄的值,且實際 HTTPS 連線可用。再重新啟動電腦,或重新連上同一網路複查一次;只看到 Clash Party 核心顯示「系統預設 DNS」,不代表系統設定已還原。
若確實需要繼續使用 Clash Party,先保持 TUN 關閉,再啟動應用程式並觀察同一服務的 DNS 是否再次變動。若只在啟動或 Helper 活動後復發,停止使用該模式並記錄確切時序;不要反覆改回 DNS 來掩蓋問題。
若 DNS 不再變動,但網頁仍無法開啟,改查系統代理、目前的 Profile、節點與瀏覽器 DoH。系統網路服務 DNS 與代理軟體內的 DNS 分流位於不同層級,不能只憑單一檢測網站的位址判斷是否還原成功。
還原驗證清單
- 已記錄並確認目前實際連線的網路服務,原有自訂 DNS 與搜尋網域未遺失
- 已從該服務移除意外新增的 223.5.5.5,重新連線後清單符合預期
- 已記錄退出用戶端及再次啟動後兩個階段的 DNS 變化
- 實際 HTTPS 網站能解析並開啟,系統代理與 TUN 狀態符合目前的使用方式
- 若位址再次被寫入,已停止相關模式並保留日誌,未宣稱問題已修復
退出後仍會變動,如何排查其他改寫來源?
如果完整退出 Clash Party 後 DNS 仍被改寫,就不能直接把原因歸於 #2176。檢查是否還有其他 VPN、DNS 過濾器、裝置管理設定或舊用戶端在執行,並觀察同一網路服務的變動時間。不要同時解除安裝多個工具,以免失去對照依據。
Clash Party 的 macOS 專案故障文件列出 Helper 服務名稱 party.mihomo.helper 與服務日誌位置。只有確認它確實屬於目前安裝的版本,才請管理員依專案文件停止該服務,再觀察 DNS 是否停止變動;不要直接刪除 plist、執行檔或整個資料目錄。
若要向上游回報,請附上 macOS 版本、Clash Party 完整版本、目前的網路服務、啟動前後的 DNS 清單、TUN 狀態及第一筆相關日誌。公開螢幕截圖與日誌前,請遮蔽訂閱 URL、節點密碼、裝置識別資訊及個人網路資訊。
退出 Party 後 DNS 仍持續變動
核對其他網路工具、管理設定與 Helper 狀態;只記錄證據,不直接歸因。
重新啟動 Party 後才出現 223.5.5.5
保持 TUN 關閉或暫停使用此用戶端,保留前後對照並在 #2176 回報。
DNS 清單正常,但網頁仍無法開啟
改查系統代理、Profile、節點或瀏覽器 DoH,不要繼續清空網路設定。
DNS 由組織強制設定
停止自行修改,交由管理員確認 DNS 來源及允許使用的代理模式。
還原失敗時,如何回復而不重設整台 Mac?
若移除 223.5.5.5 後連線變差,先依操作前的紀錄還原網路服務的 DNS、搜尋網域與代理狀態,再重新連線。若原設定來自公司或學校,請依管理員提供的值還原;不要把公共 DNS 位址當成所有網路的通用解法。
保持 Clash Party 的 TUN 關閉,並暫停使用疑似會改寫 DNS 的模式。若需要暫時使用代理,先確認系統 DNS 與一般網路連線已還原,再考慮不依賴該 Helper、且已驗證可用的方案;每開啟一項功能,都重新檢查系統 DNS。
不要因為舊版看似正常,就自行降回來源未核對的安裝檔;也不要照搬專案 macOS 安裝故障文件中刪除資料目錄的步驟。目前沒有針對 #2176 的維護者修復結論;後續應依專案 issue、Release 或提交紀錄重新評估。
處理失敗時的回復標準
- 已依事前紀錄還原原有 DNS、搜尋網域與系統代理設定
- 目前的網路服務能完成實際網域解析與 HTTPS 連線
- 疑似改寫 DNS 的模式維持關閉,重新啟動後也未再次寫入
- 設定、日誌與訂閱均已保留,公開回報使用遮蔽敏感資訊的副本
- 沒有刪除 Helper、系統 plist 或整個應用程式資料目錄來強行還原
