概述
手改服务器配置并重启隧道会短暂断开所有对端,也容易出错。以脚本生成每对端密钥、按对端地址收敛 AllowedIPs,并用 syncconf 热加载,可让加入与撤销都成为可重复的自动化操作。
关键步骤
- 为每个对端生成密钥对,记录公钥与分配地址。
- 添加 AllowedIPs 限定为该对端地址的 Peer 块。
- 用 wg syncconf 应用变更,避免完全重启接口。
- 撤销访问时移除 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)