Clash 已連線但打不開網頁:系統代理、DNS 與規則的逐項排查清單
代理開關是綠的、節點也顯示已連線,網頁卻一直轉圈打不開——這種「看起來正常卻不通」的狀況,病因通常出在系統代理是否真正生效、節點本身是否可達、DNS 解析是否正常、規則是否命中預期策略、瀏覽器快取是否殘留舊連線這五個環節裡的某一個。按固定順序逐項排除,而不是隨手換節點重試,才能在最短時間內定位斷點。
代理開關是綠的、節點也顯示已連線,網頁卻一直轉圈打不開——這種「看起來正常卻不通」的狀況,病因通常出在系統代理是否真正生效、節點本身是否可達、DNS 解析是否正常、規則是否命中預期策略、瀏覽器快取是否殘留舊連線這五個環節裡的某一個。按固定順序逐項排除,而不是隨手換節點重試,才能在最短時間內定位斷點。
用戶端介面顯示「已連線」,只代表用戶端與節點之間建立了代理隧道,並不代表系統的網路流量已經被導入這條隧道。這是最容易被忽略的一層,也是排查的起點。
127.0.0.1:7890 一類的混合埠)。如果系統代理欄位是空的、埠不相符,或是 TUN 模式下找不到對應虛擬網卡,說明流量根本沒有進入用戶端,後面所有排查都沒有意義,應先解決這一層。
確認系統代理生效後,下一步要排除「隧道建立了,但節點本身連不出去」的情況。用戶端裡的「已連線」狀態一般只反映握手成功,不代表該節點目前能正常轉發流量。
換節點前先看延遲測試結果,而不是憑感覺切換——盲目切換容易把真正的問題(例如 DNS 或規則)誤判成「節點不好」。
代理鏈路通了、節點也可達,但網頁仍然轉圈,大機率卡在網域名稱解析這一步。DNS 請求如果沒有走代理,或是被本機快取了錯誤結果,瀏覽器就會一直等待一個永遠不會回應的連線。
fake-ip 或用戶端內建的遠端 DNS 轉發,而不是直接沿用本機原有的 DNS 伺服器。ipconfig /flushdns,macOS 執行 sudo killall -HUP mDNSResponder),再重新存取一次目標網站。DNS 層的問題往往表現為「部分網站能開、部分不能開」,且同一網站在不同時間表現不一致,如果觀察到這類現象,應優先懷疑解析環節而不是節點本身。
Clash 與 Clash Meta(mihomo)核心都依賴規則(rules)決定每一條連線走哪個策略群組。如果規則把目標網站錯誤分配到「直連」或某個已失效的策略群組,即便代理本身完全正常,該網站依然打不開。
| 現象 | 可能原因 | 處理方向 |
|---|---|---|
| 所有網站都打不開 | 系統代理未生效 / TUN 網卡未啟用 | 回到第一步重新確認代理設定 |
| 部分網站打不開,部分正常 | 規則命中錯誤策略群組 | 查看連線日誌確認實際命中的規則 |
| 網頁一直轉圈無錯誤訊息 | DNS 解析未走代理或被快取 | 清除本機 DNS 快取並檢查 fake-ip 設定 |
| 某個策略群組下全部逾時 | 該群組落地節點不可用 | 切換策略群組內其他可用節點 |
前四步都確認正常後,如果個別網頁依然打不開,問題往往出在瀏覽器自身快取的舊連線或舊憑證資訊,而不是代理鏈路。
按以上五步從近到遠逐一排除,大多數「已連線卻打不開網頁」的情況都能在十分鐘內定位到具體斷點。如果排查後確認是用戶端版本本身的相容性問題,可以考慮更新到最新版本重新測試。