Shadowrocket DNS 設定:系統 DNS、自訂 DNS 與 DNS over HTTPS 怎麼選

了解系統 DNS、自訂 DNS 與 DNS over HTTPS 的運作方式與差異,掌握在設定檔中填寫的位置,並逐步排查解析異常。

本文重點

本文適合已在 Shadowrocket 設定好連線,並需要檢查 DNS 的使用者。先分清解析伺服器、查詢傳輸方式與流量策略,再到 Config 檢查 dns-server,最後依序排查逾時、回傳位址異常及網路切換問題。所有操作皆以使用者已有自己的服務商與訂閱為前提;範例不提供可用線路或公共解析服務清單。

一、先分清 DNS 解析與連線出口

Shadowrocket(小火箭)是 Apple 平台上的閉源商業 App,主要供 iPhone / iPad 使用,唯一購買與安裝管道為 App Store,採一次買斷制。買斷 App ≠ 購買線路方案;本站不提供、不販售、不推薦節點、訂閱或服務商。價格、系統需求及一般購買適用性,請以 App Store 頁面標示為準。DNS 設定是 App 設定的一部分,不能取代使用者已有的線路服務。

DNS 負責將網域名稱查詢為位址等記錄,而非建立網頁連線。瀏覽器開啟網域時,可能先讀取快取,也可能發出新的查詢;取得位址後,仍須完成路由、傳輸連線與 TLS 交握。因此,「解析成功」不等於「網頁能開啟」;「連線失敗」也不能直接歸因於 DNS。

網域請求檢查快取DNS 查詢回傳位址建立連線

這個流程僅用來說明各環節的依存關係,不代表所有請求都會依相同順序在裝置上完整執行。命中快取時可略過查詢;某些代理處理方式會將網域交由遠端解析;App 若自行使用加密解析,也不一定採用設定中指定的伺服器。排查前,應先確認目前檢查的是哪一類請求。

二、系統 DNS、自訂 DNS 與 DoH 的差異

「系統 DNS」和「自訂 DNS」主要描述伺服器來源;「DNS over HTTPS」則描述查詢的傳輸方式,兩者並非完全平行的概念:手動指定 DoH 位址,同樣屬於自訂 DNS。系統提供的解析路徑也可能受到裝置上的 DNS 設定描述檔等設定影響,不能簡單認定一定採用明文傳輸。

設定方式來源或傳輸方式適用條件優先檢查項目
系統 DNS採用目前的系統解析設定目前網路解析正常,需要建立基準比較 Wi-Fi 與行動網路的結果
自訂傳統 DNS手動指定伺服器,通常使用 UDP / TCP 53已知伺服器位址與存取權限伺服器是否可連線、連接埠及內網存取範圍
DNS over HTTPS透過 HTTPS 向解析端點送出請求已有可信且可連線的完整 DoH 位址網域、路徑、TLS 憑證與初始解析
53
傳統 DNS 常用連接埠,使用 UDP 或 TCP
443
HTTPS 預設連接埠,DoH 可透過此連接埠傳輸
2 類
常見位址記錄:A 對應 IPv4,AAAA 對應 IPv6

連接埠號碼不能證明服務可用。某個位址開放 443,不代表它提供 DoH;傳統 DNS 在回應較大或特定情況下也可能使用 TCP,不能只檢查 UDP。DoH 加密的是用戶端與解析服務之間的查詢傳輸;解析服務仍能處理查詢內容,也不代表網頁連線會自動採用相同的出口路徑。

結論:保留可用基準,再更換解析方式

目前網路正常時,先記錄系統 DNS 的表現;只有在明確需要指定解析服務或加密查詢傳輸時,才單獨修改 DNS,避免同時變更規則、連線與解析設定。

三、在 Config 中找到並修改 dns-server

先在 Home 確認 Global Routing 目前的選項,再進入 Config 確認正在使用的設定檔。不要只修改名稱相近、但目前未啟用的檔案。本文以設定文字中的 [General] 與 dns-server 說明位置,不依賴不同介面版面上的按鈕排列。

  1. 在 Config 選取目前使用的設定檔,先備份原始檔案或記下原本的 DNS 設定行,以便還原。
  2. 開啟該設定檔的編輯選單,進入可編輯設定文字的頁面,找到 [General] 區段。選單顯示方式以目前 App 介面為準。
  3. 找到現有的 dns-server 設定並修改原有行,不要在檔案末尾或其他區段新增同名設定。
  4. 儲存後,確認該設定檔仍為選取狀態。若需要重新載入,可在 Home 關閉再重新開啟連線;此操作會短暫中斷目前的連線。
  5. 使用相同網路和測試網域再次測試,並記錄修改前後的結果。若測試失敗,先還原原本設定,確認是否隨之恢復。

系統 DNS 基準

設定區段
[General]
設定鍵
dns-server
設定值
system
確認步驟
儲存、確認已選取,並重新建立連線

system 表示使用系統 DNS,不代表固定的伺服器位址。

檢查 DoH 位址

設定區段
[General]
設定鍵
dns-server
位址組成
HTTPS scheme、主機名稱、服務路徑
文件範例
https://dns.example.com/dns-query

example.com 是文件範例網域,該位址並非可用的解析服務,不能直接用於連線。

若要恢復系統 DNS,可將對應設定改成以下形式。程式碼僅顯示相關區段,並非完整設定,請勿用來覆寫整份檔案。若目前設定檔由遠端更新維護,更新可能會覆蓋本機修改;請保留副本,並在更新後再次檢查。

[General]
dns-server = system

四、DNS 與 Global Routing、規則的關係

Home → Global Routing 用來控制流量的處理方式,不是 DNS 伺服器選擇器。Config 會依目前設定檔中的規則處理流量;Proxy 會讓一般流量採用代理方式處理,Direct 則採直接連線;Scene 會依已設定的情境條件處理。切換這些選項不能取代檢查 dns-server,也不能只憑選項名稱判定 DNS 請求已加密或採用特定路徑。

DNS 回傳的位址可能影響後續 IP 類規則的比對結果,但也不能因此將所有規則命中差異都歸因於解析。若修改 DNS 後存取路徑發生變化,應一併檢查回傳的 A / AAAA 記錄、命中的規則及最終出口。不要為了得到某次存取結果,就立刻重寫整套規則。

五、依單一變數逐步排查解析異常

先明確記錄問題現象:只有一個網域無法使用,還是所有網域都無法使用;是查詢逾時,還是已回傳位址後連線失敗;問題只出現在 Wi-Fi,還是行動網路也能重現。每次只修改一項,並記錄還原原設定後能否恢復存取,才能逐步找出可驗證的原因。

  1. 確認設定已生效。返回 Config,檢查目前選取的檔案,以及 [General] 中的實際設定值。訂閱更新與設定檔更新是兩回事;更新節點清單不代表 DNS 設定行已變更。
  2. 還原系統基準。暫時改回 dns-server = system,維持 Global Routing 與已選取的連線不變。若問題立即排除,接著集中檢查自訂解析端點,不要繼續更換線路設定。
  3. 分別測試網路。分別在 Wi-Fi 與行動網路測試。內網 DNS 只能透過 Wi-Fi 存取是合理的限制;若網路需要網頁認證,請先完成該網路的認證。
  4. 檢查 DoH 的依賴條件。確認完整位址、服務路徑、裝置日期與時間,以及是否有憑證錯誤。端點主機名稱通常必須先解析出位址;初始解析失敗可能導致後續 HTTPS 查詢無法建立。
  5. 分辨快取與新結果。重新開啟測試頁面,並留意 App 本身與系統快取。中斷後重新連線不保證會清除所有快取;若仍命中舊結果,不要直接判定設定未儲存。
  6. 檢查位址族。若只有在回傳 AAAA 後才失敗,應檢查目前網路與出口的 IPv6 連線能力。不要只因為存在 AAAA 就刪除所有 IPv6 相關設定;應先確認問題發生在解析階段還是連線階段。
觀察到的現象優先檢查項目不能直接推論
系統 DNS 正常,自訂 DNS 逾時目標位址、連接埠、網路連線能力不能因此認定所有自訂 DNS 都無法使用
DoH 出現 TLS 相關錯誤主機名稱、憑證有效性、裝置時間不應以關閉憑證驗證來掩蓋錯誤
已回傳位址,但網頁仍無法連線規則命中、出口、目標連接埠與 TLS不能只憑網頁無法開啟,就認定 DNS 查詢逾時
Wi-Fi 正常,行動網路失敗解析端點是否為內網位址,以及兩種網路的連線能力不能假設同一位址在兩種網路中都能存取

不要直接用瀏覽器開啟 DoH 端點,再憑空白頁或錯誤頁面判斷服務失效。DoH 需要符合協定的 DNS 請求;一般網頁存取不是等效測試。同樣地,直接存取網站 IP 可能因 HTTPS 憑證、SNI 或虛擬主機設定而失敗,不能據此判定「略過 DNS 後就一定正常」。

六、常見操作問題

改用 DoH 後變慢,需要一直等嗎?

先恢復系統 DNS,使用相同網路和網域再次測試。DoH 可能增加建立連線的成本,快取與連線重用也會影響結果;不要只用單次頁面載入時間評估解析速度。確認差異可重複出現後,再檢查端點連線能力與請求路徑。

可以直接把 DoH 網域改成 IP 嗎?

請勿自行替換。這可能導致 HTTPS 憑證與主機名稱驗證不符,端點也可能依賴對應的主機名稱。請保留既有解析服務提供的完整位址;若遇到初始解析問題,先恢復可用基準,再依該服務的正式設定說明處理。

設定多個 DNS,就一定會依序備援嗎?

不能直接將多個位址的清單視為嚴格的主要與備援順序。並行查詢、快取與具體處理機制都可能影響結果。排查時先保留一項已知可用的設定,確認它能獨立運作後,再加入其他位址,以免無法判斷回應來自哪裡。

訂閱更新成功,為什麼網頁還是打不開?

訂閱更新成功只代表取得並解析該訂閱內容的流程正常,不代表所有網域與連線路徑都正常。返回 Config 檢查 DNS,再到 Home 確認 Global Routing 與已選取的連線;若 DNS 已回傳位址,接著檢查規則與出口,不要反覆更新訂閱。

最後,請保留一份可還原的設定,並簡要記錄使用的網路、DNS 設定、測試網域、是否回傳位址、失敗階段及還原結果。向既有服務的支援管道求助時,只提供必要資訊,並隱藏訂閱權杖、認證欄位與個人網路資訊;請勿公開整份設定檔。

App Store 正版確認