Wi-Fi 与路由器

WireGuardPeer配置教程典型配置示例详细说明


WireGuardPeer配置教程典型配置示例详细说明

很多刚接触WireGuard的用户在配置对等节点(Peer)时,经常遇到参数抄完却完全连通失败的问题,零散的教程没有讲清每个参数的对应关系,很容易出现两端配置不匹配的情况。本文就结合典型配置示例,完整拆解WireGuard Peer配置的全流程逻辑,从前置校验到逐行参数说明,再到后续的故障定位方法,帮用户理清每个配置项的实际作用,避开常见的配置误区。

配置前的前置条件校验

不少用户刚启动WireGuard服务就直接报错,现象是加载配置文件瞬间退出,完全没有运行日志输出,可能的核心原因是没有提前确认两端的网络基础运行条件。

逐项检查的第一步,要确认WireGuard服务端和客户端都已经完成适配当前系统的安装,内核模块或者用户态运行组件都正常加载,没有出现依赖库缺失的报错,预期结果是在终端执行wg show命令,不会输出“命令不存在”的相关提示。

接下来要确认两端的非对称密钥对生成正确,每一个独立的Peer节点都需要自己专属的公钥和私钥,不能把服务端的私钥传到客户端设备上,也不能用同一组密钥配置多个不同的对等节点,私钥仅保存在生成它的本地节点,公钥可以安全分发到需要对接的对端节点。

典型服务端Peer配置示例逐行说明

很多用户搞混服务端配置里Peer区块的指向对象,现象是配置完成后客户端发起连接完全没有任何响应报文抵达服务端,大概率是服务端的Peer段参数填写错误。

标准的服务端配置里,[Peer]区块首先要填入的是对端客户端的公钥,不是服务端自身的公钥,接下来的AllowedIPs字段要填写分配给这个客户端的专属虚拟内网IP,不能和其他Peer的虚拟IP段冲突,也不能和WireGuard本身的监听端口所属的网段重复。

如果需要允许这个客户端转发指定网段的流量,也可以在AllowedIPs里补充对应的路由段,注意不要直接把0.0.0.0/0填到服务端Peer的AllowedIPs里,除非你确认只给这一个客户端做全流量转发,否则会出现全局路由冲突,导致其他已经接入的节点连通异常。

典型客户端Peer配置示例逐行说明

客户端配置里的Peer区块对应的是WireGuard服务端的节点信息,很多新手在这里把参数指向搞反,现象是启动客户端之后一直卡在握手超时,wg show输出的对端入包计数始终为0。

这里的PublicKey字段必须填写服务端的公钥,不能填入客户端自己的公钥,Endpoint字段要填写服务端的公网可路由IP或者内网可达IP,后面跟上WireGuard服务端的UDP监听端口,如果服务端本身在运营商NAT后面且没有做对应的端口映射,填写公网地址也无法完成对接。

PersistentKeepalive参数如果是客户端自身处于内网NAT网络后面的场景就需要开启,用来定期向服务端发送保活包维持网关的NAT映射条目,不需要手动随意调整间隔数值,按照通用场景的推荐配置填写即可,盲目调大或者调小参数反而会导致连接不稳定。

配置完成后的连通性校验与故障排查

全部配置写完之后两端都启动WireGuard服务,先执行wg show命令查看对等节点的最新握手时间字段,如果这个字段一直为空,说明两端的报文根本没有抵达对端,优先检查两端的防火墙规则,有没有放通WireGuard对应的UDP端口。

如果握手时间已经正常更新,但是两端的虚拟内网IP之间无法正常ping通,接下来检查两端Peer段的AllowedIPs配置有没有写反,有没有把对端的虚拟IP漏写在允许的网段里,同时确认系统的IP转发功能已经开启,没有被自定义的系统路由规则拦截转发流量。

这里要注意一个常见的配置误区,很多用户误以为把Peer的AllowedIPs填成全量0.0.0.0/0就可以自动实现全流量代理,实际上还要配合系统的路由表规则修改才能生效,单纯修改Peer配置是无法达到预期转发效果的。

最后也要注意网络隐私边界的防护,不要随意把自己的Peer配置里的私钥、服务端接入端口信息公开分享,避免非授权的未知节点接入自己的私有虚拟网络,破坏自身搭建的WireGuard网络的访问权限规则。

网络加速编辑组
从延迟、抖动和丢包入手,分析不同网络环境下的连接体验。
查看更多文章
配置入门

从一个连接问题开始

遇到Linux命令行代理设置相关问题,可从“检查目标命令的有效设置,用同一地址做对照”开始阅读。修改一个终端环境不一定影响已有后台服务,需要结合具体环境判断。