2026-09-30 · 疑難排解 · 約 10 分鐘

Shadowrocket 延遲正常但網頁無法開啟:DNS 解析失敗排查與 DNS 設定說明

節點延遲正常,網頁卻無法開啟,問題可能出在 DNS。本文說明如何判斷解析失敗、各項 DNS 設定的作用,以及依序排查的方法。

本文重點

本文適用於已在 Shadowrocket(小火箭)匯入自有服務商提供的參數,連線後仍無法開啟網頁的使用者。請先區分延遲測試與網域解析,再檢查 Global Routing、目前設定中的 DNS 和本機網路;每次只變更一個項目,並以同一網址重新測試,最後依錯誤類型判斷應修正 DNS、規則或連線參數。

一、延遲正常不代表網頁請求完整成功

開啟網頁通常會經過網域解析、建立連線、TLS 握手和 HTTP 請求。Home 中的延遲結果只反映該次測試所用的目標與測試方式,不代表所有網站都能完成解析,也不代表伺服器驗證、傳輸設定和網頁回應都正常。即使測試成功,瀏覽器仍可能卡在網域解析階段;反過來說,網頁無法開啟也可能是連線或 TLS 問題,不能只憑延遲數值判定 DNS 故障。

請先記下失敗網址的完整網域、發生時間、目前伺服器、Global Routing 模式和網路類型。再用一個先前能正常瀏覽的網頁作為對照;不要連續更換網站、伺服器和 DNS,否則無法判斷是哪項變更造成結果差異。以下現象只能作為排查線索,仍須透過後續測試確認。

可觀察到的現象優先檢查項目不能據此直接判定
多個網域都顯示找不到伺服器DNS 查詢是否逾時,以及目前使用的解析器是否可連線不能只憑提示判定伺服器已失效
只有一個網域無法開啟網域拼寫、該網域的 DNS 紀錄及命中的規則不能直接判定所有 DNS 設定都有誤
已取得目標 IP,之後連線逾時連線路徑、連接埠及服務商提供的參數不能把連線逾時當成解析逾時
出現憑證或安全連線提示裝置時間、TLS 主機名稱及目標網站更換 DNS 不保證能解決問題

二、各項 DNS 設定的作用

DNS 會將網域名稱轉換成可供連線的位址。系統 DNS 通常來自目前使用的 Wi-Fi 或行動網路;設定中的 dns-server 則用來指定 Shadowrocket 使用的解析器。兩者並非同一層級的設定:瀏覽器自己的加密 DNS、設定規則和連線方式,也可能改變實際的查詢路徑。因此,填入某個解析器位址,不代表所有請求都一定會經過它。

設定或概念作用排查重點
dns-server在設定的 [General] 中指定 DNS 解析器確認拼寫、格式與解析器是否可連線;先確認目前使用的設定確實有套用
system使用系統提供的 DNS 來源切換 Wi-Fi 與行動網路後,系統 DNS 來源可能隨之改變
DNS over HTTPS透過 HTTPS 傳送 DNS 查詢解析器網域本身可能也需要先解析;HTTPS 連線是否可用同樣重要
A / AAAA分別回傳 IPv4/IPv6 位址紀錄有 AAAA 紀錄不代表目前的 IPv6 對外連線路徑一定可用
快取與 TTL在一段時間內重複使用解析結果變更後短時間內仍看到舊結果,不一定表示設定沒有生效
53
傳統 DNS 常用的 UDP/TCP 連接埠
443
DNS over HTTPS 通常使用的 HTTPS 連接埠
2 類
位址紀錄:A 對應 IPv4,AAAA 對應 IPv6

判斷方式:先確認能否連線,再更換解析器

如果傳統 DNS 查詢逾時,但 HTTPS 連線正常,可測試可信來源提供的 DNS over HTTPS 設定;如果 HTTPS 也無法連線,應先排查網路和連線路徑,不要只是不斷增加解析器位址。

連接埠號碼是協定常用的值,不是需要在伺服器設定中一律改填的數值。DNS 使用的連接埠與自有伺服器的連線連接埠彼此獨立;排查解析問題時,請勿將 Home 中伺服器的 Port 改成 53。

三、依序進行可還原的排查

開始前請先備份目前的設定,並記下原有的 DNS 設定行。如果設定由自有訂閱管理,之後更新時可能會覆蓋本機變更;用於排查的副本應與原設定分開。請勿公開上傳含有密碼、UUID、訂閱權杖或完整伺服器位址的設定。

  1. 記錄目前狀態

    在 Home 記下目前的伺服器與連線狀態,開啟 Home → Global Routing 並記錄目前選項;再用 Safari 開啟同一個失敗網址,記下實際顯示的提示和測試時間。

  2. 檢查網路

    暫時中斷連線,確認目前的 Wi-Fi 是否需要先完成網路登入。若要比較不同網路,請分別透過 Wi-Fi 和行動網路測試同一網址;請留意行動網路可能產生數據費用。

  3. 比較連線模式

    在 Home → Global Routing 中,先記下 Config 模式下的測試結果,再暫時切換至 Proxy 測試。如果結果不同,應優先檢查規則和連線路徑;這不代表 DNS 已全面修復。

  4. 檢查設定

    返回 Config,確認目前啟用的檔案,進入該檔案的編輯畫面,檢查 [General] 中的 dns-server。只在副本中調整此項,不要同時變更伺服器驗證或傳輸參數。

  5. 重新測試

    儲存並確認已使用修改後的設定,先中斷連線再重新連線,接著開啟同一網址。重新連線不一定會清除所有 App 快取;必要時關閉並重新開啟瀏覽器,並記錄結果是否穩定改變。

  6. 還原設定

    將 Global Routing 還原為原本的選項。如果測試期間連線自動恢復,請檢查 Settings → On Demand 並記錄原設定;暫時關閉後再手動連線測試,完成後依原本需求還原。

以下是使用系統 DNS 的最小設定片段,僅供了解欄位位置,並非可直接連線的完整設定。編輯時請修改現有對應設定行,不要為了測試重複新增 [General] 區段,也不要覆蓋原設定中的其他必要項目。系統 DNS 本身也可能無法連線,因此這段設定不能當成通用修復方法。

[General]
dns-server = system

四、依錯誤原文區分解析失敗類型

以下列出 DNS 工具或診斷記錄中常見的回應碼與錯誤文字,不代表 Shadowrocket 的每個畫面都會原樣顯示這些內容。瀏覽器顯示「找不到伺服器」時,無法單憑提示區分 NXDOMAIN 和逾時;只有取得具體查詢結果後,才應依相應情況處理。

錯誤:NXDOMAIN

原因與處理方式:解析器回覆網域不存在——先檢查網域拼寫與子網域,再以相同網域向另一個已知可連線的解析器查詢;如果多個解析器都回傳相同結果,請聯絡目標網站的維護人員確認紀錄。

錯誤:SERVFAIL

原因與處理方式:解析器無法完成查詢,可能與上游異常或 DNSSEC 驗證問題有關——記下網域、解析器和時間,再改用另一個可連線的解析器比對;不要因此認定「網域一定不存在」。

錯誤:REFUSED

原因與處理方式:解析器拒絕此次查詢,可能限制了遞迴查詢的來源——確認該解析器是否允許目前的網路使用,改回系統 DNS 或改用已獲授權的解析器後重新測試。

錯誤:DNS query timed out

原因與處理方式:等待期間沒有收到查詢回應——檢查解析器位址、查詢路徑,以及目前網路能否連線至 UDP/TCP 53;切換網路測試時,請保持其他設定不變,避免同時引入多個變因。

五、DNS 正常後,繼續檢查規則與位址類型

Global Routing 中的 Proxy、Direct、Config、Scene 用於選擇請求的處理模式。Proxy 與 Direct 可作為對照;Config 依目前設定處理;Scene 則依設定的情境決定實際方式。不能簡單將它們視為四種 DNS 開關;切換模式後結果若有變化,還須核對該請求命中的規則和連線路徑。

DOMAIN-SUFFIX 依網域後綴比對,IP-CIDR 依位址網段比對,GEOIP 依 IP 地理資料庫比對,FINAL 則處理未命中前述規則的請求。網域規則本身不必先取得目標 IP 才能比對網域;IP 類規則可能涉及解析,實際情況也會受到規則選項影響。以下僅為語法示意,請勿直接覆蓋現有規則。

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

六、常見問題與排查完成條件

為什麼更換 DNS 後,網頁還是無法開啟?

先前往 Config 確認目前使用的是修改後的檔案,再檢查查詢是否確實回傳位址。如果已取得位址但連線仍逾時,請返回 Home 檢查伺服器參數和 Global Routing,不要繼續反覆修改 DNS。

只有 Wi-Fi 無法使用,行動網路正常,該怎麼辦?

保持伺服器、設定和網址不變,先完成 Wi-Fi 網路登入,再檢查該網路提供的系統 DNS。如果只有該網路無法連線至指定解析器,請保存測試結果並聯絡網路管理員確認是否有限制。

多填幾個 DNS 會比較穩定嗎?

不一定。填入多個位址不會自動保證每次查詢都能得到理想結果。請先保留一種來源明確且目前網路可連線的解析方式,測試失敗的網域;恢復正常後,再依實際需求決定是否增加其他解析器。

訂閱更新後故障又出現,該怎麼處理?

在 Config 比較更新前後的 DNS 和規則,確認更新是否覆蓋本機變更。向自有服務商回報具體欄位與故障時間,但不要傳送完整訂閱權杖;也請保留測試副本和原始檔案,以便還原。

排查完成需符合三項條件:同一個失敗網址可以重複開啟;Global Routing 已還原為日常使用模式;重新連線後結果仍一致。建議保留簡短紀錄,例如「Wi-Fi 下系統 DNS 查詢逾時,修改測試副本後恢復,Config 模式複測正常」,不要只記下「換 DNS 就好了」。這類紀錄有助於分辨後續再次發生的是網路問題,還是設定被覆蓋。

App Store 正版驗證