Shadowrocket DNS 設定教學:系統 DNS、自訂 DNS 與 DNS over HTTPS 差異

了解系統 DNS、自訂 DNS 與 DNS over HTTPS 在 Shadowrocket 中的用途與取捨,並查看設定檔 dns-server 欄位的寫法。

本文重點

在 iPhone 或 iPad 上使用 Shadowrocket 時,若遇到網域無法開啟或解析結果不如預期,先分清楚「向誰查詢」、「如何傳送查詢」以及「請求最後走哪條路」。本文說明三種 DNS 設定的選擇方式、dns-server 寫法與逐項排查順序;範例位址僅供說明語法。

DNS 在連線過程中負責哪個步驟

瀏覽網域時,裝置通常會先取得對應的 IP 位址,再連線至目標位址。DNS 負責這項查詢;它不等同於 Shadowrocket 的連線開關,也不會直接決定請求使用 Proxy 或 Direct。Shadowrocket 的 Global Routing 決定流量的路由模式;選擇 Config 時,設定中的規則也會影響請求的處理方式。

因此,「已開啟連線,但輸入網域後無法開啟」不能直接歸因於 DNS。可以先區分兩種情況:只有網域連不上、已知可連線的 IP 位址正常,才值得優先檢查解析;網域和 IP 位址都連不上,則還要檢查目前的連線、路由模式及既有服務狀態。不要只憑一次網頁載入失敗,就判定所有 DNS 設定都有問題。

53
一般 DNS 查詢常用的連接埠;是否使用取決於實際設定與網路路徑
443
DNS over HTTPS 通常使用的 HTTPS 連接埠
3 項
分別確認解析來源、查詢傳輸方式與 Global Routing

還有一點容易混淆:應用程式可能使用已快取的解析結果,有些請求也可能由連線另一端處理網域。網頁重新開啟,不代表剛修改的本機 DNS 一定參與了該次查詢。排查時應記錄修改前後的網域、網路環境與失敗情況,避免將快取命中誤認為設定已生效。

如何選擇系統 DNS、自訂 DNS 與 DNS over HTTPS

系統 DNS 表示沿用裝置目前網路提供或系統正在使用的解析設定。切換 Wi-Fi 與行動網路後,實際的解析來源可能跟著改變。這適合作為排查起點:先維持預設行為,確認連線和規則正常,再判斷是否需要變更 DNS。

自訂 DNS 則是明確填入解析伺服器位址。適合已掌握可用伺服器位址,且需要確認不同網路下解析行為的情況。仍須分別確認伺服器是否可連線、是否支援目前的網路環境;填入位址不代表所有網域都會得到相同結果,也不代表查詢會自動加密。

系統 DNS

建議

先沿用目前網路的解析設定,建立可供比較的預設狀態;切換網路後再觀察結果。

適用情況:初次設定、尚未確認問題是否來自解析

自訂 DNS

在設定中指定已知可用的 DNS 伺服器 IP 位址,並另外確認它在目前網路下是否能回應。

適用情況:已有明確的解析服務位址,需要控制查詢目標

DNS over HTTPS

透過 HTTPS 將支援的 DNS 查詢傳送至相應端點;仍須確認端點是否可連線,以及請求的路由方式。

適用情況:已有可用的 DoH 端點,且需要留意查詢傳輸方式

DNS over HTTPS 通常簡稱為 DoH。它描述的是 DNS 查詢的傳輸方式,不是 Global Routing 的新模式,也不能只在一般 DNS 伺服器 IP 前加上 https:// 就完成轉換。DoH 需要有效的 HTTPS 端點;首次連線至端點時,如何解析其主機名稱,以及連線實際採用哪條路徑,也會影響結果。

判斷順序:先維持預設設定,每次只改一項

如果使用系統 DNS 時一切正常,就不要同時更換解析伺服器、DoH 端點和路由模式。每次只變更一個項目,才能判斷差異來自 DNS、傳輸方式,還是規則比對結果。

在 Config 中設定 dns-server:格式與生效範圍

需要編輯設定檔時,先在 Config 找到目前實際使用的設定,確認不是編輯了未啟用的副本。dns-server 是設定檔 [General] 區段中的欄位,不是 [Rule] 中的規則列。修改後儲存設定,再返回 Home 確認目前使用的設定檔與 Global Routing;若要依設定檔規則運作,應選擇 Config 模式。

[General]
dns-server = system

上例中的 system 表示使用系統 DNS。若要示範自訂位址的寫法,可在同一欄位中以英文逗號分隔 IP 位址。以下位址屬於文件專用的示範網段,僅用來說明格式,不能直接填入作為可用的解析服務:

[General]
dns-server = 192.0.2.53, 198.51.100.53
  1. 保留 [General] 區段,欄位名稱寫作 dns-server;等號與位址之間的空格僅為方便閱讀。
  2. 實際使用時,請將範例位址換成已確認可連線的 DNS 伺服器 IP;不要將訂閱連結、網域規則或 DoH URL 填入這個 IP 位址範例。
  3. 儲存後確認目前啟用的設定檔。若切換至 Direct 或 Proxy 模式測試,請分別記錄結果,不要將兩者視為相同的規則環境。

多個位址不代表「第一個位址永遠處理所有查詢,失敗後才改用第二個」的固定保證;實際選擇與備援行為會受到設定及網路狀況影響。若要測試特定伺服器,請先只保留該位址進行測試,再還原原設定。不要將 dns-server 位址清單當成速度排名。

設定 DNS over HTTPS 時還要檢查哪些項目

在 Settings → DNS 查看目前可用的 DNS 選項;若介面提供 DNS over HTTPS 輸入欄位,請填入自己已有且可用的完整 HTTPS 端點,並依介面指示儲存。DoH 端點格式例如 https://dns.example.com/dns-query;此處的網域僅用來展示 URL 結構,並非可直接使用的服務位址。不要將這個 URL 填入前述以伺服器 IP 為例的 dns-server 欄位。

DoH 可以改變由它處理的 DNS 查詢傳輸方式,但無法單獨保證網頁請求也會走相同路徑。若目前網路無法連線至所填端點,或端點主機名稱本身無法完成初始解析,查詢仍可能失敗。請先確認端點位址完整、服務確實可用,再搭配連線狀態與規則檢查請求路徑。

分開記錄 DNS 與請求路由資訊

檢查解析
  • 記錄目前使用的是系統 DNS、自訂位址還是 DoH 端點
  • 切換網路後,使用相同網域再次測試
  • 修改設定後,確認啟用的是已編輯的檔案
檢查路由
  • 在 Home 確認連線狀態
  • 記錄 Global Routing 是 Config、Proxy 還是 Direct
  • 使用 Config 時,再檢查具體規則的比對情況

同時記錄這兩組資訊,才能區分「網域尚未解析」與「解析成功但後續連線失敗」。

例如,DOMAIN-SUFFIX,example.com,DIRECT 表示符合該網域後採用 DIRECT;這不是指定 DNS 伺服器的語法。GEOIP、IP-CIDR 等規則涉及位址比對,FINAL 則會處理未符合前面規則的請求。調整 DNS 可能改變取得的 IP 位址,但不能因此推斷所有規則的比對結果必然改變。

修改後仍無法開啟:依照症狀逐項排查

先固定測試條件:維持相同網路、相同網域與相同的 Global Routing 模式,只變更一項 DNS 設定。記錄「無法解析網域」、「解析後連線逾時」或「只有某個 App 失敗」等具體情況,比籠統地寫「不能用」更有助於找出問題。完成一輪測試後,可以還原原設定,再確認症狀是否隨之恢復。

填入 dns-server 後,為什麼看不出變化?

先到 Config 確認目前使用的檔案是否包含剛儲存的 [General] 欄位,再到 Home 記錄 Global Routing。使用相同網路和網域重新測試;不要只憑已開啟的頁面判斷,既有連線或快取可能沿用先前結果。

改用 DoH 後,網域反而無法開啟?

檢查 URL 是否包含 https://、端點路徑是否完整,並確認所填服務在目前網路下可連線。接著暫時還原先前可用的 DNS 設定;若問題隨之消失,再單獨檢查 DoH 端點及其初始解析。

Wi-Fi 正常,切換網路後就連不上?

分別記錄兩種網路下的 DNS 設定與測試結果。使用系統 DNS 時,切換網路可能改變解析來源;使用自訂位址或 DoH 時,還要確認指定服務在新網路下是否可連線。不要同時修改規則和 DNS。

網域解析成功,網頁卻一直載入中?

返回 Home 檢查連線狀態與 Global Routing。若使用 Config,再檢查 DOMAIN-SUFFIX、IP-CIDR 或 FINAL 等規則的比對方向;解析成功不代表後續連線一定成功。

排查完成後,保留一份已確認可用的設定。若需要重新了解 Home、Config 和連線步驟,可接著閱讀站內入門指南。Shadowrocket 是透過 App Store 取得的 Apple 平台付費 App;iPhone、iPad 及其他裝置的相容性與系統需求,請以 App Store 頁面標示為準。購買用戶端與 DNS 服務、既有訂閱服務內容是不同事項。

確認 Shadowrocket 取得管道與基本操作

先在本站確認 App Store 產品頁和開發者資訊,再依入門指南檢查目前設定與連線狀態。

前往正版驗證頁 查看教學
App Store 正版驗證