VPN 已經顯示連線成功,網頁和 App 卻完全沒有網路,通常不代表服務一定故障。連線狀態只表示用戶端已經建立通道,實際上還要經過 DNS 解析、系統代理、路由規則、Wi-Fi 網路與遠端出口等多個環節。只要其中一項設定不相容,就可能出現「看起來已連線,實際上什麼都打不開」的情況。
排查時不要一開始就反覆更換節點或刪除整個用戶端。更有效率的方法,是先確認問題影響範圍,再依序檢查本地網路、DNS、代理模式、協定與其他網路工具。以下五個步驟適用於 Windows、macOS、Android、iOS 與 Linux,也適用於官方用戶端、Clash Verge、sing-box、Shadowrocket 等相容工具。
5 步
核心排查流程
5 類
常見故障來源
4 種
常見協定方向
第一步:先確認是整台裝置還是單一 App 無法上網
先不要急著切換線路,請在 VPN 顯示連線後,分別測試瀏覽器、另一個瀏覽器,以及一個需要連線的 App。如果所有網頁和 App 都無法使用,問題更可能出在 DNS、系統路由、代理接管或本地網路。如果只有某一個 App 無法連線,則要考慮該 App 的代理相容性、內建 DNS、憑證檢查或自身服務狀態。
接著暫時中斷 VPN,再測試同一個網頁。若中斷後恢復正常,代表本地 Wi-Fi 或行動數據本身大致可用,問題集中在 VPN 通道、代理模式或 DNS。若中斷後仍然無法上網,就不應只處理 VPN,還要檢查路由器、行動網路訊號、系統網路設定或是否啟用了飛航模式。
也可以先切換網路環境作比較。例如手機從 Wi-Fi 改用行動數據,或電腦改連另一個可信任的熱點。若只有某個 Wi-Fi 不能使用,可能是該網路限制了 UDP、修改了 DNS 回應,或路由器本身的 IPv6、家長控制與防火牆設定造成衝突。
第二步:檢查 DNS 解析是否被卡住
DNS 負責把網域名稱轉換成 IP 位址。VPN 通道即使已經建立,如果 DNS 請求沒有正確送出,瀏覽器就可能顯示找不到伺服器、連線逾時,或所有網站都無法開啟。這種情況常被誤認為節點斷線,但實際上可能只是解析路徑與代理路由不一致。
先關閉 VPN,確認一般網路能否正常開啟網站;再重新連線,觀察用戶端是否提供 DNS 模式、遠端 DNS、系統 DNS 或自訂 DNS 選項。若同時使用 Clash Verge、sing-box 或 Shadowrocket,還要檢查它們是否啟用了獨立 DNS 模組。多個工具同時接管 DNS,可能造成請求循環、解析超時或回應被錯誤轉送。
在 Windows 可以先清理 DNS 快取,再重新連線測試;macOS、Linux、Android 與 iOS 則可透過重新啟用 Wi-Fi、重啟用戶端或重開裝置,讓系統重新建立網路狀態。若官方用戶端提供「恢復預設設定」選項,可以先記下目前配置後再使用,避免手動修改太多項目而難以還原。
- ✅ 先確認未連線 VPN 時,網域名稱可以正常解析。
- ✅ 檢查是否同時啟用了系統 DNS、用戶端 DNS 與第三方 DNS。
- ✅ 切換 DNS 模式後,關閉並重新開啟瀏覽器或 App。
- ❌ 不要在沒有記錄原設定的情況下,同時修改 DNS、代理與路由模式。
如果只有少數網站無法開啟,而其他網站正常,DNS 不一定是唯一原因。目標網站可能使用不同的解析記錄、IPv6 位址或內容分發網路。此時可比較瀏覽器與 App 的結果,並嘗試暫時停用 IPv6 或改用另一種解析模式,以確認問題是否集中在特定位址族羣。
第三步:檢查系統代理與分流模式
VPN 用戶端通常有全域代理、規則分流、直連與系統代理等模式。若 VPN 顯示已連線,但系統代理沒有開啟,支援代理的瀏覽器可能沒有流量經過通道;反過來,如果系統保留了舊代理位址,流量就可能被送往已經不存在的本機連接埠,結果是所有 App 都顯示無網路。
在 Windows 與 macOS,請檢查系統網路設定中的 HTTP、HTTPS、SOCKS 代理是否由目前使用的用戶端接管。若用戶端使用 TUN 模式,通常不需要再手動填寫瀏覽器代理;若使用傳統系統代理,則要確認代理開關、位址與連接埠一致。Android 和 iOS 也要檢查目前 Wi-Fi 的代理是否被設定為手動,並確認沒有留下先前網路的設定。
使用 Clash Verge 或 sing-box 時,還要分清楚「系統代理」與「TUN」的用途。系統代理主要接管遵循作業系統代理設定的程式,TUN 則透過虛擬網卡處理更廣泛的流量。兩者同時啟用時,若規則、DNS 或路由設定不完整,可能出現重複接管。Shadowrocket 則應確認全域路由、配置檔與按需連線規則是否互相衝突。
| 現象 | 較可能的原因 | 優先檢查項目 |
|---|---|---|
| 所有瀏覽器都逾時 | 系統代理或 DNS 接管錯誤 | 關閉舊代理,確認目前模式只由一個工具接管 |
| 瀏覽器正常,某些 App 失效 | App 不遵循系統代理或使用獨立網路堆疊 | 檢查 TUN、App 分流與防火牆規則 |
| 只有部分網站無法開啟 | 規則分流、IPv6 或 DNS 回應差異 | 暫時切換全域模式並比較結果 |
| 關閉 VPN 後仍然無網路 | 系統殘留代理或路由未恢復 | 關閉系統代理,重新連接 Wi-Fi 或重啟裝置 |
第四步:重置 Wi-Fi、行動網路與路由狀態
如果 DNS 和代理設定看起來正常,下一步是處理本地網路狀態。VPN 通道建立後,系統可能新增虛擬網卡、路由表或防火牆規則;當 Wi-Fi 在連線期間切換、路由器重新分配位址,或裝置從 Wi-Fi 改用行動數據時,舊狀態就可能沒有被完整清除。
- 先中斷 VPN,關閉正在使用的第三方代理工具。
- 關閉裝置的 Wi-Fi,等待網路狀態更新後再重新開啟。
- 重新連接目前的 Wi-Fi,或改用另一個可信任的行動熱點比較。
- 確認裝置取得新的 IP 位址,並測試未連線 VPN 時的網頁。
- 只開啟一個 VPN 用戶端,再連線並測試瀏覽器與 App。
Windows 使用者可以檢查網路介面是否被停用,並留意防火牆或安全軟體是否在 VPN 連線後阻擋虛擬網卡。macOS 使用者可檢查目前服務順序與代理設定。Android 與 iOS 若曾安裝多個 VPN 配置,應到系統 VPN 設定確認目前啟用的配置,避免舊配置仍然處於按需連線狀態。Linux 使用者則要留意 NetworkManager、systemd-resolved、iptables 或 nftables 是否與用戶端的 TUN 路由互相影響。
第五步:切換協定與線路,確認是否為相容性問題
前四步都沒有改善時,才適合檢查協定與線路。不同網路環境對 UDP、TCP、TLS 封裝與虛擬網卡的支援不同。常見的 WireGuard 通常依賴 UDP;OpenVPN 可以依配置使用 UDP 或 TCP;Shadowsocks、VMess、Trojan 與 Hysteria2 則可能由不同的客戶端和傳輸方式承載。協定本身沒有絕對的優劣,重點是目前網路、用戶端和伺服器端是否相容。
如果在公司、學校、公共 Wi-Fi 或受限制的行動網路中連線,UDP 流量可能被限制,導致用戶端顯示握手成功後卻無法持續傳輸。這時可以在用戶端允許的範圍內,改用 TCP 或其他可用協定測試。若使用 Hysteria2,則要確認目前網路是否允許其所需的傳輸方式;若使用 WireGuard,則應檢查金鑰、MTU、DNS 與路由是否由正確配置管理。
切換線路時一次只改一個變項。先保留相同協定,改另一個出口;若仍無法使用,再保留同一條線路改協定。這樣才能分辨是特定線路故障、協定被限制,還是本地用戶端設定問題。不要同時開啟兩個官方用戶端,也不要在 Clash Verge、sing-box 和 Shadowrocket 之間同時啟用代理,否則測試結果會被互相干擾。
- ✅ 先用同一個協定測試另一條線路,再比較不同協定。
- ✅ 連線後檢查瀏覽器、App 與 IP 檢測結果是否一致。
- ✅ 若只有某個網路環境失效,優先懷疑 UDP、MTU 或防火牆限制。
- ❌ 不要把「已連線」狀態直接當成所有流量都已成功通過。
排查完成後的驗證順序
恢復連線後,不要只開啟一個熟悉的網站就結束。先確認一般網頁可以載入,再測試需要登入的 App、檔案下載或其他實際使用情境。若瀏覽器可以使用,但特定 App 仍然失效,應回頭檢查該 App 的代理支援和分流規則,而不是繼續更換節點。
若使用訂閱連結匯入配置,還要確認配置更新後沒有覆蓋手動設定。官方 Windows、macOS、Android、iOS 與 Linux 用戶端通常由應用程式管理連線狀態;第三方客戶端則可能同時保留多個配置檔、策略組與 DNS 規則。每次更新後若突然出現無網路,應比較更新前後的模式與規則,找出變動項目。
如果重置網路、切換協定與更換線路後仍然無法使用,請保留錯誤時間、裝置平台、用戶端版本、連線模式與測試結果,再聯絡服務支援。清楚描述「未連線時是否正常」「哪些 App 受影響」「使用哪種協定與模式」,比只提供一句「VPN 不能上網」更有助於定位問題。