Shadowrocket(小火箭)已連線卻無法上網:伺服器、Global Routing、DNS 與規則排查

依序檢查伺服器連線測試、Global Routing 模式、DNS 設定、規則與 FINAL 策略,找出已連線卻無法上網的原因。

本文速覽

Shadowrocket(小火箭)的連線開關開啟,只代表裝置上的連線流程已啟動,不代表遠端伺服器、網域解析及每一筆請求的策略都正常。本文假設使用者已有自己的服務商與訂閱,將從基本網路狀況開始,逐一排查伺服器、Global Routing、DNS 與規則問題;每次只變更一個項目,並以相同網頁和請求記錄確認結果。

先建立基準:關閉連線後能否上網

請勿先刪除訂閱或重新安裝 App。先確認故障是否只在 Shadowrocket 開啟連線時發生:如果關閉連線後,目前的 Wi-Fi 或行動網路仍無法開啟平常可直接連線的網頁,請先檢查基本網路、Wi-Fi 登入驗證或系統網路權限。連線圖示不能取代這項檢查。

  1. 記錄目前狀態

    記下 Home 目前選取的伺服器、Global Routing 選項,以及 Config 中正在使用的設定檔。保留現有設定檔的副本;記錄中請勿包含密碼、完整訂閱連結或驗證參數。

  2. 關閉連線

    在 Home 關閉連線,然後用 Safari 開啟平常可直接連線的 HTTPS 網頁。若仍無法開啟,請先確認 Wi-Fi 是否需要登入,以及行動數據是否可用,再繼續排查 App 內的設定。

  3. 固定測試目標

    選定一個可直接連線的網頁,以及一個原本需要透過代理才能存取的網頁。接下來固定使用這兩個網址,每次修改後重新送出請求,避免拿不同網站的結果互相比較。

  4. 暫停自動連線

    若手動中斷後連線又自動開啟,請檢查 Settings → On Demand,記下原本的狀態後暫時關閉 On Demand。測試完成後再恢復設定,避免自動連線影響比較結果。

測試時也要區分「網頁無法開啟」和「某個 App 的特定功能失效」。單一網站可能本身故障;若網頁可以開啟,但影片或通話失敗,還需檢查相關流量是否使用 UDP,不能因此直接判定整個連線都無法使用。

第一項:伺服器連線狀態與驗證參數

返回 Home,確認選取的是準備測試的伺服器,再執行 Connectivity Test。先觀察是否持續逾時,再確認回應是否穩定。測試成功只能證明測試使用的路徑或目標可以連線,不能保證所有網站、UDP 流量及伺服器端驗證都正常;延遲數值低,也不代表實際網頁一定能開啟。

443
HTTPS 常用的目標連接埠,不代表代理伺服器必須使用該連接埠
53
傳統 DNS 常用的連接埠;解析請求與網頁連線是不同環節
1 項
每輪只調整一個項目,接著重新測試同一目標

開啟目前伺服器的編輯頁面,逐項比對位址、連接埠及驗證資訊與使用者向服務商取得的原始資料。Shadowsocks 的加密方式與密碼、VMess 或 VLESS 的識別參數、Trojan 的密碼,以及需要 TLS 時的伺服器名稱和傳輸參數,彼此不能互相替代。不要因為網頁通常使用 443,就自行將伺服器連接埠改成 443。

結論:先排除單一伺服器問題

在相同網路、相同網頁及相同 Global Routing 選項下,換成使用者現有的另一台伺服器後便能正常存取,應優先確認原伺服器的服務狀態與參數;此時不要同時修改 DNS 和 FINAL。

第二項:透過 Global Routing 區分模式與規則問題

在 Home → Global Routing 確認目前選項。Proxy、Direct、Config、Scene 並非四種協定,而是不同的流量處理方式。診斷時可暫時切換,測試完成後應恢復原本的使用方式;尤其不要把一次 Proxy 測試成功,當成所有分流規則都正確的證據。

選項主要用途排查時應確認的項目
Proxy以代理方式處理流量;繞過項目等設定仍須另外確認目前選取的伺服器能否承載目標請求
Direct以直接連線方式處理流量目標是否原本就能透過目前的基本網路存取
Config依目前設定檔中的規則決定請求策略命中哪一條規則,以及最後採用哪個策略
Scene依已設定的場景套用相應的路由方式目前場景實際採用的設定,不只是選項名稱

先記下原本的選項,再暫時選取 Proxy,重新開啟原先無法存取的同一網頁。如果 Proxy 可用、Config 卻不行,應優先檢查目前設定檔及規則命中情況,但也要考慮兩種模式使用的 DNS 路徑可能不同。如果兩種模式都失敗,請先回頭檢查伺服器和 DNS,不要只盯著規則。

第三項:確認 DNS 是否完成解析且路徑可連線

網域解析是請求流程的一環。DNS 失敗和伺服器連線失敗,都可能顯示為「網頁一直載入」。請開啟請求記錄,確認問題發生在網域解析階段,還是取得位址後連線目標失敗。不要只根據 Safari 的一般錯誤提示,就認定是 DNS 問題。

在 Config 中開啟目前使用的設定檔,檢查文字內容中的 [General] 與 dns-server。若曾手動填入解析器,請確認位址正確、目前網路可以連線,以及是否依賴尚未建立的代理路徑。不要同時套用多個不熟悉的 DNS 設定;先還原至先前可用的設定檔副本,再逐項比對。

錯誤:Could not resolve host

原因與處理方式:這是常見的網域解析失敗訊息,實際措辭會因診斷工具而異。先確認目標網域和 DNS 設定,再檢查目前網路是否能連線到解析器;不要立刻修改伺服器驗證參數。

錯誤:Connection timed out

原因與處理方式:連線未能在指定時間內完成,故障可能發生於伺服器或目標路徑。先從記錄中確認失敗的目標與連接埠,再透過相同網路測試使用者現有的另一台伺服器,以區分單點故障和整體網路問題。

錯誤:Connection refused

原因與處理方式:通常表示目標或中間設備主動拒絕連線。確認記錄指向代理伺服器還是目標網站,並檢查相應的連接埠與服務狀態;反覆重新整理網頁無法修正錯誤的連接埠。

第四項:規則順序、策略引用與 FINAL

在 Global Routing 選用 Config 時,請求路徑由目前設定檔中的規則決定。先在 Config 確認選取的檔案,再檢查 [Rule]。規則通常由上而下比對;已由前面的規則命中的請求,不會再等待後面更具體的規則。因此,即使規則內容正確,位置錯誤仍可能導致無法存取。

[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

以上片段僅用於說明語法,並非可直接取代現有設定的通用方案。example.com 是示例網域;PROXY 必須對應目前設定檔中已存在且可用的策略或策略組,不能只複製名稱而未定義。FINAL,PROXY 的實際效果也取決於該策略最後選取的伺服器。

關鍵字比對依據常見檢查項目
DOMAIN-SUFFIX網域及其子網域是否被前面的寬鬆規則涵蓋,以及是否遺漏資源網域
IP-CIDR目標 IP 位址範圍網段與遮罩是否正確,no-resolve 是否符合預期
GEOIP目標 IP 在地理資料庫中的歸屬以實際解析出的 IP 查詢結果為準,不按品牌所在地推斷
FINAL前面的規則皆未命中時套用的預設策略是否位於最後一行,以及引用的策略是否存在且可用

no-resolve 用於避免為了比對該 IP 規則而額外觸發網域解析,並非關閉整個 App 的 DNS。REJECT 則會阻擋相應請求;如果主頁可以開啟,但圖片或登入介面失敗,應檢查這些資源網域是否命中拒絕規則,而不是直接刪除所有規則。

結論:依據命中記錄調整規則

確認失敗的請求命中錯誤策略後,再移動或修改相應規則。如果請求根本沒有進入 FINAL,修改 FINAL 不會解決問題;如果已命中預期的代理策略,則應繼續追查該策略實際選取的伺服器。

常見問題:測試成功後仍有部分功能異常

Connectivity Test 有結果,為什麼網頁還是無法開啟?

測試目標可能與網頁目標不同,測試也未必涵蓋驗證、TLS、DNS 及網頁所需的所有連線。先在 Home → Global Routing 暫時選取 Proxy 重新測試,再查看失敗請求停在解析、連線,還是策略選擇階段。

Proxy 可以上網,改用 Config 就失敗,該先檢查哪裡?

先確認 Config 中目前使用的檔案,再查看失敗請求命中的規則及策略組選擇。檢查是否誤用 DIRECT、命中 REJECT,或引用無法使用的策略;同時保留 DNS 路徑不同的可能性,不要直接將所有請求改成同一策略。

Wi-Fi 正常、行動網路失敗,是協定不支援嗎?

先使用同一台伺服器和同一個網址重新測試,並確認行動數據權限、Settings → On Demand 及 Scene 設定。不同網路對連接埠或 UDP 的處理方式可能不同;不能只憑一次失敗就判定協定本身不受支援。

網頁正常,但通話或影片異常怎麼辦?

確認相關服務是否使用 UDP,再檢查目前協定、伺服器端及服務權限是否支援所需的轉送。Hysteria2 的傳輸依賴 UDP;其他協定的 UDP 能力也須依伺服器端設定判斷,不能只看協定名稱。

訂閱更新成功,就能排除服務問題嗎?

不能。更新成功只代表訂閱內容已成功取得並處理。返回 Home 檢查目前伺服器的位址、驗證參數及連線狀態;若要向自己的服務商回報,請提供已去識別化的錯誤階段、網路類型及重現步驟。

收尾:還原設定並保留可重現的記錄

找出問題後,只保留已驗證且必要的變更。重新啟用暫時關閉的 On Demand,確認 Global Routing 已恢復日常選項,再分別測試基本網頁和先前失敗的目標。如果問題只在特定網路或某台伺服器上重現,請將這項條件記錄下來,不要將結論擴大到整個 App。

需要逐項比對欄位時,可參閱設定欄位說明;首次匯入或不確定目前設定檔的來源時,請先依入門指南確認操作順序。App 一次性買斷不等於線路方案,App 購買狀態與使用者現有服務的有效狀態須分別確認。

App Store 正版核對 →