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

Clash 節點超時怎麼辦?延遲測試、切換節點與頻繁斷流檢查

Timeout 只表示測試請求超時,不能單獨證明節點失效。用同一節點復現實際存取,查看規則與日誌,比較單節點、同協議和整份訂閱的結果,並用另一網路對照實際業務。

  • 節點超時
  • 延遲測試
  • 斷流
本文目錄

節點旁的逾時提示很醒目,卻不一定表示你真正要做的事情失敗了。網頁、長時間下載和語音連線的需求不同,排查也要回到實際情境。固定一個節點和一個目標,讓測速結果、連線記錄與日誌能互相對照。

延遲測試顯示 Timeout,實際存取也失敗嗎?

Timeout 表示設定指定的測試位址沒有在超時時間內返回。原因可能是節點不可達、測試 URL 被攔、DNS 失敗或本機網路阻斷。它不能單獨證明整台電腦斷網,也不能判斷影片、下載或 UDP 的效果。

使用同一個節點開啟原本失敗的網站,或執行相同的應用程式操作,記錄實際結果與延遲測試結果。即使延遲較低,也要分別觀察下載能否持續、長篇回覆能否完整結束。

兩種測試回答的問題

測試能說明什麼
節點延遲 / health check測試 URL 在超時時間內是否有回應
瀏覽器開啟目標網站網頁請求是否按預期規則從所選出口完成
長下載或串流回覆連線持續性、封包遺失與中途切換
遊戲或語音UDP 支援、抖動與實際線路品質

固定節點,確認請求是否走到了它

在主要策略群組中選一條具體節點,不使用 url-test、fallback 或 load-balance。模式保持 Rule,開啟 Connections,然後重複同一個網頁或應用動作。固定出口後,成功和失敗才來自同一條路徑。

記錄目標網域、命中規則、節點名稱與協議類型,以及日誌錯誤。連線頁沒有請求,檢查應用是否經過 Clash;顯示 DIRECT,檢查規則;請求已經交給節點後仍超時,再檢查節點連線。

單節點、同協議與全訂閱故障的處理

只有一條節點超時
更像單節點下線、擁堵或伺服器端連接埠變化;換同地區另一節點對照。
同一種協議全部超時
檢查目前核心是否支援設定欄位,以及該協議是否被本機網路限制。
同一訂閱所有節點超時
先看訂閱是否過期、流量是否用完、服務是否有公告,再決定要不要繼續測速。
多個訂閱在目前 Wi-Fi 都失敗
切到手機熱點做對照,檢查故障是否來自本機網路、DNS 或防火牆。
網頁能用,遊戲或語音失敗
單獨驗證 UDP 與 TUN 接管,不能用網頁延遲替代。

單節點故障不需要同時修改 DNS 和 TUN;同一網路中多份訂閱都失敗時,接入網路的對照更有用。

從日誌區分超時、拒絕連線、重置和解析失敗

i/o timeout / context deadline exceeded

路徑在時限內沒有完成,比較節點、網路和目標位址。

TLS handshake timeout / handshake failed

連線到達握手階段但沒有完成,核對節點協議、系統時間、核心相容和目前網路。

connection refused

連線遭拒絕,節點服務可能未監聽該連接埠,或連接埠設定已變;核對記錄中的實際目標位址。

connection reset by peer

連線建立後被對端或中間裝置重置,檢查協議相容和網路穩定性。

no such host / DNS error

網域解析未完成,轉去檢查 Clash DNS 和系統 DNS 路徑。

unsupported / parse error

設定與核心能力不匹配,這不是網路延遲。

日誌時間要與剛才的測試動作對應。背景訂閱更新、健康檢查和瀏覽器請求可能同時寫日誌,只截最後一行很容易拿錯對象。

用手機熱點與另一節點作對照

手機熱點成功、原 Wi-Fi 失敗,說明節點仍能工作,應檢查路由器 DNS、防火牆、IPv6 或營運商網路。只有晚高峰變慢、白天恢復時,記錄測試時間和持續速度;這更像線路擁塞。

同一協議整組失敗、其他協議正常時,記錄協議類型和核心版本,向訂閱提供方核對設定。Reality、XTLS Vision 這類傳輸或 flow 名稱不能直接代表線路品質。

最少變數的四次對照

  1. 節點 A + Wi-Fi

    重複固定目標,留下日誌。

  2. 節點 A + 手機熱點

    只更換接入網路。

  3. 節點 B + 原 Wi-Fi

    換同一訂閱的另一節點,盡量保留相同協議,網路不變。

  4. 另一協議節點 + 原 Wi-Fi

    只在前面仍無法區分時使用。

自動策略群組頻繁換節點,會打斷哪些連線?

url-test 依探測結果選擇延遲較低的節點,fallback 在目前節點不可用時依序切換。探測間隔過短、tolerance 太小或測試 URL 不穩定,可能讓新請求頻繁更換出口;既有連線是否中斷,還要看節點是否故障,以及用戶端是否關閉舊連線。

把策略群組臨時改為 select 並固定一條節點。如果斷流消失,問題不一定是節點本身,而可能是健康檢查參數或自動切換方式。恢復自動組時,使用穩定的測試 URL,合理拉長 interval,並給 url-test 留出 tolerance。

可直接放入 Mihomo 設定的 url-test 結構
proxy-groups:
  - name: 自动选择
    type: url-test
    include-all: true
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 80
    lazy: true

網頁、下載和語音分別怎樣驗證

網頁問題要完成登入與頁面載入,下載問題要觀察一段持續傳輸,語音或遊戲則看 UDP 和會話是否穩定。Connections 應持續顯示預期規則與固定出口,日誌裡不再出現同一錯誤。

測試 URL 有回應而原情境仍超時時,記錄節點、網路、時間和錯誤四項資訊,交給訂閱提供方定位線路或伺服器端問題。

參考資料