2026-10-05 · 進階設定 · 約 10 分鐘

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

瞭解系統 DNS、自訂 DNS 與 DNS over HTTPS 的解析流程和適用情境,並查看如何在 Shadowrocket 設定 DNS、確認是否生效。

本文摘要

本文適合已匯入自己的訂閱、準備調整 DNS 的使用者。先區分名稱解析與連線出站,再檢查 Settings → DNS 和目前啟用的 Config,最後以相同網域、相同網路及單一變更驗證結果。閱讀後即可判斷何時保留 system、何時填入自有解析器位址,以及 DoH 逾時時應先檢查哪個環節。

一、調整 DNS 前,先確認連線基準

Shadowrocket(小火箭)是 Apple 平台的付費用戶端,主要供 iPhone 與 iPad 使用,唯一取得管道是 App Store。可在產品頁核對開發者 Shadow Launch Technology Limited 與 App ID 932747118;此 App 採一次性買斷,系統需求和通用購買資訊請以 App Store 頁面標示為準。買斷用戶端 ≠ 線路方案,本文以使用者已有自己的服務供應商與訂閱為前提。

DNS 會將網域名稱轉換為 IP 位址,但不保證後續連線成功。網頁無法開啟,可能是解析逾時,也可能是已取得位址,但目標連接埠、代理連線或 TLS 交握失敗。先記下原始設定,避免將所有異常都歸因於 DNS。

  1. 在 Home 確認目前使用的連線項目;測試期間固定使用同一項目,不要同時更新訂閱或切換協定。
  2. 記下 Global Routing 目前的選項。使用 Config 時,也要記錄 Config 中目前啟用的設定檔,後續比較時保持一致。
  3. 記下 Settings → DNS 的現有內容,並檢查啟用設定中的 [General] 是否已有 dns-server。
  4. 檢查 Settings → On Demand。測試期間維持穩定的連線狀態,避免自動連線條件變動,造成前後結果無法比較。

二、系統 DNS、自訂 DNS 與 DoH 有何不同

「系統 DNS」是使用目前網路提供或由系統管理的解析器;「自訂 DNS」通常是明確指定解析器位址;DNS over HTTPS(DoH)則指查詢的傳輸方式。自訂位址也可以是 DoH,因此這三者並非完全互斥的協定分類。

網域查詢選擇解析器查詢傳輸傳回位址連線目標
方式填寫格式適用情境檢查重點
系統 DNSsystem目前網路的解析正常,或需要存取區域網路中的名稱。切換 Wi-Fi 後,網路提供的解析器可能會改變。
自訂傳統 DNS已確認可用的解析器 IP 位址需要固定解析器,且所在網路允許連線。通常使用 UDP 53,部分查詢會使用 TCP 53;傳輸本身未加密。
DoH完整的 HTTPS 端點有可用的 DoH 服務位址,且 HTTPS 連線路徑可達。通常使用 TCP 443;需檢查主機名稱、憑證、路徑與初始解析。
53
傳統 DNS 常用的服務連接埠,涉及 UDP 與 TCP。
443
HTTPS 的預設連接埠,DoH 常使用此連接埠。
2 種
常見位址紀錄:A 對應 IPv4,AAAA 對應 IPv6。

DoH 加密的是裝置與所選解析服務之間的查詢傳輸,不會讓解析服務無法看見查詢,也不會自動改變網站流量的出站方式。它也可能增加首次連線的建立成本;速度取決於網路、快取與端點狀態,不能只憑名稱就認定較快。

結論:解析正常時,先保留原設定

只有確認現有解析發生逾時、回覆異常,或不符合查詢傳輸需求時,才單獨更換 DNS;不要同時變更路由模式和連線項目。

三、在 Settings 與 Config 設定 DNS

前往 Settings → DNS 檢查目前的解析設定。若要保留系統解析,請使用 system;指定傳統 DNS 時,填入已確認可用的解析器位址;使用 DoH 時,填入服務供應商提供的完整 HTTPS 端點。位址必須保留正確路徑,不能只填網站首頁,也不能將訂閱網址當成 DNS 位址。

若目前的 Config 已明確設定 dns-server,還應開啟 Config 中目前設定檔的編輯內容,檢查 [General]。以下兩張卡片用來說明填寫格式,範例位址僅供文件示範,並非可用的解析服務,請勿直接存為實際設定。

傳統 DNS 填寫格式

檢查位置
Settings → DNS
系統解析
system
位址格式範例
192.0.2.53
設定欄位
dns-server

192.0.2.53 是文件範例位址;實際操作時請使用已確認可連線的解析器。

DoH 填寫格式

位址格式範例
https://dns.example.com/dns-query
傳輸需求
HTTPS 與有效憑證
路徑需求
保留端點供應商提供的完整路徑
前置條件
端點主機名稱可解析,連線路徑可連通

dns.example.com 是文件範例網域;請勿將此位址用於實際查詢。

若只想在現有設定中明確使用系統解析,可檢查該設定中現有的 [General] 區段是否包含以下欄位。不要為了貼上範例而新增第二個同名區段,也不要刪除原有規則或其他參數。

[General]
dns-server = system
  1. 儲存 Settings 中的變更,或儲存正在編輯的設定檔,並確認 Config 啟用的是剛才檢查的那一份。
  2. 在 Home 中斷連線後重新連線,讓新的連線工作階段套用修改後的設定。重新連線不等於清除所有 App 快取。
  3. 使用固定網域重新測試;若出現新的逾時,先還原記錄的原值,不要繼續增加更多解析位址。

四、分開判斷 DoH 端點與規則分流

DoH 使用網域格式的端點時,裝置必須先得知端點主機名稱對應的位址,才能建立 HTTPS 連線,這個步驟通常稱為初始解析。如果現有解析已失效,而新設定又依賴它來找到 DoH 端點,就可能出現「改用 DoH 後所有網域都無法開啟」的情況。請優先還原可正常運作的解析基準,再檢查端點。

Global Routing 決定如何處理連線,DNS 設定則決定如何取得解析結果,兩者無法互相取代。排查時請留意以下差異,不要只為了開啟某個網頁,就長期改變整份設定的處理方式。

五、如何確認 DNS 已生效

驗證時至少要區分三件事:解析器是否有回應、回傳了什麼位址,以及後續連線是否成功。只憑網頁能否開啟或某次延遲降低,無法確認使用了哪個解析器;快取也可能讓某次請求根本沒有發出新的 DNS 查詢。

  1. 固定測試條件:使用相同的 Wi-Fi 或行動網路、相同連線項目、相同 Global Routing 選項及相同 Config。先記錄變更前的狀況。
  2. 選定查詢對象:使用你有權限測試,且狀態已知的網域。先測試 A,再檢查 AAAA;只有在 AAAA 查詢失敗或 IPv6 連線失敗時,才將問題另外記錄。
  3. 查看解析結果:若目前介面提供 DNS 查詢工具,請記錄結果、耗時與錯誤;並搭配可用的記錄檢查是否發生端點連線失敗、解析逾時或憑證錯誤。
  4. 排除快取影響:已有結果可能來自 App、系統或解析服務的快取。可以關閉後重新開啟測試 App,或使用自己網域下另一個已設定紀錄的名稱;不要把不存在的隨機網域當成正常解析樣本。
  5. 檢查連線:取得 A 或 AAAA 結果後,再查看對應連線的路由與錯誤。解析成功但 HTTPS 逾時時,應繼續檢查目標連線,而非反覆修改 DNS。
觀察到的狀況代表什麼下一步
查詢逾時,沒有回傳結果解析流程尚未完成,目前無法確定哪個環節失敗。還原原解析器,並比較端點可達性與目前網路。
回傳 NXDOMAIN解析器回報該名稱不存在,這與連線逾時不同。檢查拼字、網域紀錄,以及內部網域所需的解析範圍。
已回傳位址,但網頁仍逾時DNS 至少已完成一次位址查詢。檢查命中的規則、目標連接埠及後續連線紀錄。
只有第二次造訪變快可能與快取或連線重複使用有關。分別記錄首次與再次造訪的結果,不要據此推論 DoH 一定比較快。

結論:記錄錯誤發生階段,比只寫「無法開啟」更有用

每次至少記錄網路、解析方式、A 或 AAAA 結果及後續連線錯誤;若沒有可辨識解析器的紀錄,就只回報「狀況改善」,不要認定已證明查詢路徑。

六、常見 DNS 設定問題

改用 DoH 後所有網頁都無法開啟,該先改哪裡?

先還原 Settings → DNS 或目前 Config 中記錄的原值,再重新連線。恢復正常後,逐項核對 DoH URL 的主機名稱、完整路徑、初始解析與憑證錯誤;每次只重新加入一項變更。

一般網站正常,但無法開啟家中裝置名稱,該怎麼辦?

檢查該名稱是否由家中路由器或內部 DNS 提供。公共解析器通常不知道區域網路中的內部紀錄,可先還原 system 進行比對;內部名稱也可能涉及 mDNS,不能把所有探索問題都當成一般 DNS 問題處理。

填入多個 DNS 位址就一定比較穩定嗎?

不一定。不同解析器的回覆、回應時間和內部網域可見性可能不同,也不能假設系統一定會嚴格按照填寫順序切換。排查時先保留一個已確認可用的解析來源,記錄結果後再評估是否需要增加其他來源。

改過 Settings,為什麼重新啟用 Config 後又不一樣?

回到 Config 檢查目前啟用檔案的 [General] 和 dns-server,確認是否指定了另一組解析器。如果設定檔會遠端更新,也要檢查更新後欄位是否被還原;記下變更位置,避免反覆修改實際上沒有生效的設定。

下載 Shadowrocket