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

了解 Shadowrocket 中系統 DNS、自訂 DNS 與 DNS over HTTPS 的設定位置與適用情境,並逐步排查 DNS 解析異常。

本文摘要

本文適合已在 Home 選好伺服器,並希望調整網域解析方式的使用者。先以系統 DNS 建立可用基準,再到 Config 的目前設定檔確認 dns-server。需要使用 DNS over HTTPS 時,請填入已確認可用的完整端點,並分別檢查解析、規則與連線結果。涉及代理連線的操作,均以使用者已有自己的服務商與訂閱為前提。

DNS 設定會影響解析,不等於變更連線策略

Shadowrocket(小火箭)中的 DNS 設定用來決定如何取得網域名稱的 IP 位址。瀏覽器瀏覽網頁時,取得位址與建立連線是兩個階段。解析成功只表示取得了解析結果,無法證明該位址上的服務可連線,也無法證明目前的伺服器能完成後續連線。

Home 用來選擇伺服器及控制連線,Config 用來管理設定檔,Settings 用來調整 App 設定。本文以 Config 中的文字設定檔路徑說明 DNS,方便明確記錄修改項目。開始前,請先確認目前選取的設定檔,避免只修改到未啟用的副本。

53
傳統 DNS 通常使用的 UDP / TCP 連接埠
443
DoH 使用 HTTPS 時的預設連接埠
2 個階段
分別驗證網域解析與後續服務連線

Global Routing 設為 Config 時,會依設定檔規則處理連線;Proxy 與 Direct 用來選擇相應的全域路由模式;Scene 則會套用所選情境的設定。這些項目不能與 DNS 傳輸方式畫上等號。選取 Proxy 不代表所有解析都會自動改用 DoH,選取 Direct 也不能單憑此點證明解析一定使用系統 DNS。

系統 DNS、自訂 DNS 與 DoH 的選擇時機

本文所說的「自訂 DNS」專指手動輸入傳統 DNS 解析伺服器位址。廣義來說,手動輸入 DoH 端點也屬於自訂設定。比較時,請區分「解析請求交給誰處理」與「請求透過什麼方式傳輸」,否則容易把更換位址誤認為傳輸已加密。

系統 DNS

建議優先使用

使用系統目前提供的解析環境。作為初次設定與故障排除的基準,可減少額外端點無法連線、憑證錯誤等變數。此處建議的是起始順序,並非所有網路環境下的最終選擇。

適用情境:初次連線、恢復基準、存取依賴本機解析的網路資源

自訂傳統 DNS

指定已知解析伺服器的 IP 位址。傳統 DNS 本身不提供傳輸加密;實際能否連線取決於目前的網路與路由。單純更換 IP 位址,無法解決所有網域的存取問題。

適用情境:網路管理員指定了解析伺服器,或需要比對解析結果

DNS over HTTPS

透過 HTTPS 將 DNS 查詢傳送至支援 DoH 的端點。請使用解析服務明確提供的完整 URL,不要把一般網站首頁當成解析介面。此方式保護的是傳輸至該端點的連線,解析服務仍可處理查詢內容。

適用情境:已有可信且可連線的 DoH 端點,需要加密 DNS 傳輸

結論:先建立一個可用的基準

若系統 DNS 能正常解析目標網域,請先儲存這份設定,再單獨切換至 DoH。若切換後才發生問題,優先檢查端點及至端點的連線;不要同時更換伺服器與路由規則。

在 Config 設定 DNS:先備份,再逐項修改

文字設定檔中,常見的設定位置是 [General] 區段下的 dns-server。以下操作只會修改目前設定檔的解析設定,不需要重新匯入現有訂閱。若設定檔來自遠端更新,請先保留本機副本,因為後續更新可能會覆寫本機修改。

  1. 記錄目前基準

    在 Home 記下目前選取的伺服器與 Global Routing 值。在 Config 確認選取的設定檔,並透過該設定檔的操作選單保留一份副本。

  2. 開啟文字編輯

    前往 Config → 目前設定檔右側的 ⓘ → Edit Plain Text。找到現有的 [General] 區段與 dns-server,直接修改原有鍵值,不要重複新增同名鍵。

  3. 設定解析方式

    若要恢復系統解析,請填入 dns-server = system。使用傳統 DNS 時,請填入已確認可用的 DNS 解析伺服器 IP;使用 DoH 時,請填入服務說明提供的完整 HTTPS 端點。

  4. 儲存並重新連線

    儲存後回到 Config,確認啟用的仍是剛才修改的設定檔。接著回到 Home 中斷連線並重新連線,讓測試使用重新載入後的設定。

  5. 重新測試網域

    在相同網路、相同伺服器及相同路由模式下,再次瀏覽目標網域。記錄是否取得解析結果,以及後續連線是否成功,再決定要保留或還原設定。

恢復系統 DNS 的最小設定片段如下。這只是設定內容範例,不需要用來取代整份檔案。若已有 [General],只需修改其中對應的一行,並保留其他參數與後續規則。

[General]
dns-server = system

DoH 位址怎麼填:完整 URL、憑證與初始解析

DoH 位址包含通訊協定、主機名稱與服務路徑。常見路徑為 /dns-query,但並非所有服務都使用這個路徑。請複製解析服務提供的端點,不要自行拼湊。若端點指定非預設連接埠,也必須保留。

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

上方的 resolver.example.com 是保留用的示範網域,僅用來說明格式,不能當成可用的解析服務貼上測試。實際設定時,請使用自己確認有效的端點。URL 必須保留服務要求的大小寫、路徑與必要參數,不要把一般網頁位址或訂閱連結填入 DNS 欄位。

不要將網域名稱直接換成任意查到的 IP 位址來修復 HTTPS。這可能破壞憑證名稱驗證,也可能遺失服務所需的主機名稱資訊。若需要固定位址,請依解析服務與 App 支援的設定方式處理。

DNS 解析異常排查:區分無結果、錯誤結果與連線失敗

排查時先保留故障現況:目前網路類型、目標網域、啟用的設定檔、Global Routing 值,以及大致錯誤訊息。每次只變更一個條件。若同時更新訂閱、更換伺服器又修改 DNS,即使恢復存取,也難以判斷真正有效的修改是哪一項。

觀察到的現象優先檢查下一步處理
切換至 DoH 後,多個網域都逾時端點完整 URL、憑證、端點連線狀況切回 system 重新測試;確認基準恢復後,再檢查 DoH
已取得解析結果,但網頁連線逾時實際套用的策略與伺服器連線狀況確認 Global Routing 與設定檔規則,不要先反覆更換 DNS
一般網域正常,內部網域失敗是否依賴區域網路提供的解析結果恢復目前網路的系統解析並驗證,再確認是否需要保留本機解析
Wi-Fi 正常,行動網路失敗兩種網路是否都能連線至解析端點固定伺服器與設定檔,只切換網路並分別記錄結果
修改後狀況沒有改變修改的設定檔是否已啟用,舊連線是否仍在重複使用確認 Config 中選取的項目,重新連線並再次發出服務請求

排查規則時,需要同時理解網域條件與位址條件。DOMAIN-SUFFIX 會比對網域後綴;IP-CIDR 與 GEOIP 會依 IP 條件比對;FINAL 則處理前面規則都未命中的連線。更換解析結果可能影響位址類規則的比對結果,但不會自動修正規則順序。

比對 Global Routing 的 Config 與 Proxy,有助於判斷規則的影響,但不要將暫時測試用的模式當成長期解決方案。若只有在 Config 下失敗,請檢查實際命中的策略。涉及位址類規則時,也要確認是否有 no-resolve 等會影響解析行為的選項。

結論:取得位址後,改查連線流程

若同一網域已穩定取得位址,而問題發生在後續連線,請將排查重點轉向策略、伺服器與目標服務。持續更換 DNS 只會引入新變數,讓問題範圍更難確認。

儲存設定前的檢查與還原順序

解析設定應在實際使用的網路環境中驗證。公共解析服務不一定能解析家庭或辦公室網路中的內部名稱;加密傳輸也不代表解析結果更適合目前網路。若裝置需要同時存取內部網路與公共服務,請先確認本機解析需求,再規劃更細緻的設定。

Shadowrocket 是 Apple 平台上的閉源商業 App,主要供 iPhone、iPad 使用,唯一取得管道為 App Store。系統需求請以 App Store 頁面標示為準。App 一次性買斷與連線服務方案是兩件不同的事;DNS 設定也不會增加或取代使用者現有的連線服務。

Shadowrocket 正版下載