2026-08-27 · 進階設定 · 約 10 分鐘

Shadowrocket DNS 設定

比較系統 DNS、自訂 DNS 與 DoH 的運作方式,說明如何搭配規則分流,並檢查設定是否生效。

本文摘要

本文適合已在 Shadowrocket(小火箭)完成基本連線,並需要選擇 DNS 或排查網域解析問題的使用者。先分清解析伺服器、解析傳輸方式與 DNS 查詢的連線路徑,再依序測試系統 DNS、自訂 DNS 和 DoH,每次只調整一項,最後搭配 Config 規則與連線紀錄確認結果。

DNS 設定會影響什麼

DNS 負責將網域名稱解析為 IP 位址。開啟網站時,客戶端通常需要取得 A 或 AAAA 紀錄,再連線至對應位址。A 對應 IPv4,AAAA 對應 IPv6。網域解析成功,不代表後續 TCP、TLS 或代理連線一定成功;因此,網頁無法開啟不一定是 DNS 問題。

以下流程是方便排查的邏輯示意,並非所有連線都會完全依照相同順序執行。網域規則可在取得目標 IP 前比對;IP 類規則則可能需要解析結果。有些代理連線也可能將網域交由遠端解析。

網域請求 規則判斷 視需要解析 選擇出站 建立連線

需要分別確認三件事:向哪一台 DNS 伺服器查詢、使用什麼協定傳送查詢,以及 DNS 查詢本身經由哪條網路路徑。手動指定伺服器位址,只能回答第一個問題;選擇 DoH,主要改變的是第二個問題。DNS 的出站路徑仍會受目前設定與連線條件影響,不能只看填入的內容就下結論。

53
傳統 DNS 常用的 UDP/TCP 連接埠
443
DoH 常用 HTTPS 連接埠,端點也可能另行指定
2 類
常見位址紀錄:A 與 AAAA

系統 DNS、自訂 DNS 與 DoH

系統 DNS 通常沿用裝置目前網路提供的解析設定,適合作為初始基準,也較能滿足公司內網、校園網路或家庭區域網路的內部網域解析需求。不過,從 Wi-Fi 切換至行動網路後,實際使用的 DNS 伺服器可能會改變,因此應分別記錄不同網路下的結果。

設定方式 可指定的項目 適用情況 主要檢查項目
系統 DNS 沿用系統的 DNS 設定 建立基準,或存取需要本機解析的網域 網路切換、內部網域與系統設定
自訂傳統 DNS 指定 DNS 伺服器位址 需要固定解析來源,且伺服器可連線 UDP/TCP 53 連線狀態與回傳紀錄
DNS over HTTPS 透過 HTTPS 查詢指定端點 需要加密查詢傳輸,且可與端點建立 HTTPS 連線 完整 URL、憑證、裝置時間與初始解析

「自訂」和「加密」是兩個不同面向。手動輸入一般 DNS 伺服器 IP,不會自動啟用 DoH;DoH 也不保證回傳的位址更適合目前網路。解析器可能依查詢來源與自身政策,回傳不同的內容傳遞位址。更換解析器後網頁變慢,不一定是 DNS 查詢本身變慢。

DoH 加密的是裝置與 DoH 端點之間的查詢傳輸。它不會隱藏端點收到的查詢,也不會取代網站本身的 HTTPS,更不代表所有 App 都採用相同的解析路徑。有些 App 會自行管理快取或解析機制,驗證時需另外確認。

判斷方式:先保留可用基準,再更換傳輸方式

系統 DNS 能穩定開啟目標網站時,先記錄結果;只有遇到明確的解析故障,或需要加密查詢傳輸時,才測試自訂 DNS 或 DoH。不要同時變更節點、規則與 DNS。

在 Shadowrocket 設定 DNS

以下以 iPhone/iPad 的 Home、Config、Settings 介面說明。先在 Home 確認目前的連線,在 Config 確認已啟用的設定檔,再前往 Settings → DNS 檢查解析設定。不同平台的選單配置可能不同,請勿直接照搬行動版的操作位置。

  1. 記下 Home 顯示的目前連線與 Global Routing 選項,並先儲存目前 Config 的副本。節點與訂閱請向你的服務供應商取得;本文不提供或推薦相關服務。
  2. 前往 Settings → DNS 查看目前設定;同時檢查已啟用 Config 的 [General] 中是否有 dns-server。不要只修改其中一處,就認定實際設定已變更。
  3. 先使用系統 DNS 完成一次連線測試,再只變更 DNS 設定。若使用 DoH,請填入解析服務明確提供的完整 HTTPS 端點,不要填服務供應商的介紹頁面。
  4. 儲存後重新建立連線,再次開啟相同網域。如果仍顯示舊結果,先考慮快取與 App 既有連線,再判斷設定是否生效。

以下兩張卡片用於核對欄位意義,並非可直接使用的解析服務。範例中的 192.0.2.53 是文件專用位址,dns.example.com 是範例主機名稱;兩者都必須替換為你有權使用且確認可連線的實際值。

傳統 DNS 核對

設定位置
Settings → DNS
系統值
system
位址範例
192.0.2.53,僅供格式說明
設定項目
[General] 下的 dns-server

輸入 IP 只會指定解析目標,不會自動啟用加密傳輸。

DoH 核對

協定
https://
端點範例
https://dns.example.com/dns-query
路徑
請以解析服務提供的實際路徑為準
憑證要求
憑證有效,且符合端點主機名稱

DoH 端點不是訂閱連結,請勿將訂閱內容填入 DNS 欄位。

若使用 Config 檔案管理 DNS,可先用以下最小片段建立系統 DNS 基準。這只是檔案片段,不包含代理與規則設定,請勿將它當成完整設定檔,直接覆蓋現有檔案。遠端 Config 更新可能會變更檔案內容,更新後請重新檢查相關欄位。

[General]
dns-server = system

DNS 如何搭配規則分流

Global Routing 的 Proxy、Direct、Config、Scene 是不同的路由模式,不是四種 DNS 協定。Proxy 和 Direct 用於選擇整體出站方式;Config 依目前設定檔中的規則處理;Scene 則依所選場景的設定處理。排查規則前,應先確認目前模式符合預期;在 Direct 模式下,不能用存取結果證明某條代理規則已生效。

以下片段示範網域規則、IP 規則與最終規則的排列順序。example.com 和 192.0.2.0/24 僅為語法範例;PROXY 必須對應目前設定檔中可用的代理策略。

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

DoH 請求本身也需要連線至伺服器。若端點使用網域名稱,首次連線通常必須先取得該網域的位址,這稱為初始解析。若初始解析失敗,或無法連線至端點,可能會出現一般網站也一直等待解析的情況。請避免形成循環依賴:例如設定端點必須透過代理連線,代理卻又依賴該端點完成解析。

如何確認 DNS 是否生效

驗證分為設定、查詢與出站三個層面。介面顯示已儲存,只代表輸入內容已被接受;網站能開啟,只代表某條可用路徑完成了存取。要得出可靠結論,需將目前設定、查詢結果與實際連線紀錄相互比對,而不能只看單次網頁是否載入成功。

  1. 固定測試條件。使用同一台裝置、同一個 Wi-Fi、同一個節點、同一個 Global Routing 模式與同一個目標網域,只變更 DNS。記錄修改前後是否出現解析逾時、連線逾時或 TLS 錯誤。
  2. 檢查查詢結果。使用目前平台可用的 DNS 查詢工具或連線紀錄,查看目標網域的 A/AAAA 結果。若查詢工具自行指定了其他 DNS 伺服器,就只能驗證該伺服器,不能證明 Shadowrocket 的目前設定已生效。
  3. 檢查端點。使用 DoH 時,查找與端點主機名稱相符的連線紀錄,並核對實際連接埠。即使出現 HTTPS 連線,也不代表已成功取得 DNS 回應,還需一併檢查錯誤紀錄。
  4. 檢查規則。查看目標請求命中的規則、策略與出站。若解析成功但命中非預期策略,請回到 Config 調整規則順序,而非繼續更換解析器。
  5. 重複測試。重新建立連線並重新開啟 App 後再測一次,接著單獨切換至行動網路重測。網路切換測試應與第一次測試分開進行,避免將網路差異誤認為 DNS 差異。

快取會明顯影響判斷。系統、瀏覽器、App 和解析器都可能快取結果,既有連線也可能持續沿用。頁面立即開啟,不一定代表進行了新的查詢;更換 DNS 後仍看到原位址,也不一定表示修改失敗。應比對紀錄中的新查詢時間與連線時間,不要頻繁切換設定。

判斷方式:先確認解析,再檢查出站

如果已取得合理的 A/AAAA 結果,但連線紀錄顯示後續逾時,下一步應檢查目標位址是否可連線、IPv6 路徑與代理出站,不要再預設更換 DNS 就能解決問題。

DNS 常見問題與排除方式

設定 DoH 後所有網頁都無法開啟,該先檢查哪裡?

先還原修改前的系統 DNS 基準並重新建立連線。若存取隨即恢復,請逐一核對 DoH 完整 URL、端點主機名稱的初始解析、憑證與裝置時間。不要關閉憑證驗證來略過錯誤;端點路徑填錯也可能導致查詢失敗。

為什麼在家裡正常,公司內部網域卻無法使用?

先確認該網域是否只能透過公司內部 DNS 解析。外部解析器通常不會有內部紀錄;請恢復該網路所需的系統解析設定,或使用經管理員確認的分流解析設定。不要將公司內部網域大量交由外部端點測試。

已解析出位址,但網頁仍一直載入,怎麼辦?

在 Home 確認連線狀態與 Global Routing,再檢查 Config 中命中的策略。分別檢視 A 與 AAAA;如果只有 IPv6 目標連線失敗,應檢查 IPv6 路徑。解析成功與位址可連線是兩回事,不能只依 DNS 結果判斷線路狀態。

檢測頁面顯示其他解析器,是否代表設定沒有生效?

不一定。檢測結果可能反映解析服務的上游或出口,App 也可能採用獨立解析。請先確認測試時 Shadowrocket 已連線,再檢查目前 Config、DNS 查詢與端點連線紀錄;不能只憑顯示的機構名稱判斷解析路徑。

訂閱更新逾時,也應該先更換 DNS 嗎?

先釐清是訂閱網域解析失敗、HTTPS 連線失敗,還是服務供應商回傳錯誤。訂閱請向你的服務供應商取得;若連結失效或授權狀態異常,請向服務供應商確認。只有紀錄明確顯示網域解析失敗時,才依本文的 DNS 比較步驟排查。

最後保留能在實際網路中穩定完成解析,且符合內網存取與隱私需求的設定。恢復日常使用前,請刪除文件範例值、還原所需的 On Demand 條件,並儲存已驗證的 Config。之後若同時更換網路與設定,應重新建立比較基準。

Shadowrocket 官方下載