2026-08-04 · 协议科普 · 约 10 分钟

Shadowrocket WireGuard 配置:私钥、Peer 公钥与 Allowed IPs 怎么填

逐项解释在 Shadowrocket 添加 WireGuard 时 Private Key、Public Key、Endpoint、Allowed IPs、MTU 的含义,以及如何对应服务商给的配置文件。

本文速览

在 Shadowrocket(小火箭)填写 WireGuard,先区分本机的 Interface 与远端的 Peer:本机 Private Key、隧道地址来自 Interface,远端 Public Key、Endpoint、Allowed IPs 来自 Peer。本文以用户已有自己的服务商与配置资料为前提,说明字段归属、添加步骤以及连接失败时的核对顺序。文中的地址只用于解释格式,不能用于实际连接。

一、先分清 Interface 与 Peer 的身份

WireGuard 使用密钥对识别通信双方,而不是通过账号和密码登录。服务商交付的配置通常包含 [Interface] 与 [Peer] 两部分;这里的“本机”指使用这份客户端配置的设备,“远端”指要连接的服务器。抄写时必须保留这个方向,不能看到 Public Key 就把本机公钥填进远端公钥栏。

按配置段落区分本机与远端

Interface:本机身份
  • PrivateKey:本机私钥,需要保密。
  • Address:分配给本机的隧道地址,可带 CIDR 前缀长度。
  • MTU:隧道接口的最大传输单元,可能未指定。
  • DNS:配置文件给出的解析服务器信息,不是远端连接地址。
Peer:远端身份
  • PublicKey:远端公钥,用来识别对端。
  • Endpoint:远端域名或 IP 与 UDP 端口。
  • AllowedIPs:归属这个 Peer 的目标地址范围。
  • PresharedKey:可选的预共享密钥,双方必须一致。

字段归属以交付给本机的客户端配置为准,不要拿服务器端配置直接逐项照填。

例如,客户端配置中的 Address = 10.66.0.2/32 表示本机在隧道内使用的 IPv4 地址;Endpoint = 192.0.2.10:51820 才是建立通信时访问的远端地址。把两者互换,既不会得到正确的远端入口,也不会得到正确的隧道源地址。

二、Private Key 与 Public Key 分别填哪一个

Shadowrocket 的 WireGuard 编辑项中,Private Key 对应客户端 [Interface] 下的 PrivateKey;Peer 的 Public Key 对应客户端 [Peer] 下的 PublicKey。界面带空格,配置文件关键字通常不带空格,含义并没有改变。

本机密钥核对

来源
客户端配置的 [Interface]
Private Key
完整复制 PrivateKey 的值
本机 Public Key
由本机私钥推导,用于远端登记
保密范围
私钥不放入截图、聊天记录或公开文档

自行更换私钥会改变本机身份,需要同步更新远端登记的客户端公钥。

远端密钥核对

来源
客户端配置的 [Peer]
Public Key
完整复制该 Peer 的 PublicKey
Preshared Key
仅在资料明确提供时填写
对应关系
远端公钥必须与当前 Endpoint 所在服务匹配

公钥与预共享密钥不是同一种字段,不能相互替代。

WireGuard 密钥区分大小写,常见文本形式是长度为 44 个字符的 Base64 字符串,末尾可能带 =。复制时不要带上 PrivateKey = 这样的字段名,也不要漏掉末尾字符。长度符合格式只能说明外观可能正确,不能证明密钥与服务器登记内容一致。

三、Endpoint、隧道地址与 MTU 的对应方法

Endpoint 同时包含远端地址和 UDP 端口。若编辑页将地址与端口拆开,就拆成两项填写;不要把整个“地址:端口”字符串塞进只接受地址的输入框。51820 是常见示例端口,不是所有 WireGuard 服务都使用的固定值,实际填写必须遵循自己的资料。

配置字段 格式示例 填写与核对要点
Endpoint 192.0.2.10:51820 拆分时地址为 192.0.2.10,端口为 51820;传输使用 UDP。
IPv6 Endpoint [2001:db8::10]:51820 方括号用于完整 Endpoint 中区分地址与端口;独立地址栏按该栏接受的格式填写。
Address 10.66.0.2/32 这是本机隧道地址;若界面拆分地址与前缀长度,应分别填写。
AllowedIPs 10.66.0.0/24 表示该 Peer 对应的地址范围,不是本机地址,也不是域名列表。
MTU 1420 单位为字节;这是说明用数值,不是适用于所有网络的固定答案。
PersistentKeepalive 25 单位为秒,用于定期发送保活包;若编辑页提供对应项,再按资料填写。

MTU 影响隧道单个数据包的大小。数值过大时,某些路径可能出现小请求正常、大响应停滞等现象,但这些现象也可能由 DNS、远端服务或丢包造成。先保留服务商指定值;没有指定时保留应用默认值,不要把“降低 MTU”作为所有故障的第一步。

四、Allowed IPs 与 Shadowrocket 分流规则不是一层设置

AllowedIPs 同时参与 WireGuard 的 Peer 选择与接收地址校验。对发往隧道的流量,它用于确定目标地址对应哪个 Peer;对收到并解密的流量,它用于检查源地址是否属于该 Peer 允许的范围。它只描述 IP 网络,不接受 example.com 这样的域名。

0.0.0.0/0 覆盖全部 IPv4 地址,::/0 覆盖全部 IPv6 地址,但这不等于强制 Shadowrocket 把所有应用流量交给这条服务器。Global Routing 的姿态与 Config 规则先影响流量走向;当流量实际交给 WireGuard 后,还需要该 Peer 的 Allowed IPs 覆盖目标地址。

Config:按规则使用

推荐

按当前 Config 中的规则选择策略。用于恢复日常配置前,应确认目标流量的规则确实指向预期服务器或策略组,并核对 FINAL 兜底。

适合:已经准备好规则、需要明确区分直连与代理流量的使用场景。

Proxy:临时隔离规则因素

在适用的代理路由范围内统一使用代理,可用于减少 Config 分流对测试的干扰;它不能修复错误密钥,也不能扩展远端实际可达的网段。

适合:确认服务器参数后,临时排查是否因规则未命中而直连。

Direct:直连路径

流量使用直连路径。此时能打开公网网页,不能作为 WireGuard 服务器配置成功的证据,也不能据此判断远端私有网段是否可达。

适合:核对本地网络本身是否能够访问同一个公网测试目标。

如果服务商只允许访问 10.66.0.0/24,不要为了测试公网网页而擅自把 Allowed IPs 改成双栈全地址范围。即使客户端接受这个改动,远端也可能没有提供公网转发、IPv6 路由或对应的访问权限。应使用资料明确允许访问的目标验证连接。

五、在 Home 添加并验证 WireGuard

添加前保留原始资料,并记录当前 Global Routing。Home 中的服务器条目、Config 中的规则文件和 Settings 中的应用设置是不同对象:建立服务器条目并不表示已经切换到某份规则文件。以下步骤采用手动输入方式,编辑页的可用字段以应用内实际显示为准。

  1. 核对资料

    确认客户端配置包含 Interface 私钥与地址,以及 Peer 公钥、Endpoint 和 Allowed IPs;若提供 Preshared Key 或 MTU,一并记录,避免只复制文件的一半。

  2. 选择类型

    进入 Home → 右上角「+」→ Type → WireGuard。先确认 Type,避免把 WireGuard 公钥填进其他协议的 Password 字段。

  3. 填写字段

    按本机与远端分组填写。将 Endpoint 的地址和端口对应到编辑页的相关输入项,再核对 Private Key、Peer Public Key、隧道地址以及可用的附加项。

  4. 保存选中

    保存并返回 Home,点选刚添加的服务器,确认左侧选中标记。若当前规则使用策略组,还应核对该组实际选中的服务器,不能只看 Home 的默认选择。

  5. 连接测试

    打开 Home 连接开关,首次使用时按系统提示允许添加 VPN 配置。使用 Connectivity Test 检查测试目标的连通结果,再访问服务商明确允许的目标地址。

  6. 恢复设置

    若为排查临时切换了 Global Routing,验证后恢复原有姿态。到 Settings → On Demand 核对按需连接设置,排查期间避免它触发自动连接或断开,干扰手动测试。

六、常见问题:按身份、路径、目标逐项排查

私钥和公钥都填了,为什么仍然超时?

先确认 Public Key 来自客户端文件的 Peer,而不是本机公钥;再检查 Endpoint 地址、UDP 端口和 Preshared Key。WireGuard 不会像账号登录那样保证返回“密码错误”,超时也可能是 UDP 路径不通,不能只凭这一现象判定密钥错误。

为什么换个 Wi-Fi 就不能用了?

保持同一服务器、同一目标和同一 Global Routing,分别测试 Wi-Fi 与蜂窝网络,避免同时改动多个条件。若仅一个网络失败,优先核对该网络的 UDP 可达性、Endpoint 域名解析和路径 MTU,再检查 Settings → On Demand 是否对该网络设置了不同动作。

IP 地址能访问,域名却打不开,怎么查?

先确认两次访问指向同一服务,再检查当前 Config 中的 DNS 设置和域名规则。直接访问 IP 与使用域名可能命中不同规则,也可能因 TLS 证书名称不同而产生不同结果;不要据此直接替换 Peer 公钥或远端端口。

同一份配置能同时放到 iPhone 和 iPad 吗?

是否允许多设备使用由已有服务的配置决定。两台设备同时使用同一私钥与隧道地址,可能使远端识别到的通信端点反复变化,出现一台恢复、另一台中断。需要同时在线时,应向已有服务商确认是否能分别分配独立身份和隧道地址。

Allowed IPs 填了全部地址,为什么仍有网站直连?

返回 Home 检查 Global Routing,再到 Config 核对当前启用文件中的 DOMAIN-SUFFIX、IP-CIDR 和 FINAL 等规则及其策略。Allowed IPs 不会覆盖应用层分流;如果目标已被规则送往 DIRECT,就没有进入这条 WireGuard 路径。

七、保存前的最终检查与敏感资料处理

完成一次可重复的验证后,保留原始配置与最终使用值的对应记录。手工修改、重新导入或更新已有订阅之后,都应重新核对实际条目;不能假定本地编辑值一定会在后续更新中保留。涉及服务地址或密钥变更时,以自己的服务商最新交付资料为准。

Shadowrocket 是 Apple 平台的付费客户端,以 iPhone 与 iPad 使用为主,唯一获取入口是 App Store,开发者为 Shadow Launch Technology Limited。客户端一次性买断,客户端买断 ≠ 线路套餐;系统要求与购买适用性以 App Store 页面标注为准。本文只解释已有配置的填写和验证,不改变服务商授予的网络访问范围。

App Store 正版核验