开启 3 天免费试用
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。


迁移 WireGuard 服务器应先准备新主机,让一台设备试切,验证实际路径,再证明它能回到旧主机。端点切换、服务器身份变更和旧资源退役要分开决策,让失败的迁移有明确可恢复边界。
关键要点:
- 两端都保留可用控制台与最后可信配置。
- 先迁移一台客户端;DNS 更新不会强制所有客户端重新解析。
- 回退实测是读者验收要求,不代表作者已经完成实验。
本文以 Ubuntu 24.04 LTS、原生 wg-quick@wg0、一台现有服务器与一台替代服务器为范围,按官方文档整理,未进行完整端到端实测。所有验证现象均需在你的授权环境确认。自建网络运维概览说明整体责任边界。
你需要 sudo 权限、两台主机上不依赖隧道且已验证的控制台、维护窗口、受保护备份和允许短暂断连的客户端。不要在无权管理的生产子网操作,也不要停止共享主机上未获授权的服务。本文不授权在他人的端点做实验。
登记新旧公网端点及 UDP 端口、服务器公钥、隧道地址、客户端密钥标识与 AllowedIPs、互联网或私网目的地、DNS 与防火墙负责人,以及服务器出站接口。另记 IPv6 支持、路由策略、客户端解析行为和旧厂商资源清单。记录需受访问控制,不公开私钥或完整客户端配置。
承担双机重叠费用前,可比较继续自控 VPS 与托管出口的责任。仍需控制自己的密钥或私网路由时再迁移;日后改变决定,也不会自动取消旧资源。
改流量前先写回退条件,例如失去管理连接、试切客户端无法完成必要应用请求、DNS 路径异常或 IPv6 走了未批准路径。按维护安排确定最长观察窗口,并指定能操作两端控制台的人,不能用统一等待时长代替这项决策。
用唯一名称保护旧服务器的审阅配置与撤销记录,同时登记开机启用状态、当前运行状态、转发和防火墙规则。单一配置文件不包含云防火墙、IP 转发开关或计费状态。
复制前先核对设备身份,按peer 清单与撤销流程剔除备份之后已撤销的设备。迁移窗口冻结 peer 修改,或维护由两端启动前共同应用的唯一日期化记录。
在新主机通过既定软件包流程安装发行版 WireGuard 工具,只重建必要路径:限制管理入口、放行指定 UDP 端口,仅在作为网关时启用转发,并将返程路由或 NAT 限于目标隧道范围与实际出站接口。Ubuntu 网关文档分别解释这些组件,不应照抄别的主机网卡名,也不应清空防火墙。[2]
| 选择 | 客户端变更 | 运维条件 |
|---|---|---|
| 使用新服务器身份 | 更新每台已迁移客户端的服务器公钥和 Endpoint | 新旧主机身份明确分离,可并存 |
| 保留可信身份 | 保持服务器公钥,仅改 Endpoint | 安全转移秘密,且只有指定主机运行 |
| 怀疑服务器密钥泄漏 | 轮换身份及受影响共享秘密 | 不把已泄漏密钥作为回退捷径 |
下文的并行单客户端试切优先采用新身份。在新主机用严格 umask 创建密钥对,私钥留在主机,仅分发公钥。WireGuard 按密钥认证 peer,改变地址本身不会产生新身份。[1]
有意保留旧身份时,仅通过已认证、主机密钥经过核验的管理通道转移私密材料,目的文件只允许 root 访问。必须先停旧隧道再启克隆实例;这一路径会有中断,不能原样套用双身份并行试切。多个可达主机错误共用身份,会使端点学习与排障归属不明确。
两台独立服务器仅在网络真正隔离、客户端每次只启用一个指定配置时,才可使用相同隧道子网。不要把两份克隆桥接进同一路由域。若要换子网,应检查全部客户端地址、路由、ACL 和 DNS 依赖,不能当作仅修改 Endpoint。
将服务器配置放在 /etc/wireguard/wg0.conf,保持 root 所有、权限 0600,只保留获准 peer 并重放所有撤销记录。文件管理模式下省略 SaveConfig 或设为 false,否则关闭时可能覆盖修改;DNS 与钩子依赖也必须适配新主机。[3][4]
新身份分支可保留旧服务器,同时启动替代主机:
sudo systemctl start wg-quick@wg0
sudo systemctl is-active wg-quick@wg0
sudo wg show wg0 public-key
sudo wg show wg0 listen-port
sudo wg show wg0 peers
命令在新主机执行。对照登记表核验公钥和端口,不以 active 推断迁移成功。不要输出 showconf 或包含秘密字段的 dump。通过相应控制面核对隧道地址及云厂商入站 UDP 规则。
若启动失败,停止迁移,让客户端继续用旧主机,并采用服务与开机排障流程。先建立新主机自身基线,再考虑批量切换。
在本地保存试切客户端最后可信配置,清楚标注每份配置对应的主机。新身份分支需同时更新服务器公钥与 Endpoint 地址、端口;仅在该 peer 对使用预共享密钥时更新对应项。保留客户端私钥,除非另外决定轮换该设备身份。
同一时间只启用新旧两份配置中的一份,否则客户端路由重叠会破坏对照。向授权隧道服务发送请求,在新服务器观察这个客户端的握手及计数变化。客户端通过普通网络打开网页,不能证明流量进入新隧道。
域名 Endpoint 何时解析取决于客户端实现与生命周期。改 DNS 记录不保证正在运行的隧道立即换目的地。记下客户端和版本、当前实际解析端点,以及文档要求的重连或重新启用操作;结合Endpoint 地址与漫游机制制定动作,不要循环重启无关服务追逐缓存。[1][4]
条件允许时,先在授权试切配置中明确填写新主机端点,再单独验证计划使用的域名。DNS 切换前保存旧记录与 TTL;回退也要确认客户端真正使用的端点,不能只看控制台记录已经改回。
用一台仍在旧主机的未改客户端作对照,同时检查试切客户端。记录时间、配置身份、目的地、预期结果及观察到握手的主机,不记录配置秘密。
| 检查方法 | 预期现象 | 失败处理 |
|---|---|---|
| 试切设备访问获准隧道地址 | 新主机有新握手,服务响应 | 核对身份、UDP 路径及应用权限 |
| 必要互联网应用使用全隧道 | 所选流量经新主机出口 | 排查路由、转发与 NAT |
| 客户端解析必要域名 | 使用预期解析器及响应 | 检查 DNS 钩子与解析策略 |
| 检查 IPv6 和主动断开隧道 | 符合声明的入隧道、阻断或直连策略 | 未批准路径出现时停止验收 |
| 旧主机对照设备重复请求 | 原路径仍可用 | 先恢复独立回退路径 |
互联网出口部署应从实际应入隧道的浏览器核对试切设备公网 IP。分流可能正确地让该浏览器保持普通出口,应先写明预期,而非直接判迁移失败。IPv4 观察不能证明 DNS 路径、IPv6、UDP 或断线保护。
已握手但应用流量失败时,使用路由与转发排查清单,只修故障所在层。不要同时换密钥、DNS 和防火墙规则,否则会失去回退所需的判断依据。
迁移其他设备前,在授权窗口内有意让试切客户端回到最后可信旧配置。停用新配置,同时恢复旧服务器公钥和 Endpoint,再按客户端文档重新启用。确认旧主机出现新握手,重做必要应用、DNS、IPv6 与断线检查。旧身份若已泄漏,就不能安全回退,应建立可信恢复路径。
只有恢复成功后才让试切设备再次前进。保留身份分支的回退应先停替代主机,再恢复旧主机当前审阅配置和撤销记录,然后启动旧实例;恢复时不能同时运行克隆。仅撤销迁移专属防火墙或 DNS 变更,并独立复验控制台。
按小组迁移其余设备,逐台记录所选服务器公钥与实际端点。观察到预先约定的窗口结束,并覆盖有代表性的重新连接。旧主机无流量只是辅助证据,不代表休眠设备已迁移;宣告全部完成前需联系相应设备负责人。
新配置验收后再启用开机服务,并在保留控制台的情况下测试获授权重启。观察窗口结束前保留旧回退资源。退役时停止并禁用旧隧道、撤销旧实例专用凭证、删除迁移专属规则,并按保留策略处理备份。通过厂商各自生命周期删除旧实例、磁盘、保留地址和快照;关机与取消计费须分别确认。
选择新服务器身份时需要更换。可信身份可保留公钥,但必须安全转移秘密,并保证明确的独占运行归属。
较短 TTL 影响解析缓存,不会强制每个运行中的 WireGuard 端点更新。应核对实际目的地并按客户端文档重新解析。
本文并行方案采用不同身份。若有意保留原身份,必须先停止旧隧道,再启动替代服务器。
握手证明 peer 通信,不证明转发与解析策略。应用路径、预期 IP、DNS 和 IPv6 行为仍须分别检查。
受控迁移期间可配置在两个隔离主机。保持不同服务器身份、单一活动客户端配置及同步的撤销记录。
设备迁移、回退及观察窗口达到书面条件后再删除。磁盘、地址与快照可能继续收费,须分别核对。
实际把授权试切客户端切回可信旧路径,并验证必要行为才算完成。本文提供流程,没有声称作者执行了该实验。
来源:
Sources checked 2026 年 10 月 11 日。
延伸阅读:
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。