先建立可重現的測試條件
先暫停自動切換節點,固定使用一個節點、一個測試網址和一種流量接管方式。用戶端顯示「已連線」,通常只代表核心已啟動,或系統代理、虛擬網卡已啟用;不代表瀏覽器流量已進入核心,也不代表遠端節點能完成目標網站的 TLS 交握。
- 記下目前的設定檔名稱、代理模式、策略組選擇,以及系統代理和 TUN 的啟用狀態。請勿公開完整訂閱連結。
- 先備份目前設定。之後每次只變更一個選項,測試完成後再決定要保留或還原。
- 退出其他代理用戶端和 VPN。企業設備上的安全軟體或網路政策,應交由管理員確認,請勿直接停用防護功能。
- 開啟用戶端的連線清單和記錄頁面,先使用
info層級。若暫時提高至debug,請留意記錄可能包含造訪的網域和本機網路資訊。 - 完全關閉瀏覽器後重新啟動,避免沿用舊連線。所有對照測試都使用同一個網址。
一、確認系統代理指向正確的連接埠
建議先開啟「系統代理」、關閉 TUN,建立瀏覽器測試基準。系統代理主要影響遵循系統代理設定的應用程式,不代表所有程序都會經過代理。遊戲、命令列程式、瀏覽器擴充功能,以及自行設定代理的軟體,可能使用不同的連線路徑。
檢查系統設定與瀏覽器擴充功能
- Windows 11:前往「設定」→「網路和網際網路」→「Proxy」→「手動 Proxy 設定」,確認代理位址和連接埠。自動設定指令碼和手動代理可能同時存在,請確認目前實際生效的設定。
- macOS:前往「系統設定」→「網路」→目前的網路連線→「詳細資訊」→「代理伺服器」,確認網頁代理和安全網頁代理是否指向用戶端實際監聽的位址。
- 瀏覽器:暫時停用控制代理的擴充功能,並檢查是否設有獨立代理設定或略過清單。無痕視窗不一定會停用所有擴充功能。
本機常用位址為 127.0.0.1。連接埠請以目前生效的設定為準,不能假設所有用戶端都使用 7890。以下 YAML 片段僅用來說明欄位用途,並非完整設定,也不需要直接覆寫現有訂閱:
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
mixed-port 可同時接受 HTTP 與 SOCKS 代理連線;只有 socks-port 的連接埠不能直接填作 HTTP 代理。external-controller 常見的 9090 是管理介面的連接埠,不是網頁流量入口。本機瀏覽器故障排除也不需要開啟「允許區域網路連線」。
略過系統設定,直接測試本機代理
以下 Windows 指令會明確指定 HTTP 代理,可用來判斷是「系統設定錯誤」還是「代理連線異常」。如果實際連接埠不是 7890,請先修改指令中的連接埠。macOS 和 Linux 可使用 curl,並將 NUL 替換為 /dev/null。
curl.exe --noproxy "" --proxy http://127.0.0.1:7890 --connect-timeout 10 --max-time 20 -o NUL -sS -w "HTTP=%{http_code}\n" https://example.com/
- 明確指定代理後成功,瀏覽器卻失敗:優先檢查系統代理、瀏覽器擴充功能和代理略過設定,不要繼續調整節點。
- 立即顯示無法連線至本機連接埠:先確認核心是否正在執行、連接埠是否填錯,以及監聽程序是否屬於目前使用的用戶端。
- 建立連線後逾時:查看記錄,確認問題發生在節點撥號、DNS 或連線至目標網站的階段;不能只憑逾時就判定連接埠有問題。
收到 HTTP 狀態碼,表示這次請求至少收到了 HTTP 回應;但 403 或 451 仍可能是網站政策限制。若要確認流量是否經過預期的代理,還需查看連線記錄中的出口鏈。
二、檢查連接埠占用與核心啟動狀態
即使系統代理設定已寫入,若核心因設定錯誤而未啟動,瀏覽器仍會把請求送到沒有程序監聽的連接埠。先查看記錄中的啟動錯誤,例如監聽失敗、設定解析失敗或引用了不存在的策略組,再考慮修改連接埠。
在 Windows 檢查監聽程序
在 PowerShell 中執行以下指令。第一條會檢查監聽狀態和程序編號;第二條會依照結果中的 OwningProcess 查詢程序。範例編號 1234 請替換為實際值。
Get-NetTCPConnection -LocalPort 7890 -State Listen
Get-Process -Id 1234
macOS 可使用 lsof -nP -iTCP:7890 -sTCP:LISTEN。如果監聽程序屬於另一個用戶端,請先正常退出該程式,再啟動要使用的用戶端。不要只因連接埠衝突,就強制結束不明的系統程序。
- 沒有監聽結果:檢查核心執行狀態、目前生效的設定和連接埠類型,並確認用戶端介面上的開關確實已生效。
- 連接埠遭舊程序占用:退出重複執行的實例,必要時使用工作管理員確認舊程序是否仍在執行。
- 改用其他連接埠後:同步更新系統代理和應用程式內的代理設定,避免用戶端監聽
7891,瀏覽器卻仍連線至7890。
訂閱檔案和實際執行的設定可能不同。用戶端覆寫、合併設定和圖形介面設定都可能變更監聽連接埠,請以執行中的設定和監聽結果為準。欄位用途請參閱連接埠設定說明。
三、排除 TUN 權限與路由問題
如果系統代理測試正常,但啟用 TUN 後失敗,排查重點應轉向虛擬網卡、路由和 DNS 接管。TUN 會將 IP 流量交由核心處理,可涵蓋部分不遵循系統代理的軟體;但需要核心支援,也需要建立網卡、修改路由等權限。
- 關閉系統代理,只啟用 TUN,然後重新啟動測試應用程式。這樣能減少兩種流量入口重疊造成的判斷困難。
- 依照目前用戶端的要求安裝或啟動服務模式,並核准系統權限要求。Windows 通常由背景服務執行需要較高權限的操作;macOS 可能需要授權輔助程式;Linux 通常需要適當的網路管理權限。
- 查看記錄中是否出現建立虛擬網卡失敗、權限不足或新增路由失敗。開關已開啟但初始化出錯,不能視為流量接管成功。
- 中斷其他 VPN 後再測試。多張虛擬網卡同時爭用預設路由時,節點連線也可能被錯誤送回隧道,形成迴圈。
- 如果問題只在電腦從睡眠喚醒或切換 Wi-Fi 後出現,請重新啟動用戶端核心並重新建立 TUN,再確認路由是否已恢復。
不要同時嘗試更換 TUN 協定堆疊、啟用 IPv6、修改 MTU 和切換 DNS。如果只有傳輸大型檔案或部分 HTTPS 網站時會卡住,可先確認基本連線正常,再針對 MTU 排查;這不該是所有「網頁無法開啟」問題的第一步。
四、區分系統 DNS 與核心 DNS
看到 no such host、lookup failed 或網域解析逾時時,先確認是哪一層負責解析。瀏覽器可能使用安全 DNS,系統有自己的解析器,Clash 核心也可能分別解析目標網域和代理節點網域。修改系統 DNS,不一定會改變核心 DNS 的行為。
先查看查詢結果,再清除快取
在 Windows 執行以下指令,可查看系統解析路徑的結果;但這無法證明瀏覽器和核心使用相同的 DNS:
nslookup example.com
ipconfig /flushdns
第二條指令只會清除 Windows DNS 用戶端快取。瀏覽器、核心和上游解析器可能各自保留快取。修改設定後,請依照用戶端支援的方式重新啟動核心,並重新建立瀏覽器連線。
- 節點伺服器使用網域名稱:節點本身也需要先完成解析。如果上游解析必須經由尚未建立的代理,可能會形成啟動依賴,請檢查節點網域的解析路徑。
- 使用 DoH:
https://格式的 DNS 位址仍需要網路連線正常並通過憑證驗證。請檢查系統時間,以及解析器網域如何完成初始解析。 - 瀏覽器使用安全 DNS:暫時切換至系統解析路徑進行比對。如果問題因此消失,再檢查瀏覽器 DNS 流量的規則,不要長期保留不明設定。
- 只有 IPv6 目標連線失敗:檢查本機 IPv6 連線能力和代理鏈支援情況。可暫時關閉相關 IPv6 選項進行比對,但請記下變更項目,並在測試後再次確認。
Fake-IP 位址不代表 DNS 一定出錯
在 Fake-IP 模式下,解析結果可能落在設定的合成位址範圍內,常見設定會使用 198.18.0.1/16。核心會保存網域名稱與合成位址的對應,再處理後續連線。看到 198.18.x.x 不代表網域解析錯誤,也不能只靠 ping 結果判斷網頁代理是否正常。
真正需要確認的是:取得合成位址的流量是否繼續經過同一個核心,以及位址對應是否仍然有效。如果應用程式取得 Fake-IP 後繞過 TUN 直接連線,就可能無法存取。區域網路裝置探索、印表機或依賴真實位址的應用程式,可依需求設定 fake-ip-filter,不要將所有網域都加入排除清單。基本概念請參閱位址與 GeoIP 說明及術語手冊。
五、透過連線記錄確認規則出口
如果請求已進入核心,接著查看連線清單中的目標網域、符合的規則、策略組和最終節點。Rule 模式會依規則順序比對,通常由第一條符合的規則決定出口;代理組名稱即使是「自動選擇」,也不代表目前選到的節點一定可用。
短暫比對 Rule 與 Global 模式
- 保持目前節點不變,在 Rule 模式下開啟目標網站,記下符合的規則和出口。
- 暫時切換至 Global,並在 GLOBAL 策略組中明確選取同一個節點,再重新建立連線。
- 若 Global 可存取、Rule 無法存取,請檢查 Rule 是否將目標流量導向
DIRECT、REJECT或其他失效的策略組。 - 測試後請切回 Rule。Global 是用來定位問題的工具,不是適用於所有流量的永久修復方式。
修改規則時要留意優先順序。將新的網域規則放在兜底 MATCH 之後,通常不會生效,因為請求已被前面的規則接手。需要保留的修改,應放在用戶端支援的覆寫或規則合併位置;直接修改遠端訂閱產生的檔案,可能在下次更新時被覆寫。規則比對方式請參閱規則分流教學。
六、確認節點與目標網站狀態
延遲測試通過,只能證明某次探測在指定逾時時間內完成,不代表目標網站一定可用。例如清單顯示 180 ms,實際頁面卻在 20 秒 後逾時,兩者並不矛盾:探測位址、連線協定、出口限制和目標服務可能都不同。這些數值僅供判讀示範,並非節點實測結果。
- 所有節點都失敗:確認訂閱是否到期、帳戶流量是否用盡、目前設定是否已啟用,以及服務端是否發布維護公告。
- 只有一個節點失敗:切換至同一訂閱中的其他節點,再造訪相同目標。切換節點時不要同時修改 DNS,否則無法判斷是哪項變更解決了問題。
- 只有一個網站無法開啟:檢查目標網站狀態和地區限制。如果節點可存取其他 HTTPS 網站,就不應直接歸因於本機連接埠。
- 出現驗證或交握錯誤:確認訂閱是否已更新、節點憑證是否有效,以及核心是否支援該協定和參數。
- 出現憑證錯誤:先校正系統日期、時區並檢查憑證環境。請勿關閉憑證驗證來掩蓋問題。
切換 Wi-Fi 和手機熱點是很有用的對照測試:使用相同用戶端、相同節點和相同網址,若只有目前的網路失敗,就應進一步檢查該網路的存取限制、UDP 支援或 DNS 路徑。熱點會使用行動數據,測試前請留意流量費用。
依據現象決定下一步
| 觀察結果 | 優先檢查項目 | 下一步處理方式 |
|---|---|---|
| 明確指定代理後成功,瀏覽器卻失敗 | 系統代理或瀏覽器個別設定 | 確認位址、連接埠和擴充功能,重新建立瀏覽器連線 |
| 本機代理連接埠拒絕連線 | 核心啟動與監聽狀態 | 查看啟動記錄和監聽程序,再同步更新連接埠 |
| 系統代理正常,TUN 失敗 | 網卡權限、路由和 DNS 接管 | 單獨啟用 TUN,檢查初始化記錄 |
| Global 正常,Rule 失敗 | 符合的規則與策略組出口 | 使用相同節點比對,修正誤判的規則 |
| 記錄持續顯示網域解析失敗 | 系統、瀏覽器與核心的 DNS 路徑 | 找出錯誤發生在哪一層,檢查上游連線和啟動依賴 |
| 單一節點或單一網站無法使用 | 節點狀態與目標網站存取限制 | 保持其他條件不變,切換節點或網路進行比對 |
問題仍未解決時,提供最精簡的診斷記錄
向維護者回報時,請提供作業系統、用戶端版本、核心版本、故障時間、代理模式、接管方式和重現步驟。附上故障發生前後約 30 秒 的必要記錄,並說明「明確指定代理是否成功」、「關閉 TUN 後是否恢復」及「Global 模式是否可存取」。這些資訊比一張顯示「已連線」的截圖更有助於定位問題。
傳送前請刪除訂閱權杖、節點密碼、控制介面金鑰和不必要的個人瀏覽記錄。排查完成後,請還原暫時變更、關閉除錯記錄,並確認系統代理指向目前仍在執行的用戶端。其他常見錯誤請參閱疑難排解;訂閱匯入和啟用設定的步驟請參閱訂閱匯入教學。