蜜蜂加速器旧版本
蜜蜂加速器旧版本 Logo
连接指南

WireGuard公钥配置实操步骤及完整示例说明

WireGuard公钥配置实操步骤及完整示例说明

很多初次部署WireGuard VPN的用户都会遇到服务端启动正常、防火墙端口也放行,但两端始终无法握手连通的问题,这类故障绝大多数都和公钥配置错误、公私钥配对逻辑混淆有关,本文从实际排障场景出发,梳理WireGuard公钥的配置前提、分步校验流程和完整配置示例,帮用户避开常见的配置误区。

公钥配置异常的典型故障现象与初步定位

首先先确认故障的直观表现,你在WireGuard客户端或者服务端执行wg show命令的时候,对端的最新握手时间字段始终为空,或者你主动ping对端内网IP的时候全部丢包,同时确认两端的公网连通性是正常的,没有运营商封WireGuard默认端口的情况。

接下来先排除非公钥类的干扰因素,先确认服务端的UDP监听端口已经在防火墙、蜜蜂加速器官网云服务商安全组里放行,两端的虚拟私网地址没有网段冲突,路由规则也没有出现指向冲突的问题,这两项排查完之后故障依旧,就可以把排查范围锁定在WireGuard公钥配置的环节。

WireGuard公钥的核心逻辑与配置前置要求

WireGuard的加密逻辑里,每一个节点都有独立的一对公私钥,公钥是完全公开可以任意分发的部分,私钥必须严格保存在对应节点本地,绝对不能泄露给任何第三方,也不需要配置到其他节点的配置文件里。

运维人员核对WireGuard公钥配置

运维人员正在排查WireGuard VPN公钥配置错误导致的握手连通故障

很多新手最容易搞反的逻辑是,你在本地节点的配置文件里写的Peer段的公钥,永远是对端节点的公钥,蜜蜂而不是你自己节点的公钥,这个配对逻辑是所有配置错误里占比最高的一类,很多用户直接把自己生成的公钥填到Peer字段里,自然永远无法完成握手。

配置前你需要先在两端分别生成独立的公私钥对,蜜蜂不要在一端生成之后把私钥传到另一端使用,生成命令可以用WireGuard自带的wg genkey和wg pubkey组合,生成之后分别把两端的公钥内容单独复制出来做标记,避免后续弄混。

分步校验与完整WireGuard公钥配置示例说明

先完成服务端的配置写入,打开服务端的WireGuard配置文件,在Interface段先写入服务端自己的私钥,也就是刚才在服务端生成的那串私钥字符串,然后在Peer段里填入客户端的公钥,同时把客户端对应的虚拟内网IP写在AllowedIPs字段里。

接下来完成客户端的配置对应写入,打开客户端的WireGuard配置文件,在Interface段填入客户端自己生成的私钥,然后在Peer段里填入服务端的公钥,同时把服务端的公网IP加监听端口写在Endpoint字段,把需要走VPN的路由网段写在AllowedIPs字段里,这就是核心的配对配置内容。

配置完成之后不要直接启动服务,先做第一步校验,在服务端执行wg pubkey命令后面跟上你配置里的服务端私钥,生成出来的公钥要和你之前标记的服务端公钥完全一致,同时确认你在客户端Peer段里填的公钥就是这个值,没有多余的空格或者换行符。

再做第二步交叉校验,在客户端用同样的方式,通过客户端的私钥反向生成对应的公钥,确认你在服务端Peer段里填入的公钥和这个生成出来的内容完全一致,没有少复制字符、大小写混淆的情况。

配置完成后的验证与常见误区规避

校验完成之后分别启动两端的WireGuard服务,等待几秒之后执行wg show命令,正常情况下你可以看到对端的最新握手时间已经生成,此时尝试ping对端的虚拟内网IP,就可以正常收到回复,代表公钥配对已经完全生效。

要注意一个常见的误区,很多用户会额外在配置文件里加入多余的公钥字段,或者把预共享密钥和公钥的作用搞混,预共享密钥是可选的额外加密层,完全不能替代公钥的配对配置,就算你开启了预共享密钥,两端的公钥配对逻辑还是要保持正确。

另外不要随意从网上复制陌生的公钥填入自己的Peer配置段,这类操作会直接把你的VPN流量导向未知的节点,破坏你原本的网络访问隐私边界,所有Peer段的公钥都必须是你自己可控的对端节点生成的合法公钥。

网络加速编辑组
网络加速编辑组
内容编辑

从延迟、抖动和丢包入手,分析不同网络环境下的连接体验。

查看更多文章
连接指南

找到适合当前设备的指南

遇到Windows多网卡同时在线相关问题,可从“固定一种上网方式复现,再核对实际使用的接口”开始阅读。不要只根据网卡名称推断系统一定优先使用它,需要结合具体环境判断。