← 中文资源

简体中文版本

自动配置 WireGuard 对端

生成对端密钥、分配地址与 AllowedIPs,并重载接口,使新对端加入网络无需手改配置或重启隧道。

阅读英文原文

概述

手改服务器配置并重启隧道会短暂断开所有对端,也容易出错。以脚本生成每对端密钥、按对端地址收敛 AllowedIPs,并用 syncconf 热加载,可让加入与撤销都成为可重复的自动化操作。

关键步骤

  1. 为每个对端生成密钥对,记录公钥与分配地址。
  2. 添加 AllowedIPs 限定为该对端地址的 Peer 块。
  3. 用 wg syncconf 应用变更,避免完全重启接口。
  4. 撤销访问时移除 Peer 块与密钥后重新同步。

验证

  • 新对端无需重启即可加入。
  • 现有对端在更新期间保持连接。
  • 撤销后该对端立即无法通信。
  • 服务器不保存对端私钥。

注意事项

  • WireGuard 没有内建的用户管理,开通与撤销都需自行实现。
  • AllowedIPs 是路由与加密绑定机制而非细粒度防火墙,应配合真实防火墙规则。

适用范围

本条目围绕「自动配置 WireGuard 对端」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。

# generate a peer
wg genkey | tee peer.key | wg pubkey > peer.pub
# server config addition
[Peer]
PublicKey = <peer.pub>
AllowedIPs = 10.8.0.5/32
# apply without dropping peers
wg syncconf wg0 <(wg-quick strip wg0)