大熊加速器
大熊加速器 Logo
WireGuardEndpoint故障排查必记录的关键信
连接指南

WireGuardEndpoint故障排查必记录的关键信

很多运维人员在遇到WireGuard隧道断开、丢包或者握手失败的故障时,常常只盯着两端的密钥配置反复核对,却忽略了WireGuard Endpoint本身的动态属性带来的问题,最后排查几小时都找不到根因。实际上只要在故障发生第一时间按规范记录几类核心信息,大部分场景下10分钟内就能定位问题,不需要逐行翻系统日志。

实时生效的Endpoint绑定信息

首先要记录的不是配置文件里写的静态Endpoint地址,大熊而是WireGuard内核模块当前实际绑定的对端地址和端口。很多人会混淆配置文件预设值和运行时生效值,比如对端网络切换4G热点后公网IP变了,本地配置文件里的旧Endpoint条目还没更新,内核却已经通过之前的漫游缓存记录了新地址,这时候两边的信息不一致,直接翻配置文件根本看不出问题。

验证这个信息的操作非常简单,在任意一端设备执行wg show命令,输出结果里endpoint字段的内容就是当前内核实际使用的对端地址,要把这个字段完整抄录,同时和/etc/wireguard目录下对应接口的conf文件里的Endpoint行做对比,如果两者不一致,大概率是之前执行过wg set peer命令临时修改过对端地址,没有同步写入持久化配置,后续设备重启后配置就会还原成旧值引发故障。

故障发生时的链路层连通性快照

很多人排查WireGuard故障第一反应先ping对端IP,却忘了WireGuard的Endpoint走的是UDP协议,ICMP ping被运营商或者中间防火墙拦截的场景非常普遍,ping通不代表UDP包能送达,ping不通也不代表WireGuard隧道完全没法工作。你需要记录的是针对Endpoint对应UDP端口的连通性测试结果,而不是普通ICMP ping的结果。

网络设备:WireGuard Endpo

故障发生第一时间记录WireGuard运行时生效的Endpoint信息,可大幅缩短故障排查耗时

你可以在故障节点上用nc命令往对端Endpoint的UDP端口发送一个测试包,同时在对端设备用tcpdump抓对应端口的入站包,把抓包的输出完整留存,就能明确判断UDP报文是在中间运营商链路被丢弃,还是到达对端之后被本地防火墙拦截。这个记录能直接排除绝大多数的链路传输类故障,不需要去猜测中间节点的规则。

Endpoint侧的NAT映射存活状态

超过半数的家用宽带或者办公内网部署的WireGuard节点,本身都处于一层或者多层NAT后面,这时候本地WireGuard实例向外发送报文的时候,运营商网关会生成临时的端口映射,这个映射的过期时间是由上游NAT设备决定的,VPN下载很多隧道莫名断开的故障本质就是这个映射提前失效了。你需要记录故障发生前的报文统计里,最近一次发送到Endpoint的数据包的时间戳,和本地NAT表里面对应UDP条目的剩余存活时间。

在Linux设备上你可以通过conntrack工具查看udp协议对应五元组的老化时间,把这个值和你配置的PersistentKeepalive参数做对比,如果keepalive的间隔设置得比NAT映射的老化时间长,映射就会提前被回收,后续对端发来的报文就会正确路由到内网节点,这类问题如果不记录NAT存活状态,很容易误判成WireGuard本身的配置错误。

两端Endpoint的路由规则匹配日志

很多人配置WireGuard的时候会在节点上同时部署多条路由规则,比如策略路由、VPN分流规则,经常出现的问题是WireGuard本身的出站报文,被其他路由规则引导到了错误的物理网卡上,根本没走默认路由发往公网,这时候你看到的Endpoint地址虽然是对的,但报文从一开始就发错了接口。你需要记录的是故障发生时,WireGuard进程生成的UDP出站报文的路由匹配结果。

你可以用ip rule show和ip route get命令,指定源地址为WireGuard节点的出站物理网卡IP,目标地址为对端的Endpoint公网IP,查询系统当前实际会把这个报文发往哪个网关、哪个网卡,把这个输出结果完整记录,就能快速发现路由规则冲突导致的报文错发问题,这类故障在同时部署多个VPN客户端的设备上出现概率极高。

所有这些信息都要在故障还没恢复的第一时间记录,不要等隧道自动重连之后再去翻查,因为WireGuard的漫游机制会自动刷新运行时的Endpoint缓存和NAT映射条目,故障现场的快照一旦被覆盖,后续排查就只能靠猜,反而会消耗更多不必要的时间。整个记录流程不需要复杂的工具,VPN下载所有操作都是系统自带的原生命令,熟练之后整个过程耗时很短,能帮你避开绝大多数无效的排查弯路。

Wi-Fi 与路由器编辑组
Wi-Fi 与路由器编辑组
内容编辑

检查无线信号、设备摆放与有线连接,逐步定位家庭网络瓶颈。

查看更多文章
连接指南

找到适合当前设备的指南

遇到路由器NAT会话超时相关问题,可从“确认通信方向并使用部署支持的恢复方式”开始阅读。调整保活前应确认不是账号期限造成的断线,需要结合具体环境判断。