在 Home 新增 WireGuard 前,先備妥既有服務提供者提供的完整參數。本文依序說明本機身分、遠端 Peer、位址範圍、MTU 與驗證方式,並著重區分用戶端私鑰與遠端公鑰,也說明為何「儲存成功」、「顯示 VPN 標示」和「實際連線成功」並非同一回事。已有訂閱的使用者也可依本文檢查匯入後的欄位,不必重新手動輸入。
一、先區分本機 Interface 與遠端 Peer
在 Home 開啟既有 WireGuard 項目的編輯頁面,先將原始設定中的 [Interface] 與 [Peer] 分開核對。前者描述本機隧道身分與本機位址,後者則描述通訊對端。Shadowrocket 的表單可能將這些欄位放在同一個編輯頁面,但欄位所屬仍然不同,請勿依出現順序盲目複製。
在 Private Key 欄位填入本機用戶端私鑰,並在遠端 Peer 對應的 Public Key 欄位填入伺服器公鑰。伺服器也必須登錄與此用戶端私鑰相對應的公鑰。只有雙方登錄的身分相互吻合,才能建立預期的加密通訊;即使格式正確,若將用戶端公鑰填入遠端公鑰欄位,也無法完成正確的身分驗證。
若在原始設定中看到 Endpoint = 203.0.113.10:51820,Address 對應遠端位址,Port 對應連接埠;此位址屬於文件範例網段,不能用於實際連線。請勿將 [Interface] 下的隧道位址填入遠端 Address,也不要因範例連接埠常見,就取代服務提供者給的其他連接埠。
二、在 Home 新增 WireGuard 並逐項儲存
在 Home 右上角點選 +,進入 Add Server 後將 Type 設為 WireGuard,再填寫對應欄位。以下順序供手動核對;不同介面版面可能會收合部分進階項目,實際顯示哪些欄位請以目前的編輯頁面為準。原始設定中的鍵名與表單標籤不一定完全相同,例如 PresharedKey 對應 Pre-shared Key。
-
選擇類型
依序前往 Home → + → Type → WireGuard。先確認協定類型,再填寫內容,避免將 WireGuard 金鑰誤填至其他協定的 Password 欄位。
-
填寫端點
將 Peer 的 Endpoint 拆分填入 Address 與 Port。若原值包含 IPv6 位址,請依表單要求分別填寫位址與連接埠,不要將用來分隔連接埠的方括號一併填入一般位址欄位。
-
填寫身分
在 Private Key 欄位填入本機私鑰,在 Peer 對應的 Public Key 欄位填入遠端公鑰。若原始設定包含 Pre-shared Key,再填入雙方約定的相同值。
-
核對位址
將 Interface 的 Address 對應至本機隧道位址欄位,並核對 IPv4、IPv6 與前綴長度。MTU 依既有設定填寫,不要將本機隧道位址當成 DNS 或遠端伺服器位址。
-
儲存並驗證
儲存後返回 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 只是起始參考值,並非適用於所有網路的固定答案。
- 先記錄:記下原本的 MTU、目前連線的網路、測試目標與失敗情況,確保之後可以還原。
- 接著單獨調整:只變更 MTU,重新建立連線,並使用相同目標重複測試;不要同時更換 DNS、金鑰和規則。
- 視情況逐步降低:例如原值為
1420時,可在了解服務設定的前提下以1380作為對照;此數值僅供診斷示範。 - 注意 IPv6:
1280是 IPv6 的最小鏈路 MTU 要求;涉及 IPv6 時,不要將任意更小的值當成通用修復方式。 - 沒有改善就還原:較小的 MTU 會增加傳送相同資料所需的封包數,不應將「越小越穩定」當成長期設定原則。
六、依現象疑難排解:儲存成功後仍無法存取
在 Home 選取剛儲存的 WireGuard 項目後,先確認連線開關,以及實際請求使用的策略,再查看請求結果。系統顯示 VPN 標示,代表相關網路延伸功能正在執行,不代表遠端已完成交握。WireGuard 也不保證閒置時持續產生業務流量,因此應主動發出可重複的測試請求。
| 觀察到的狀況 | 優先核對 | 後續處理 |
|---|---|---|
| 儲存時回報欄位格式錯誤 | 金鑰是否完整、連接埠是否為數字、位址格式是否正確。 | 對照原始設定逐項貼上,清除多餘空白,不要重新編造金鑰。 |
| 連線後請求持續逾時 | Endpoint、UDP 是否可連線、遠端公鑰,以及伺服器登錄的用戶端公鑰。 | 保持參數不變,改用另一個可用的網路重新測試,並請自己的服務提供者檢查交握紀錄。 |
| 遠端確認已交握,但仍無法存取 | 本機隧道位址、Allowed IPs、遠端轉送與出口設定。 | 先核對位址配置,再區分目標無法連線與網域名稱解析失敗。 |
| 部分網域失敗,其他請求正常 | DNS 結果、Config 命中的策略,以及 IPv4 與 IPv6 路徑差異。 | 比對同一目標的解析與連線紀錄,不要直接歸因於金鑰。 |
| 小型回應正常,大型回應停滯 | 路徑 MTU、封包遺失與遠端鏈路狀況。 | 記錄原值後,單獨調整 MTU 進行對照;不可只憑一次請求下結論。 |
在 Settings → On Demand 核對自動連線條件,避免手動中斷後又被條件觸發連線,造成測試狀態誤判。On Demand 決定何時觸發連線,不會修正 WireGuard 參數。排查完成後,請還原原本的 Global Routing 與 On Demand 設定,並保留有效參數紀錄。
七、儲存前最後核對與取得用戶端
返回項目編輯頁,依照以下清單做最後一次核對,再儲存設定。若項目來自既有訂閱,之後更新時也應檢查關鍵欄位是否仍與伺服器一致;使用者需自行記錄及管理本機手動修改與訂閱來源內容之間的差異。
- Private Key 屬於目前的用戶端,Peer Public Key 屬於遠端伺服器,兩者沒有填反。
- 只有在雙方約定時才填寫 Pre-shared Key;若未設定,請維持未啟用狀態。
- Address 與 Port 是遠端端點;本機隧道位址使用已分配的位址與前綴長度。
- Allowed IPs 與目標位址範圍一致,Global Routing 和 Config 策略也會選用預期項目。
- MTU 保留有依據的數值,測試期間修改過的設定都有記錄原值。
取得 Shadowrocket 時,請先前往本站正版查驗頁,再前往 App Store。開發者為 Shadow Launch Technology Limited,App ID 為 932747118。Shadowrocket 是一次性買斷的閉源商業應用程式,用戶端買斷不等於線路方案,連線參數來自使用者既有的服務設定。主要供 iPhone、iPad 使用;其他 Apple 裝置的相容性與系統需求請以 App Store 頁面標示為準。