VPN 基础

WireGuardPeer配置常见填写错误盘点与正确设置

WireGuardPeer配置常见填写错误盘点与正确设置 | Zoog

很多自行部署WireGuard隧道的用户,经常遇到配置完之后长时间握手失败、隧道连通后部分网段无法访问的问题,排查过程中往往忽略Peer端的配置细节,反复调整防火墙规则也找不到故障根源。本文围绕WireGuard Peer配置常见填写错误展开盘点,结合普通家庭用户、小型办公场景下的实际配置场景,梳理不同错误的排查路径和正确设置方式,帮使用者快速定位配置类故障。

公钥与预共享密钥的填混错误

这是新手部署WireGuard时最高发的Peer配置错误,不少刚接触该协议的用户,会把本地Interface段生成的私钥直接粘贴到Peer的Public Key字段里,完全没有意识到两端密钥的对应逻辑。

网络设备:WireGuard Peer配

用户正在逐一核对WireGuard Peer配置项,排查隧道握手失败故障

WireGuard的加密握手逻辑里,每个节点的密钥对都是独立生成的,Peer字段下的公钥必须是对端节点生成的公钥内容,哪怕错填成本端自己的公钥,两端的密钥校验也完全无法匹配,根本不会完成任何握手流程。

还有不少用户会把预共享密钥和对端公钥的位置填混,预共享密钥是WireGuard提供的可选第二层加密防护,不属于必须配置项,但如果开启该功能,两端Peer配置里的预共享密钥必须完全一致,不能和任何一方的公私钥串混淆。

验证这类错误的方式非常简单,你可以直接查看WireGuard的运行日志,如果出现“Invalid peer key”类的报错,第一时间把两端的Peer公钥分别复制出来比对,确认填入的内容确实是对端生成的公钥,再重新加载配置即可。

端点地址与监听端口的配置误区

很多用户配置Peer的Endpoint字段的时候,只填写了对端的域名或者公网IP,忘了加冒号后面的WireGuard服务端监听端口,还有部分内网部署场景下的用户,把对端的内网私有IP直接填到了公网访问的Peer配置里。

举个常见的实际场景,比如你家里的路由器运行WireGuard服务端,外出使用的手机作为客户端配置Peer,VPN下载如果你把服务端的内网192.168.1.x地址填到客户端Peer的Endpoint字段里,在外网环境下数据包根本路由不到这个内网地址,自然没法发起任何握手请求。

还有用户会把对端的WireGuard监听端口错填成其他服务的端口,比如把SSH服务的22端口填进Endpoint的端口位,导致WireGuard的UDP握手包根本发不到正确的服务端口上,服务端完全收不到客户端的握手请求。

排查这类错误的时候,你可以在客户端用抓包工具抓取WireGuard网卡对应的出站UDP包,查看目标IP和端口是不是你预期填写的内容,如果发出去的目标端口或地址和对端实际信息不符,直接回头修改Peer的Endpoint字段即可。

允许IP段的错配问题

很多刚接触配置的用户搞混Peer字段里的AllowedIPs和Interface字段里的Address的区别,把本端的虚拟内网IP直接填到了Peer的AllowedIPs字段里,导致系统生成的路由规则完全错乱。

AllowedIPs的核心作用是定义哪些网段的流量会被导向WireGuard隧道转发,这个字段里的IP段必须是对端节点能覆盖的路由范围,VPN下载比如服务端要给客户端分配10.0.0.2的虚拟IP,那服务端Peer配置里的AllowedIPs就要填写10.0.0.2/32,不能填写服务端自己的虚拟IP地址。

还有一类非常普遍的错误,用户为了让绝大多数流量走隧道转发,直接在客户端Peer的AllowedIPs里填了0.0.0.0/0,但是忘了排除本地局域网的网段,导致你访问本地的NAS、网络打印机时流量也被往隧道转发,反而连不上本地设备。

如果确实需要让绝大多数公网流量走隧道,正确的设置方式是把AllowedIPs写成0.0.0.0/1, 128.0.0.0/1,同时把本地局域网的私有网段单独从AllowedIPs里排除,避免本地流量被错误路由到隧道中。

排查这类配置问题的时候,ZoogVPN你可以直接查看系统生成的对应路由表,如果发现WireGuard虚拟网卡的路由条目和你预期的转发网段不符,优先核对Peer的AllowedIPs配置,绝大多数路由异常的问题都出在这个字段的填写错误上。

VPN 基础编辑组 - Zoog
VPN 基础编辑组 ·内容编辑
解释加密隧道、连接协议与出口地址,帮助理解 VPN 的工作方式。
查看更多文章
连接指南

从一个连接问题开始

遇到机场网络中的短时VPN使用相关问题,可从“保存工作进度,记录认证到期提示与重连时刻”开始阅读。场所网络的时限不会因开启VPN而消失,需要结合具体环境判断。