迁移 WireGuard 服务器:端点切换、验收与可靠回退

迁移 WireGuard 服务器:端点切换、验收与可靠回退

Ryan Foster
2026年10月11日· 8 分钟阅读

迁移 WireGuard 服务器应先准备新主机,让一台设备试切,验证实际路径,再证明它能回到旧主机。端点切换、服务器身份变更和旧资源退役要分开决策,让失败的迁移有明确可恢复边界。

关键要点:

  • 两端都保留可用控制台与最后可信配置。
  • 先迁移一台客户端;DNS 更新不会强制所有客户端重新解析。
  • 回退实测是读者验收要求,不代表作者已经完成实验。

迁移 WireGuard 服务器前需要登记什么?

本文以 Ubuntu 24.04 LTS、原生 wg-quick@wg0、一台现有服务器与一台替代服务器为范围,按官方文档整理,未进行完整端到端实测。所有验证现象均需在你的授权环境确认。自建网络运维概览说明整体责任边界。

你需要 sudo 权限、两台主机上不依赖隧道且已验证的控制台、维护窗口、受保护备份和允许短暂断连的客户端。不要在无权管理的生产子网操作,也不要停止共享主机上未获授权的服务。本文不授权在他人的端点做实验。

登记新旧公网端点及 UDP 端口、服务器公钥、隧道地址、客户端密钥标识与 AllowedIPs、互联网或私网目的地、DNS 与防火墙负责人,以及服务器出站接口。另记 IPv6 支持、路由策略、客户端解析行为和旧厂商资源清单。记录需受访问控制,不公开私钥或完整客户端配置。

承担双机重叠费用前,可比较继续自控 VPS 与托管出口的责任。仍需控制自己的密钥或私网路由时再迁移;日后改变决定,也不会自动取消旧资源。

步骤 1:划定 WireGuard VPS 迁移与回退边界

改流量前先写回退条件,例如失去管理连接、试切客户端无法完成必要应用请求、DNS 路径异常或 IPv6 走了未批准路径。按维护安排确定最长观察窗口,并指定能操作两端控制台的人,不能用统一等待时长代替这项决策。

用唯一名称保护旧服务器的审阅配置与撤销记录,同时登记开机启用状态、当前运行状态、转发和防火墙规则。单一配置文件不包含云防火墙、IP 转发开关或计费状态。

复制前先核对设备身份,按peer 清单与撤销流程剔除备份之后已撤销的设备。迁移窗口冻结 peer 修改,或维护由两端启动前共同应用的唯一日期化记录。

在新主机通过既定软件包流程安装发行版 WireGuard 工具,只重建必要路径:限制管理入口、放行指定 UDP 端口,仅在作为网关时启用转发,并将返程路由或 NAT 限于目标隧道范围与实际出站接口。Ubuntu 网关文档分别解释这些组件,不应照抄别的主机网卡名,也不应清空防火墙。[2]

步骤 2:选择保留或轮换服务器身份

选择客户端变更运维条件
使用新服务器身份更新每台已迁移客户端的服务器公钥和 Endpoint新旧主机身份明确分离,可并存
保留可信身份保持服务器公钥,仅改 Endpoint安全转移秘密,且只有指定主机运行
怀疑服务器密钥泄漏轮换身份及受影响共享秘密不把已泄漏密钥作为回退捷径

下文的并行单客户端试切优先采用新身份。在新主机用严格 umask 创建密钥对,私钥留在主机,仅分发公钥。WireGuard 按密钥认证 peer,改变地址本身不会产生新身份。[1]

有意保留旧身份时,仅通过已认证、主机密钥经过核验的管理通道转移私密材料,目的文件只允许 root 访问。必须先停旧隧道再启克隆实例;这一路径会有中断,不能原样套用双身份并行试切。多个可达主机错误共用身份,会使端点学习与排障归属不明确。

两台独立服务器仅在网络真正隔离、客户端每次只启用一个指定配置时,才可使用相同隧道子网。不要把两份克隆桥接进同一路由域。若要换子网,应检查全部客户端地址、路由、ACL 和 DNS 依赖,不能当作仅修改 Endpoint。

步骤 3:先建立新路径,不改全部设备

将服务器配置放在 /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 规则。

若启动失败,停止迁移,让客户端继续用旧主机,并采用服务与开机排障流程。先建立新主机自身基线,再考虑批量切换。

步骤 4:用一台客户端完成 WireGuard 端点迁移

在本地保存试切客户端最后可信配置,清楚标注每份配置对应的主机。新身份分支需同时更新服务器公钥与 Endpoint 地址、端口;仅在该 peer 对使用预共享密钥时更新对应项。保留客户端私钥,除非另外决定轮换该设备身份。

同一时间只启用新旧两份配置中的一份,否则客户端路由重叠会破坏对照。向授权隧道服务发送请求,在新服务器观察这个客户端的握手及计数变化。客户端通过普通网络打开网页,不能证明流量进入新隧道。

域名 Endpoint 何时解析取决于客户端实现与生命周期。改 DNS 记录不保证正在运行的隧道立即换目的地。记下客户端和版本、当前实际解析端点,以及文档要求的重连或重新启用操作;结合Endpoint 地址与漫游机制制定动作,不要循环重启无关服务追逐缓存。[1][4]

条件允许时,先在授权试切配置中明确填写新主机端点,再单独验证计划使用的域名。DNS 切换前保存旧记录与 TTL;回退也要确认客户端真正使用的端点,不能只看控制台记录已经改回。

步骤 5:什么证据能证明新路径可用?

用一台仍在旧主机的未改客户端作对照,同时检查试切客户端。记录时间、配置身份、目的地、预期结果及观察到握手的主机,不记录配置秘密。

检查方法预期现象失败处理
试切设备访问获准隧道地址新主机有新握手,服务响应核对身份、UDP 路径及应用权限
必要互联网应用使用全隧道所选流量经新主机出口排查路由、转发与 NAT
客户端解析必要域名使用预期解析器及响应检查 DNS 钩子与解析策略
检查 IPv6 和主动断开隧道符合声明的入隧道、阻断或直连策略未批准路径出现时停止验收
旧主机对照设备重复请求原路径仍可用先恢复独立回退路径

互联网出口部署应从实际应入隧道的浏览器核对试切设备公网 IP。分流可能正确地让该浏览器保持普通出口,应先写明预期,而非直接判迁移失败。IPv4 观察不能证明 DNS 路径、IPv6、UDP 或断线保护。

已握手但应用流量失败时,使用路由与转发排查清单,只修故障所在层。不要同时换密钥、DNS 和防火墙规则,否则会失去回退所需的判断依据。

步骤 6:证明回退可用,再退役旧服务器

迁移其他设备前,在授权窗口内有意让试切客户端回到最后可信旧配置。停用新配置,同时恢复旧服务器公钥和 Endpoint,再按客户端文档重新启用。确认旧主机出现新握手,重做必要应用、DNS、IPv6 与断线检查。旧身份若已泄漏,就不能安全回退,应建立可信恢复路径。

只有恢复成功后才让试切设备再次前进。保留身份分支的回退应先停替代主机,再恢复旧主机当前审阅配置和撤销记录,然后启动旧实例;恢复时不能同时运行克隆。仅撤销迁移专属防火墙或 DNS 变更,并独立复验控制台。

按小组迁移其余设备,逐台记录所选服务器公钥与实际端点。观察到预先约定的窗口结束,并覆盖有代表性的重新连接。旧主机无流量只是辅助证据,不代表休眠设备已迁移;宣告全部完成前需联系相应设备负责人。

新配置验收后再启用开机服务,并在保留控制台的情况下测试获授权重启。观察窗口结束前保留旧回退资源。退役时停止并禁用旧隧道、撤销旧实例专用凭证、删除迁移专属规则,并按保留策略处理备份。通过厂商各自生命周期删除旧实例、磁盘、保留地址和快照;关机与取消计费须分别确认。

总结

  • 复制前冻结身份、路由与撤销记录。
  • 批量迁移前验证一台客户端的新路径和旧路径恢复。
  • 验收与资源账目核对完成后再退役基础设施。

常见问题

迁移时必须更换服务器公钥吗?

选择新服务器身份时需要更换。可信身份可保留公钥,但必须安全转移秘密,并保证明确的独占运行归属。

降低 DNS TTL 会立即迁移客户端吗?

较短 TTL 影响解析缓存,不会强制每个运行中的 WireGuard 端点更新。应核对实际目的地并按客户端文档重新解析。

单客户端试切时能让两台服务器共用身份吗?

本文并行方案采用不同身份。若有意保留原身份,必须先停止旧隧道,再启动替代服务器。

新握手能证明互联网访问正常吗?

握手证明 peer 通信,不证明转发与解析策略。应用路径、预期 IP、DNS 和 IPv6 行为仍须分别检查。

同一客户端密钥能出现在两台主机上吗?

受控迁移期间可配置在两个隔离主机。保持不同服务器身份、单一活动客户端配置及同步的撤销记录。

什么时候可以删除旧虚拟机?

设备迁移、回退及观察窗口达到书面条件后再删除。磁盘、地址与快照可能继续收费,须分别核对。

什么才算实测过回退?

实际把授权试切客户端切回可信旧路径,并验证必要行为才算完成。本文提供流程,没有声称作者执行了该实验。

来源:

  1. WireGuard — Quick Start — https://www.wireguard.com/quickstart/
  2. Ubuntu — Using the VPN as the default gateway — https://ubuntu.com/server/docs/how-to/wireguard-vpn/vpn-as-the-default-gateway/
  3. Ubuntu — Common tasks in WireGuard VPN — https://ubuntu.com/server/docs/how-to/wireguard-vpn/common-tasks/
  4. Ubuntu Noble — wg-quick(8) — https://manpages.ubuntu.com/manpages/noble/man8/wg-quick.8.html

Sources checked 2026 年 10 月 11 日。


延伸阅读:

开启 3 天免费试用

注册即可免费体验全部高级功能。

*仅限新用户;每位用户只能获得一次试用。

迁移 WireGuard 服务器:端点切换、验收与可靠回退 | AethoVPN