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

了解 Shadowrocket 的三種 DNS 來源:何時沿用系統 DNS、何時設定自訂 DNS 或 DNS over HTTPS,並附上 [General] 區段的 dns-server 設定範例。

本文重點

本文適用於已在 Shadowrocket(小火箭)匯入自有設定檔,並需要調整網域解析的使用者。先釐清 DNS 解析與流量出站的差異,再比較系統 DNS、自訂 DNS 和 DoH 的適用情況;接著備份 Config、修改 dns-server,並在相同網路下每次只調整一項設定,確認是否保留變更。

DNS 解析與規則分流各自處理什麼?

DNS 用來將網域名稱解析為 IP 位址等記錄。開啟網站時,解析只是連線流程的一部分;取得位址後,還需要進行路由選擇、建立傳輸連線、完成 TLS 交握並載入網頁資源。因此,「更改 DNS 後可以開啟」可作為排查線索,但「網頁無法開啟」不一定代表 DNS 故障。

Shadowrocket 的 dns-server 用來指定解析上游;規則中的 DIRECT、PROXY 則用來指定符合條件的流量處理方式。兩者並非同一項設定。使用加密解析不代表網站流量一定經由代理,使用系統 DNS 也不代表網站流量一定直連。

網域查詢 解析上游 回傳位址 建立連線 載入頁面

上述流程呈現的是排查時需要區分的階段,不代表所有規則都必須等解析完成才會套用。DOMAIN-SUFFIX 可直接比對網域後綴;IP-CIDR 和 GEOIP 依 IP 位址比對,只有網域資訊時可能需要先解析。規則依序判斷,最後的 FINAL 會處理未符合其他規則的流量;修改 DNS 不會自動調整規則順序。

系統 DNS、自訂 DNS 與 DoH 的適用情況

「系統」與「自訂」描述解析器的來源;DoH 描述查詢的傳輸方式。這兩種分類並非完全平行:手動填入 DoH 位址,本質上也是自訂解析上游。選擇時應一併考量網路連線狀況、內部網域需求和查詢傳輸方式,而不只是比較名稱。

設定方式 適用情況 主要限制
系統 DNS 目前的 Wi-Fi 或行動網路解析正常;需要存取由目前網路解析的內部網域。 解析來源會隨網路變動,實際行為也受系統設定與網路管理政策影響。
自訂一般 DNS 需要固定使用某個解析器,而且其 IP 位址可從目前網路連線。 一般 DNS 通常使用 UDP 53,也可使用 TCP 53;查詢本身不具備傳輸加密。
DNS over HTTPS 已有可信且可連線的 DoH 端點,並需要加密用戶端至解析端點之間的查詢傳輸。 需要 HTTPS 連線正常、憑證有效,且端點網域可完成啟動解析;解析服務仍可處理查詢內容。
53
一般 DNS 常用連接埠:UDP / TCP
443
DoH 的 HTTPS 預設連接埠
1 項
每輪對照測試只調整一項設定

結論:先保留可正常運作的基準設定,再決定是否固定解析上游

目前網路解析正常且需要存取內部網域時,先沿用系統 DNS。只有明確需要固定解析器或加密查詢傳輸時,才分別測試自訂 DNS 或 DoH,並保留可還原的原始設定。

在 Config 修改前,先確認目前使用的設定檔

本文以編輯設定檔中的 [General] 區段為操作基準,不依賴特定版本介面上的按鈕位置。Home 用來查看連線狀態與 Global Routing,Config 用來管理設定檔,Settings 用來調整 App 設定。只編輯未啟用的檔案,通常不會改變目前連線使用的設定。

  1. 在 Home 記錄目前的連線項目與 Global Routing 設定值。若要依規則測試,請使用 Config 模式,並確認目前啟用的設定檔。
  2. 進入 Config,備份或複製目前的設定檔。保留原有 DNS 設定行和其他 General 參數,避免同時變更多個項目。
  3. 開啟該檔案的編輯功能,找到 [General]。若已有 dns-server,請修改原有設定行,不要新增多個同名設定來嘗試切換。
  4. 儲存後確認測試檔案已啟用,再中斷並重新連線,讓後續測試套用新設定。
  5. 記錄目前使用 Wi-Fi 或行動網路、測試網域、遇到的狀況及還原方式,再開始比較。

[General] 區段中 dns-server 的三種寫法

以下是三個互斥的最小範例:每次只選用一個,取代目前設定檔中的對應設定。請勿用這些短範例覆寫整份設定檔,否則會遺失原有規則和其他參數。若現有設定檔包含專用網域對應或其他 DNS 選項,也需要一併確認其作用。

沿用系統 DNS

[General]
dns-server = system

system 表示使用系統提供的 DNS,適合作為比較基準,尤其是目前網路需要解析內部網域時。此處的「系統」不代表固定使用某個解析器位址;切換 Wi-Fi、行動網路或系統網路設定後,解析來源可能隨之改變。

設定自訂一般 DNS

[General]
dns-server = 1.1.1.1

1.1.1.1 是一般 DNS 位址的寫法範例,不代表推薦在所有網路中使用。請選用自己確認可信且可連線的解析器位址。只填入 IP 位址不會讓一般 DNS 自動變成 DoH,也無法據此判斷查詢是否經由代理傳輸。

設定 DNS over HTTPS 端點

[General]
dns-server = https://dns.example.com/dns-query

dns.example.com 是保留作為範例的網域,上述位址僅用來展示語法,不能直接用於解析。實際使用時,請替換為 DNS 服務提供的完整 DoH 端點,包含 https://、主機名稱和路徑。/dns-query 是常見路徑,但仍須依端點的實際要求設定,不要只填入服務首頁。

一般 DNS 檢查項目

設定區段
[General]
設定鍵
dns-server
位址格式
解析器 IP 位址
常用連接埠
UDP / TCP 53

先確認目前網路能連線至該位址,再比較解析結果。

DoH 檢查項目

設定區段
[General]
設定鍵
dns-server
位址格式
完整 HTTPS 端點
憑證要求
憑證有效且主機名稱相符

端點主機名稱本身也需要完成啟動解析,不能只檢查 URL 拼寫。

DoH 處理查詢傳輸,不取代出站連線檢查

DoH 透過 HTTPS 保護用戶端與解析端點之間的 DNS 查詢傳輸,但不會隱藏解析服務本身需要處理的查詢,也無法取代網站連線所需的 TLS。解析器回傳的位址可能因地理位置、快取和服務政策而異,結果不同本身不能證明設定錯誤或速度更快。

DoH 端點使用網域名稱時,用戶端必須先取得該端點的位址,這個步驟通常稱為啟動解析。如果端點網域無法解析、憑證驗證失敗,或無法透過 HTTPS 連線至端點,即使設定內容符合語法,也可能無法正常解析。

不要將 Global Routing 的 Proxy、Direct、Config 分別對應到不同 DNS 類型。這些是流量處理模式;Scene 用來切換場景相關設定,並不是第四種 DNS 協定。為了取得可比較的結果,測試 DNS 時請維持相同模式、連線項目和規則檔案。

按照相同步驟驗證,避免快取造成誤判

瀏覽器、系統和 App 都可能保留連線或解析快取。修改設定後,已開啟的頁面仍可繼續載入,不代表新的解析器已生效;第一次開啟速度較慢,也可能是因為新連線需要額外交握。請針對同一組目標重複觀察,不要只依一次頁面載入結果下結論。

  1. 建立基準:維持目前網路,使用原設定造訪一個常用網站和一個目前無法正常使用的網站,分別記錄「解析逾時」、「連線逾時」或「部分頁面資源載入失敗」等具體狀況。
  2. 只修改 DNS:保持連線項目、Global Routing 和規則不變,只替換 dns-server,儲存後重新連線。
  3. 送出新請求:關閉原有頁面後重新造訪,並參考連線記錄或日誌中實際可見的資訊進行檢查。無痕視窗也不保證系統 DNS 快取已清除。
  4. 還原後再比較:還原原本的 DNS 設定後再測試一次。如果兩種設定都無法連線,應繼續檢查目標服務、出站連線和規則,不要反覆更換解析器。
  5. 另外測試網路變更:最後再切換 Wi-Fi 與行動網路重複測試,不要在修改 DNS 的同一輪測試中同時切換網路。

DNS 設定常見問題

改用 DoH 後,所有網站都無法開啟,該怎麼辦?

先還原備份中的 dns-server,重新連線並確認原本的狀況已恢復。接著檢查 DoH 端點是否為完整 URL、端點網域能否完成啟動解析,以及 HTTPS 憑證是否有效。本文的 example.com 位址僅為語法範例,不能作為實際服務使用。

公司內部網域只有使用系統 DNS 才能開啟,該怎麼設定?

先還原 dns-server = system,並在原本的公司網路中確認。一般公開解析器通常無法解析內部 DNS 區域,不能因為它能解析公開網站,就直接取代內部解析器。若需要混合解析,請先向網路管理員確認網域範圍與解析要求,再調整現有設定。

DNS 已回傳位址,網頁卻一直轉圈,怎麼辦?

返回 Home 檢查連線狀態與 Global Routing。在 Config 模式下確認目標是否符合預期規則,再檢查出站連線和 TLS 錯誤。此時問題可能已發生在解析之後,繼續更換 DNS 未必有幫助。

更新訂閱後,之前修改的 DNS 設定不見了?

進入 Config 檢查目前啟用的檔案和 [General] 內容,確認更新的是連線清單還是完整遠端設定。完整設定重新整理時可能會取代本機編輯內容;請先保留個人副本並比較差異,再決定在哪個檔案中維護 DNS 設定。

在 App Store 下載先確認正版資訊