VPN 基础

WireGuard公钥常见填写错误及避免方法

WireGuard公钥常见填写错误及避免方法

验证公私钥配对关系

填写公钥最常见的错误是混淆了“本端公钥”与“对端公钥”,香蕉VPN或者从终端复制时混入了换行符和空格。WireGuard配置要求精确的Base64字符串,任何不可见字符都会导致握手失败。在客户端和服务器两端的配置文件中,分别核对Peer段的PublicKey字段。使用工具生成密钥对时,通常会同时输出私钥和公钥。请确认服务器端Peer块中填写的是客户端的公钥,而客户端Peer块中填写的是服务器的公钥。若使用SSH连接服务器,可使用cat命令直接查看配置文件,确保字符完整且无多余空白。

检查UDP端口监听状态

如果密钥无误,下一步应检查服务是否真正监听正确的UDP端口。WireGuard仅使用UDP协议,香蕉VPNTCP端口即使打开也无意义。若配置了ListenPort,需确认该端口未被防火墙阻断。在服务器端执行netstat或ss命令,查看UDP监听情况。例如,若配置ListenPort为51820,应能看到对应端口的UDP监听记录。若未看到监听记录,说明WireGuard服务未启动或端口配置未生效。同时,需确认云服务商的安全组规则允许该UDP端口入站。本地测试时,可从另一台设备向服务器IP和目标端口发送UDP数据包。若收到无响应或连接超时,通常意味着防火墙策略拦截或端口未开放。此步骤能区分“服务未运行”与“网络阻断”两类问题。

网络设备:WireGuard公钥:常见填

技术人员正在服务器终端中仔细核对 WireGuard 配置参数,以排除潜在的握手错误。

核对AllowedIPs路由规则

配置AllowedIPs时,一个易错点是将“路由匹配”与“接收源地址校验”混为一谈。该字段同时决定客户端哪些流量进入隧道,以及允许哪些源地址的数据包被接受。错误配置会导致流量无法进入隧道,或被服务端丢弃。若目标是让客户端所有互联网流量走隧道,应填写0.0.0.0/0和::/0。但这并不意味着它会无条件吞掉所有局域网路由;客户端操作系统仍保留默认路由表,仅当目的IP匹配AllowedIPs前缀时,才选择走WireGuard接口。建议在客户端配置中,香蕉加速器将AllowedIPs设置为仅包含服务器内网网段(如10.0.0.0/8),先测试内网连通性。确认隧道建立后,再逐步扩展前缀。每修改一次前缀,都需断开并重新连接以应用新路由。

排查PersistentKeepalive参数

在移动网络或NAT环境后,长时间无流量会导致NAT映射过期,隧道看似存活实则不可用。PersistentKeepalive参数用于定期发送空包维持NAT会话。该字段仅应在客户端配置中设置,服务器端无需配置。典型值为25,单位为秒。若设置为0,则依赖操作系统的IPsec或NAT检测机制,多数移动端需手动设为25至30之间。若客户端频繁掉线,且日志显示“Peer is unreachable”而非密钥错误,优先考虑此参数未生效或值过小。修改该参数后,需重新生成客户端的QR码或配置文件并导入设备。导入时注意,部分第三方客户端不支持动态更新,必须删除旧配置重新添加才能生效。

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

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

查看更多文章
连接指南

找到适合当前设备的指南

遇到WireGuard空闲后的入站恢复相关问题,可从“有明确需求时按部署文档考虑保活”开始阅读。保活不能修复物理断网或错误密钥,需要结合具体环境判断。