蜜蜂加速器下载
蜜蜂加速器下载 Logo
远程办公

WireGuard公钥配置示例及实操步骤详细说明

WireGuard公钥配置示例及实操步骤详细说明

WireGuard公钥是整个VPN对等节点身份认证的核心,完全摒弃了传统VPN常用的用户名密码认证体系,所有节点的公钥都可以公开分发,私钥仅保存在对应本地节点,这篇文章结合两台Linux服务器作为对等节点的通用场景,给出可直接复用的WireGuard公钥配置示例及实操步骤,帮用户避开常见的配置疏漏。

WireGuard公钥体系的核心原理说明

在WireGuard的加密架构里,每一个对等节点都独立生成一对非对称密钥,公钥用来做身份校验和加密会话密钥的协商,公钥本身不涉及敏感信息,就算被第三方截获也无法反向推导出私钥。

网络设备:WireGuard公钥:配置示

两台对等Linux服务器通过WireGuard密钥体系完成加密VPN互联的实操场景。

很多新手容易混淆公钥和私钥的分发逻辑,私钥绝对不能通过任何网络渠道传输,必须生成后就保存在对应节点的/etc/wireguard目录下,权限设置为只有root可读,而公钥可以任意同步给所有需要对接的对端节点,这是WireGuard公钥配置示例说明里最基础的规则。

配置前的环境准备与密钥生成步骤

实操前你需要准备两台可以互通网络的设备,蜜蜂这里我们用两台部署在不同地域的Linux云服务器作为示例,设备A作为WireGuard服务端,设备B作为客户端节点,两台设备都提前安装好WireGuard软件包。

先在设备A上执行wg genkey命令生成私钥,蜜蜂加速器官网将输出的内容重定向保存到wgpriv.key文件,之后再通过管道符把私钥传入wg pubkey工具,生成对应的设备A公钥,把公钥内容复制出来单独留存,不要和私钥放在同一个文件里。

用完全相同的操作在设备B上生成自己的私钥和对应公钥,这一步完成后,你手里应该有两组完全独立的公私钥对,注意不要把两个节点的私钥搞混,后续配置错误会直接导致节点无法握手。

两端配置文件的公钥字段填写示例

打开设备A的WireGuard配置文件,通常命名为wg0.conf,在[Interface]段下面先把刚才生成的设备A私钥填入PrivateKey字段,然后指定节点的内网VPN地址和监听端口。

在配置文件的[Peer]段里,填入设备B的公钥,注意这里填写的一定是对端的公钥,不是本端的,很多新手在这里搞反,直接把自己的公钥填进去,会导致WireGuard服务启动后完全无法和对端建立连接。

切换到设备B的配置文件,同样在[Interface]段填入设备B自己的私钥,设置对应的VPN内网地址,之后在[Peer]段里填入设备A的公钥,同时补充设备A的公网IP地址和监听端口信息,这样两端的公钥配置就完成了,这也是WireGuard公钥配置示例说明里最核心的配置部分。

配置生效后的校验与故障定位方法

两端都执行wg-quick up wg0命令启动WireGuard接口之后,直接在任意一端执行wg show命令,查看输出内容里的peer部分,如果看到对端的公钥信息正常显示,并且后续有最新的握手时间字段,就说明公钥认证已经成功完成。

如果执行wg show之后看不到任何握手记录,首先排查公钥是否填错,你可以在对应节点执行wg pubkey < 本节点私钥文件,输出的内容和你之前留存的公钥做比对,确认本地密钥没有生成错误。

还要检查系统防火墙是否放通了WireGuard的监听端口,UDP协议的端口如果被拦截,就算公钥配置完全正确,两端也无法完成加密握手,这个问题和公钥本身无关,但是很多新手会误以为是公钥配置出错。

日常使用过程中,如果你需要新增第三个对等节点,只需要生成新节点的公私钥对,把新节点的公钥添加到原有两个节点的Peer配置段里,同时把原有节点的公钥也填入新节点的配置,不需要修改之前已经配置好的公私钥内容,整个扩展过程非常简便。

连接排障编辑组
连接排障编辑组
内容编辑

按设备、网络、客户端和服务端逐层检查,让故障定位更有条理。

查看更多文章
配置入门

从一个连接问题开始

遇到首次使用新节点的验收相关问题,可从“从基础连通到常用业务逐项验证”开始阅读。试用一次不代表所有时段都有相同性能,需要结合具体环境判断。