ikuuu会员登录
ikuuu
隐私与安全

WireGuardPeer配置常见填写错误盘点与避坑指南


WireGuardPeer配置常见填写错误盘点与避坑指南(ikuuu)

很多自行部署WireGuard的用户都碰到过这类情况:服务端配置明明已经跑通,Peer端的配置文件看起来所有字段都填全了,要么完全连不上服务端,要么连接之后时不时断流、部分内网服务访问异常,这类故障里九成以上都不是网络链路问题,而是Peer段的参数填写踩了隐形的坑。本文结合日常运维中碰到的高频故障案例,把WireGuard Peer配置常见填写错误逐个拆解,给出可直接落地的排查验证方法,帮大家避开不必要的调试弯路。

公网端点(Endpoint)字段的填写误区

不少新手用户以为这个字段只需要填入WireGuard服务端的公网IP就可以正常工作,忽略了IP后面必须追加服务端实际监听的WireGuard端口,比如服务端wg0.conf配置里ListenPort写的是51820,结果Peer端填写的时候漏写端口,或者随手填了其他未开放的端口,这种情况下Peer发出的握手数据包根本找不到服务端的对应监听进程,连最基础的握手响应都收不到。

还有一类更隐蔽的填写错误出现在动态公网IP场景下,部分用户没有给服务端配置动态域名解析,Peer端直接填了之前服务端的旧公网IP,当运营商分配的公网IP变动之后,Peer会直接失联,甚至有用户画蛇添足在IP地址前面加了http://前缀,WireGuard的内核模块完全不识别这类HTTP协议标识,会直接判定Endpoint字段非法,加载配置的时候直接跳过Peer规则。

预共享密钥与公钥的混淆填写问题

刚接触WireGuard的用户最容易搞混的就是Peer段PublicKey字段的对应关系,很多人会把本地Peer节点自己的公钥填到Peer的PublicKey参数里,实际上Peer段的PublicKey必须填写对端节点的公钥,比如手机作为Peer连接家里软路由部署的WireGuard服务端,手机配置里Peer的PublicKey必须是软路由生成的那串base64编码公钥,填成手机自身的公钥的话,两端永远无法完成密钥校验,不可能建立有效连接。

网络设备:WireGuard Peer配

运维人员正在逐一核对WireGuard Peer配置参数,排查连接异常故障

还有不少用户误以为预共享密钥是WireGuard的必填配置,实际上WireGuard本身不强制要求配置PresharedKey字段,ikuuu官网如果服务端根本没有开启预共享密钥校验,Peer端随便填一串自定义字符进去,反而会导致两端加密校验逻辑不匹配,哪怕前面所有参数都填写正确也无法完成握手,排查的时候可以先临时注释掉Peer段的PresharedKey行,测试能不能正常完成握手,就能快速定位是不是这个问题导致的故障。

AllowedIPs字段的边界配置错误

这个字段是WireGuard Peer配置里最容易踩坑的选项,很多用户想让所有上网流量都走VPN隧道,直接把AllowedIPs填成0.0.0.0/0,但是没有额外配置路由规则排除本地局域网网段,导致连接VPN之后本地的打印机、ikuuu智能家居设备全部无法访问,本质上是AllowedIPs的规则会把所有匹配到的IP数据包全部往WireGuard接口转发,原本应该走本地网关的局域网流量也被错误送进了隧道。

还有另一类完全相反的配置错误,部分用户只想访问服务端侧部署的几个内网服务,AllowedIPs只填了服务端WireGuard接口的虚拟IP地址,结果连服务端后面挂载的同网段NAS设备都无法访问,原因是AllowedIPs没有覆盖NAS所在的子网段,WireGuard不会为未声明的网段生成对应的转发路由规则,自然无法把对应流量送进隧道。

这里还有个非常隐蔽的小众误区,很多用户在AllowedIPs里填写多个网段之后,不小心在逗号后面加了多余的空格,比如写成192.168.1.0/24, 10.0.0.0/24,ikuuu官网部分旧版本的移动端WireGuard客户端会把逗号后的空格识别成非法字符,直接跳过这条路由规则,排查的时候可以把字段里所有多余空格都删掉,再重新加载配置测试。

PersistentKeepalive的场景错配问题

不少用户不管自己的Peer节点是在公网环境还是NAT后环境,都随便给PersistentKeepalive参数填一个数值,实际上如果Peer本身拥有独立公网IP,不需要这个参数也能让服务端主动向Peer发起连接,强行配置PersistentKeepalive反而会让Peer定期向服务端发送空握手包,不必要地占用两端的连接资源。

反过来,很多家用宽带下的Peer节点要连接云服务器上部署的WireGuard服务端,忘了配置PersistentKeepalive参数,家用宽带的NAT网关连接表过期之后,隧道就会进入静默断开状态,Peer再也收不到服务端发来的任何数据包,这种场景下给Peer段配置合理的PersistentKeepalive值,就能让隧道长期保持保活状态。

所有配置修改完成之后,不要只看客户端界面显示的“已连接”状态就判定配置正常,最好是在Peer端执行wg show命令查看运行状态,确认最新的握手时间是在几分钟以内,如果握手时间停留在几小时之前,说明配置还是存在异常,没有完成有效的密钥交换,通过这个验证步骤就能过滤掉绝大多数的Peer配置填写错误。

连接排障编辑组(ikuu)
连接排障编辑组
内容编辑

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

查看更多文章
连接指南

找到适合当前设备的指南

遇到直连例外过宽相关问题,可从“缩小到明确需要的目标并保留原规则备份”开始阅读。不能把所有私有网段都默认视作本地资源,需要结合具体环境判断。