Shadowrocket WireGuard 設定教學:Private Key、Peer 公鑰、Allowed IPs 與 MTU

了解 WireGuard 金鑰配對與 Peer,掌握 Private Key、Public Key、Pre-shared Key、Allowed IPs 和 MTU 在 Shadowrocket 的填寫方式及其對連線的影響。

本文重點

在 Home 新增 WireGuard 前,先備妥既有服務提供者提供的完整參數。本文依序說明本機身分、遠端 Peer、位址範圍、MTU 與驗證方式,並著重區分用戶端私鑰與遠端公鑰,也說明為何「儲存成功」、「顯示 VPN 標示」和「實際連線成功」並非同一回事。已有訂閱的使用者也可依本文檢查匯入後的欄位,不必重新手動輸入。

一、先區分本機 Interface 與遠端 Peer

在 Home 開啟既有 WireGuard 項目的編輯頁面,先將原始設定中的 [Interface] 與 [Peer] 分開核對。前者描述本機隧道身分與本機位址,後者則描述通訊對端。Shadowrocket 的表單可能將這些欄位放在同一個編輯頁面,但欄位所屬仍然不同,請勿依出現順序盲目複製。

在 Private Key 欄位填入本機用戶端私鑰,並在遠端 Peer 對應的 Public Key 欄位填入伺服器公鑰。伺服器也必須登錄與此用戶端私鑰相對應的公鑰。只有雙方登錄的身分相互吻合,才能建立預期的加密通訊;即使格式正確,若將用戶端公鑰填入遠端公鑰欄位,也無法完成正確的身分驗證。

32 位元組
WireGuard 金鑰的原始長度;設定中通常以 Base64 表示
UDP
WireGuard 外層傳輸使用的連接埠;必須與遠端監聽值一致
51820
常見的範例連接埠,並非所有服務都固定使用此連接埠

若在原始設定中看到 Endpoint = 203.0.113.10:51820,Address 對應遠端位址,Port 對應連接埠;此位址屬於文件範例網段,不能用於實際連線。請勿將 [Interface] 下的隧道位址填入遠端 Address,也不要因範例連接埠常見,就取代服務提供者給的其他連接埠。

二、在 Home 新增 WireGuard 並逐項儲存

在 Home 右上角點選 +,進入 Add Server 後將 Type 設為 WireGuard,再填寫對應欄位。以下順序供手動核對;不同介面版面可能會收合部分進階項目,實際顯示哪些欄位請以目前的編輯頁面為準。原始設定中的鍵名與表單標籤不一定完全相同,例如 PresharedKey 對應 Pre-shared Key。

  1. 選擇類型

    依序前往 Home → + → Type → WireGuard。先確認協定類型,再填寫內容,避免將 WireGuard 金鑰誤填至其他協定的 Password 欄位。

  2. 填寫端點

    將 Peer 的 Endpoint 拆分填入 Address 與 Port。若原值包含 IPv6 位址,請依表單要求分別填寫位址與連接埠,不要將用來分隔連接埠的方括號一併填入一般位址欄位。

  3. 填寫身分

    在 Private Key 欄位填入本機私鑰,在 Peer 對應的 Public Key 欄位填入遠端公鑰。若原始設定包含 Pre-shared Key,再填入雙方約定的相同值。

  4. 核對位址

    將 Interface 的 Address 對應至本機隧道位址欄位,並核對 IPv4、IPv6 與前綴長度。MTU 依既有設定填寫,不要將本機隧道位址當成 DNS 或遠端伺服器位址。

  5. 儲存並驗證

    儲存後返回 Home,選取該項目並啟動連線;首次出現系統 VPN 設定授權提示時,確認內容後允許新增。接著使用明確經由該項目的請求進行驗證,不能只憑儲存成功就判定連線可用。

三、Private Key、Public Key 與 Pre-shared Key 的對應關係

在編輯頁核對金鑰時,請從完整的原始設定複製,避免多出或漏掉空格、換行及末尾字元。Private Key、Public Key 與 Pre-shared Key 都可能是長度相近的 Base64 文字,但外觀相似不代表可以互換。尤其不可將伺服器私鑰複製到用戶端;用戶端需要的是伺服器公鑰。

本機身分

Private Key
本機用戶端私鑰,來自此用戶端的身分設定。
用戶端公鑰
由本機私鑰衍生,供伺服器登錄此用戶端 Peer。
Interface Address
隧道內部位址,例如文件示意值 10.66.0.2/32;實際值以既有設定為準。
變更影響
更換本機私鑰後,伺服器必須同步登錄新的用戶端公鑰。

本機私鑰僅供本機身分驗證使用,不應提供給他人或放入疑難排解截圖。

遠端 Peer

Public Key
遠端伺服器的公鑰,用於確認通訊對端身分。
Pre-shared Key
選填的額外共用金鑰;啟用時兩端必須一致。
Endpoint
遠端可連線的主機位址與 UDP 連接埠,對應 Address、Port。
Allowed IPs
與此 Peer 關聯的目標或來源位址前綴範圍,並非端點位址。

原始設定未設定 Pre-shared Key 時,請勿自行編寫值填入。

疑難排解紀錄只保留欄位是否存在、位址前綴和連接埠等必要資訊,並遮蔽 Private Key、Pre-shared Key 與完整訂閱連結。Public Key 並非私鑰,但仍可能用來辨識特定設定;公開交流時也應遵循最少必要資訊原則。

四、Allowed IPs 與 Global Routing 分別控制什麼

在使用者既有的 WireGuard 原始設定中,查看 [Peer] 下的 AllowedIPs。它描述與該 Peer 關聯的 IP 前綴:在傳送方向上,用來選擇可交由此 Peer 處理的目標範圍;在接收方向上,則用來限制此 Peer 可使用的內層來源位址。某些實作也會依此建立路由,因此不能將它視為一般備註。

在 Shadowrocket 中,先透過 Global Routing 與 Config 規則決定某個請求使用哪個策略,再確認該 WireGuard 項目本身是否能承載目標流量。兩者屬於不同層次。若目前的 WireGuard 編輯頁面提供 Allowed IPs,請依原值核對;若沒有此欄位,不要將它填入 Address、Public Key 或其他無關欄位,也不要假設原始設定中的所有路由語意都會自動對應為 Config 規則。

設定值涵蓋範圍核對重點
0.0.0.0/0所有 IPv4 目標範圍不包含 IPv6;不代表 Shadowrocket 的所有請求都一定會選用此項目。
::/0所有 IPv6 目標範圍隧道位址、遠端轉送與存取路徑仍須支援 IPv6。
10.66.0.0/24指定的 IPv4 子網僅為位址範圍範例,不能取代使用者實際獲配的網段。

在 Home → Global Routing 驗證時,可使用以下兩種模式,區分「項目本身是否可用」與「規則是否選用了該項目」。日常使用模式仍須依既有設定決定;Global Routing 中的 Direct 不會經過代理項目,Scene 則用於依情境選擇,不應將兩者與 Allowed IPs 的位址範圍混為一談。

Config:依既有規則使用

建議

依照目前 Config 中的規則與策略處理請求。核對 DOMAIN-SUFFIX、GEOIP、IP-CIDR 與 FINAL 指向的策略,確認目標請求確實會選用對應的 WireGuard 項目。

適用情境:已有規則設定,日常依目標分流。

Proxy:排除規則因素

暫時透過目前選取的代理進行請求驗證,以減少 Config 規則選擇造成的變數。此模式無法修正錯誤的金鑰、無法連線的端點或遠端轉送問題,也不保證所有類型的流量都能使用。

適用情境:短暫確認選取的項目,驗證後恢復原本模式。

五、MTU 如何填寫:先保留原值,再判斷路徑問題

在 WireGuard 編輯頁找到 MTU 後,優先保留既有設定提供的值。MTU 限制隧道內單一 IP 封包的大小;WireGuard 的外層封裝也會占用額外空間,因此隧道內可使用的大小通常小於底層鏈路 MTU。不可直接照抄 Wi-Fi 或行動網路鏈路的數值。

若連線已建立且小型請求可以完成,但較大的回應停滯,才將路徑 MTU 列為可能原因之一。單憑「網站無法開啟」不足以確認是 MTU 問題,DNS、遠端出口與分流選擇也可能造成相似狀況。常見設定中的 1420 只是起始參考值,並非適用於所有網路的固定答案。

六、依現象疑難排解:儲存成功後仍無法存取

在 Home 選取剛儲存的 WireGuard 項目後,先確認連線開關,以及實際請求使用的策略,再查看請求結果。系統顯示 VPN 標示,代表相關網路延伸功能正在執行,不代表遠端已完成交握。WireGuard 也不保證閒置時持續產生業務流量,因此應主動發出可重複的測試請求。

觀察到的狀況優先核對後續處理
儲存時回報欄位格式錯誤金鑰是否完整、連接埠是否為數字、位址格式是否正確。對照原始設定逐項貼上,清除多餘空白,不要重新編造金鑰。
連線後請求持續逾時Endpoint、UDP 是否可連線、遠端公鑰,以及伺服器登錄的用戶端公鑰。保持參數不變,改用另一個可用的網路重新測試,並請自己的服務提供者檢查交握紀錄。
遠端確認已交握,但仍無法存取本機隧道位址、Allowed IPs、遠端轉送與出口設定。先核對位址配置,再區分目標無法連線與網域名稱解析失敗。
部分網域失敗,其他請求正常DNS 結果、Config 命中的策略,以及 IPv4 與 IPv6 路徑差異。比對同一目標的解析與連線紀錄,不要直接歸因於金鑰。
小型回應正常,大型回應停滯路徑 MTU、封包遺失與遠端鏈路狀況。記錄原值後,單獨調整 MTU 進行對照;不可只憑一次請求下結論。

在 Settings → On Demand 核對自動連線條件,避免手動中斷後又被條件觸發連線,造成測試狀態誤判。On Demand 決定何時觸發連線,不會修正 WireGuard 參數。排查完成後,請還原原本的 Global Routing 與 On Demand 設定,並保留有效參數紀錄。

七、儲存前最後核對與取得用戶端

返回項目編輯頁,依照以下清單做最後一次核對,再儲存設定。若項目來自既有訂閱,之後更新時也應檢查關鍵欄位是否仍與伺服器一致;使用者需自行記錄及管理本機手動修改與訂閱來源內容之間的差異。

取得 Shadowrocket 時,請先前往本站正版查驗頁,再前往 App Store。開發者為 Shadow Launch Technology Limited,App ID 為 932747118。Shadowrocket 是一次性買斷的閉源商業應用程式,用戶端買斷不等於線路方案,連線參數來自使用者既有的服務設定。主要供 iPhone、iPad 使用;其他 Apple 裝置的相容性與系統需求請以 App Store 頁面標示為準。

App Store 正版入口核對開發者與 App ID