連線疑難排解 · Clash 技術部落格

Clash 已連線但無法上網怎麼辦?DNS、Fake-IP 與規則檢查

“已連線”不能證明目標請求成功。根據本機代理錯誤、解析失敗、節點超時或僅 TUN 斷網,檢查對應設定;結合系統代理、直連和 Connections 對照,保留具體規則、出口與日誌錯誤。

  • 無法上網
  • DNS
  • 疑難排解
本文目錄

代理應用程式顯示「已連線」,只是排查的起點;真正要確認的是剛才存取的目標有沒有回傳結果。網頁立即出現代理錯誤、只有網域名稱失敗,或啟用虛擬網卡後整台裝置斷網,需要檢查的位置並不相同。記錄具體症狀,能避免把規則、節點與系統設定一起改亂。

顯示已連線,不代表請求已經成功

記錄失敗目標、錯誤原文與目前模式,再依下表選擇檢查項目。核心執行不代表代理連接埠可用,節點可達也不代表 DNS 正常,這些結果需要分別確認。

以下系統代理對照與連接埠檢查適用於 Windows/macOS。Android 使用者先核對 VPN 授權與分應用程式設定,具體操作請見手機教學;已有連線紀錄時,DNS、規則與節點的判斷仍可參考後文。

不同現象的第一檢查點

現象先檢查
所有網站都立即報代理連線失敗系統代理指向的本機位址和連接埠
網域打不開,直接存取 IP 有回應DNS 與瀏覽器安全 DNS
國內正常,需代理網站超時節點、策略群組和規則命中
系統代理正常,一開 TUN 全斷服務、虛擬網路介面卡、預設路由和其他 VPN
只有某個應用失敗該處理程序是否進入 Clash,以及應用自身狀態碼

系統代理、TUN 與直連的對照

關閉 TUN,只保留 Rule 模式與系統代理,重新開啟同一個網頁。系統代理可用而 TUN 斷網,訂閱和節點至少有一條基本可用路徑,重點轉向服務、路由與 DNS;兩種模式都失敗,則先不碰虛擬網路介面卡。

直連測試改用目前網路原本能開啟的網頁;不要沿用必須代理的目標。關閉系統代理後,這類網頁也失敗時,再檢查 Wi-Fi、寬頻、企業驗證或路由器。Clash 無法修復原本就無法上網的網路。

網頁請求有沒有出現在連線頁面?

清空連線記錄,存取一個固定網域。如果完全沒有新請求,瀏覽器可能沒有使用系統代理,連接埠可能寫錯,或應用繞過了目前接管方式;繼續換規則和節點不會改變這一點。

請求已經出現時,記下目標、命中規則、策略群組和錯誤。意外 DIRECT、REJECT、timeout、connection refused 提示的原因不同,應分別檢查。只看系統匣圖示顏色,會漏掉這些具體證據。

一次最小復現

  1. 固定設定和節點

    暫時關閉自動切換,只保留一個出口。

  2. 清空連線與日誌視圖

    避免把背景更新誤認成剛才的網頁請求。

  3. 存取同一個 HTTPS 位址

    記錄是否進入 Clash、命中什麼規則、出現什麼錯誤。

  4. 只改一個變數再重試

    節點、規則、DNS、TUN 不要同時變化。

立即發生錯誤時,核對系統代理和監聽連接埠

瀏覽器一開啟就顯示無法連線到代理伺服器,常見原因是 Windows 或 macOS 仍指向 127.0.0.1 的舊連接埠,而目前用戶端沒有監聽。到用戶端設定讀取實際 mixed-port,再用 netstat、lsof 或 ss 驗證。

連接埠存在時可用 curl -x 顯式請求,區分本機代理入口與系統代理寫入。顯式代理成功、瀏覽器失敗,問題在系統或瀏覽器設定;顯式代理也失敗,才回到核心、節點和日誌。

檢查本機入口
# 将 7890 换成客户端实际端口
curl -I -x http://127.0.0.1:7890 https://example.com

# Windows
netstat -ano | findstr :7890

# macOS / Linux
lsof -nP -iTCP:7890 -sTCP:LISTEN

只有解析表現異常時,才進入 DNS 檢查

網域沒有目標位址、nslookup 失敗,或關閉瀏覽器安全 DNS 後結果改變時,檢查解析入口。暫時關閉瀏覽器 DoH 做對照,再核對系統與 Clash 實際使用的解析路徑,以及 nameserver 是否可達;關閉一個開關不會自動讓兩者使用相同解析設定。

恢復後再決定是否重新開啟瀏覽器的獨立解析。路由器解析與瀏覽器解析並存時,Clash 可能拿不到完整網域。

Fake-IP 虛擬位址與舊快取怎樣區分?

Fake-IP 模式下,網域解析到 198.18.0.0/15 一類位址通常是正常現象:應用先連線這個虛擬位址,Mihomo 再把它還原成網域並匹配規則。看到 198.18.x.x 本身不代表 DNS 被污染,關鍵是連線頁面能否保留原網域並命中預期策略。

真正需要處理的是切換設定、改規則或從 Redir-Host 改到 Fake-IP 後,系統和應用仍拿著舊結果。此時先關閉測試應用,清理系統 DNS 快取,再重啟 Mihomo 核心後重新測試;不要一邊保留舊連線,一邊連續切換增強模式。

NAS、印表機、路由器管理介面和企業內部網域若必須回傳實際內部網路位址,應加入目前設定的 fake-ip-filter 或交給對應內部網路 DNS。驗證結果是這些本機網域仍解析到實際 LAN 位址,而公用網路網域能在連線頁恢復為網域並正確分流。

Windows 切換 DNS 模式後的快取清理
ipconfig /flushdns

請求進入以後,再按規則、節點或 TUN 分開處理

請求命中 DIRECT 後超時

常見原因:可能誤命中直連規則,也可能是本機網路或目標服務不可達

處理方法:先確認是否原本應直連;原本應代理時,才將精確規則放在 GEOIP 與 MATCH 之前,並重做同一請求。

命中代理群組但 dial timeout

常見原因:目前節點、協議或遠端不可達

處理方法:固定另一條已知可用節點對照,不先改 DNS。

本機代理 connection refused

常見原因:連接埠未監聽或系統代理寫錯

處理方法:核對 mixed-port、處理程序狀態和連接埠佔用。

只有 TUN 下全斷

常見原因:服務權限、預設路由、虛擬網路介面卡或其他 VPN 衝突

處理方法:恢復系統代理後逐項檢查,不執行整機網路重置。

參考資料