Clash 無法上網怎麼辦:連上代理後打不開網頁的逐項排查清單
從系統代理開關、規則模式、DNS 設定到訂閱有效性,按順序逐項檢查 Clash 顯示已連接但無法上網的常見原因,每一步都提供驗證方法。
一、先定位問題出在哪一環
瀏覽器打開一個網頁,請求會依序經過:瀏覽器、系統代理、Clash 本機連接埠(預設 7890)、代理節點、目標網站。這條鏈路上任何一環中斷,最終表現都是「網頁打不開」,但每一環的修法完全不同。所以第一步不是急著改設定,而是先定位斷點在哪裡。
最快的定位方法,是看 Clash 的連線面板:
- 打開 Clash 用戶端,切換到「連線」(Connections)頁面。
- 保持面板可見,回到瀏覽器,重新整理那個打不開的網頁。
- 觀察連線清單的變化。
如果沒有任何新記錄出現,表示請求根本沒抵達 Clash,問題出在系統代理或瀏覽器設定,直接看第二步。如果有新記錄出現但網頁依舊打不開,表示請求到了 Clash 卻轉發失敗,問題在代理模式、節點、DNS 或訂閱,從第三步開始查。先分清這兩種情況,後面的步驟就不用逐一盲試。
二、確認系統代理已經生效
系統代理沒開,是「Clash 明明顯示已連接、網頁卻打不開」最常見的原因:Clash 自己在執行,但瀏覽器的流量根本沒有交給它處理。
檢查與修復:
- Clash for Windows 在主介面打開「系統代理」(System Proxy)開關;Clash Verge、Clash Nyanpasu 等用戶端在設定裡同樣有「系統代理」一項,確認它處於開啟狀態。
- Windows 驗證:打開「設定 → 網路和網際網路 → 代理」,「使用代理伺服器」應為開啟,位址為 127.0.0.1,連接埠與 Clash 的混合連接埠一致(預設 7890;若在設定檔裡改過 mixed-port,以改後的為準)。
- macOS 驗證:打開「系統設定 → 網路」,選取目前使用的網路進入「詳細資訊 → 代理」,「網頁代理(HTTP)」與「安全網頁代理(HTTPS)」應勾選,伺服器為 127.0.0.1 與對應連接埠。
幾個常見的坑:
- Clash 的連接埠被改過,系統代理裡卻還是舊連接埠,兩端對不上。
- 另一款代理或加速器軟體在 Clash 之後又改寫了系統代理設定。
- 瀏覽器裝了 SwitchyOmega 之類的代理外掛,走外掛自己的設定,完全繞過系統代理。排查期間先停用這類外掛。
驗證方法:用瀏覽器打開任意一個 IP 查詢網站,顯示的出口 IP 應當是節點所在地區,而不是本地電信業者的位址。
想確認「Clash 到節點」這一段本身是否暢通,可以在命令列執行:
curl -x http://127.0.0.1:7890 -I https://www.google.com
這條指令讓流量直接走 Clash 的本機連接埠,不依賴系統代理。能回傳 HTTP 回應標頭,表示 Clash 與節點之間是通的,問題鎖定在系統代理或瀏覽器;連線失敗,則表示 Clash 到節點這一段不通,優先查第三到第五步的模式、節點與訂閱。
三、檢查代理模式與目前節點
系統代理正常之後,下一個要確認的是:流量抵達 Clash 之後,被送去了哪裡。
- 確認代理模式。Clash 有規則(Rule)、全域(Global)、直連(Direct)三種模式。Direct 模式下所有流量都直連,等於沒開代理,先確認自己沒有停在 Direct。
- 規則模式下,檢查策略群組目前選中的節點。如果選中項是 DIRECT,或是一個已經逾時的節點,網頁照樣打不開,把策略群組切到延遲正常的節點上。
- 在節點清單執行一次延遲測試(通常是測速或閃電圖示),把所有 timeout 的節點排除在候選之外。
驗證方法:暫時把模式切到 Global,選一個延遲正常的節點,再重新整理目標網頁。能打開,表示之前是規則分流或所選節點的問題;仍然打不開,繼續往下查 DNS。
四、排查 DNS 解析問題
DNS 出問題有一個很典型的現象:不是所有網站都打不開,而是只有部分打不開;或者能 ping 通 IP,卻 ping 不通網域名稱。
逐項檢查:
- 打開目前使用的設定檔,確認 dns 段落存在且 enable 為 true,nameserver 裡填的是可用的公共 DNS。整段缺失時 Clash 會退回系統 DNS,在網域名稱解析被汙染的網路環境裡很容易拿到錯誤結果。
- 清除舊解析快取:Windows 在命令列執行
ipconfig /flushdns;瀏覽器可以打開 chrome://net-internals/#dns 清除快取,或直接重新啟動瀏覽器。 - 檢查瀏覽器的「安全 DNS」(DNS over HTTPS)開關。它開啟時瀏覽器會繞過系統 DNS 自行解析,可能與 Clash 的 DNS 接管互相衝突,排查期間先關閉。
- 用
nslookup加目標網域名稱驗證解析鏈路。能穩定回傳結果即表示解析在正常運作;如果 Clash 的 DNS 工作在 fake-ip 模式,回傳 198.18 開頭的位址屬於正常現象,不是故障。
DNS 各欄位的詳細填法與防洩漏設定,可以在使用手冊裡繼續查閱;這裡先把「能不能正常解析」這一關過了再說。
五、檢查訂閱與節點是否仍然有效
如果節點清單裡大面積 timeout,問題多半不在本機,而是在訂閱這一端。
- 在設定頁面對目前訂閱執行一次「更新」,拉取最新節點清單。清單長期不更新,裡面的節點可能早已下線。
- 登入服務供應商的後台,確認套餐沒有到期、流量沒有用完、訂閱連結沒有被重置。連結一旦重置,舊設定拉到的就是失效內容,需要用新連結重新匯入。
- 更新完成後重新做一次延遲測試,確認至少有一個節點延遲正常,再切回規則模式驗證網頁。
一個經驗:單個節點 timeout 是節點本身的問題;全部節點 timeout,優先懷疑訂閱和本地網路。
六、TUN 模式、防火牆與軟體衝突
前面五步都沒解決,就要往系統層面看了。
- TUN 模式需要額外元件:Clash for Windows 要安裝 Service Mode,Clash Verge 需要安裝服務模式並授權。元件沒裝好就打開 TUN,典型表現是「一開 TUN 就斷網,關掉就恢復」。排查期間建議直接關掉 TUN,只用系統代理,減少一個變數。
- Windows 防火牆或第三方安全軟體可能攔截了 Clash 核心的聯網請求,把用戶端程式加入允許清單後再試。
- 同時執行多款代理、VPN 或網路遊戲加速器,會互相搶用系統代理和路由表。排查時只保留 Clash 一個,其餘全部退出。
- 以上都無效時,重新啟動用戶端;還不行就重新啟動系統,清除可能殘留的連接埠占用。
排查時一次只改一項設定,改完立即驗證。同時改動多處再測試,即使恢復了也不知道是哪一步起了作用,問題還會再犯。
七、按現象速查
把上面的清單壓縮成一張表,下次遇到問題可以直接按現象對照查找:
| 現象 | 大概率原因 | 先看哪一步 |
|---|---|---|
| 連線面板沒有任何新記錄 | 系統代理未生效或被外掛繞過 | 第二步 |
| 有連線記錄,但所選節點 timeout | 節點失效或策略群組選錯 | 第三步 |
| 只有部分網站打不開 | 規則分流或 DNS 解析異常 | 第三、四步 |
| 一開 TUN 模式就斷網 | 服務模式未安裝或權限不足 | 第六步 |
| 全部節點 timeout | 訂閱過期、套餐到期或本地攔截 | 第五、六步 |
| 手機能用、電腦打不開(同一訂閱) | 電腦端系統代理、防火牆或連接埠設定問題 | 第二、六步 |
八、排查時的幾個好習慣
最後補幾條和具體故障無關、但能省時間的習慣。
- 先備份再動手。改動設定檔之前,把目前能用的設定匯出一份,改壞了可以一鍵退回。
- 固定一個驗證網址。每次改動後都用同一個目標網站測試,避免「換了個網站又好了」造成的誤判——有些網站本身就不穩定。
- 記住最後做了什麼。問題往往出現在最近一次改動之後:更新了訂閱、升級了用戶端、裝了新軟體。排查從「最近的變化」倒推,通常比從頭查一遍快。
- 升級用戶端後出問題,先退回舊版本驗證。如果舊版本正常、新版本異常,表示是版本相容性問題,可以到對應專案的發布頁查看已知問題說明。
按這份清單走一遍,絕大多數「連上了卻打不開網頁」的情況都能定位到具體環節。如果最終確認是訂閱端的問題,本地再怎麼調也解決不了,直接聯絡服務供應商才是正解。