三台VPS准备组成私有网络时,最容易误判的并不是WireGuard本身,而是把“公网端口可达”“完成握手”“路由正确”和“能够转发”当成同一件事。结果可能是节点显示在线,业务却跨网段超时;也可能隧道地址可以访问,终端之间却完全不通。真正有效的排障方法,应按握手、路由、转发、地址规划四层逐项验证,避免反复改配置却碰不到根因。
如果你正在选机器,或者想先把线路和配置跑通再谈长期方案,可以先看看这几家的线路说明和技术参数:tudcloud(低价云服务器),先看清带宽线路、流量策略和退款条款,再决定要不要迁。
第一层:先确认密钥与端点真的完成握手
WireGuard的加密隧道由私钥、公钥和远端公网端点共同决定。排查时先用密钥握手验证检查节点状态:查看 wg show 中的 latest handshake、transfer 值与 endpoint。若握手时间从未更新,先确认双方公钥是否匹配、私钥是否写在正确节点、配置是否已真正加载。随后做端点可达性诊断,重点检查远端端口是否被防火墙、主机安全组或上游网络拦截,并确认 Endpoint 仍指向当前公网地址或动态地址。

验证顺序应是“配置加载公钥匹配公网端点可达产生匹配流量出现握手记录”。握手不会凭空发生,没有符合 AllowedIPs 的目标流量时,节点可能长期没有握手记录。不要只靠 ping 隧道地址判断,因为 ICMP 可能被单独限制。可以从另一节点发起真实业务流量,同时观察握手时间、收发字节和端口状态。若公网节点位于 NAT 后面,再核对端口映射与 keepalive 设置。修复清单包括:重载错误私钥、修正公钥、开放 WireGuard 使用的 UDP 端口、更新动态 Endpoint,并保存配置。ServLlama也可用于汇总节点状态与链路异常,减少逐台登录检查的时间。
第二层:用AllowedIPs判断流量是否进入正确隧道
密钥和端点正常后,失败点通常落在AllowedIPs路由覆盖。AllowedIPs同时参与路由选择和加密报文接收:目标不在覆盖范围内时,流量不会进入 WireGuard;覆盖范围过宽或互相重叠,则可能把本应直连的流量送入隧道,甚至形成回环。先核对每个节点允许的对端网段,再查看系统路由表,确认访问某个目标时实际选中了哪条路径。可用 ip route get 目标地址 判断出口,并结合抓包确认数据包究竟从物理网卡还是 WireGuard 接口离开。

隧道地址规划必须独立且无冲突。建议为每条隧道分配唯一的 10.x.0.0/24 或 10.x.0.0/30,其中节点接口地址互不重复,也不能与 VPS 所在云网络的 VPC 网段、办公内网或容器网段重叠。若多台机器拿到相同地址,即使握手和路由都显示正常,业务仍会出现间歇性错连。排查时记录“节点地址AllowedIPs业务网段”三列关系,尤其检查宽泛的默认路由是否误覆盖了公网出口。
当流量需要从一个网段经第三台节点抵达另一个网段时,还要提前检查内核转发参数:确认 IPv4 或 IPv6 转发已启用,FORWARD 默认策略允许包通过,并检查防火墙是否丢弃隧道接口之间的转发包。修复顺序应是先修正 AllowedIPs,再处理隧道地址冲突,最后启用转发与放行规则。这样每一步都有独立证据,不会把路由错误、地址冲突和转发拒绝混成同一个问题。
握手成功,流量为何仍然不通
WireGuard 的握手只说明双方能用同一组密钥完成相互验证,并不代表后续报文已经找到正确出口。先看 wg show 的 latest handshake:时间持续更新时,优先进行端点可达性诊断;若密钥握手验证失败,则检查公网映射、UDP 防火墙与安全策略。动态地址场景还要确认 DNS 是否及时更新,对称 NAT 后的节点可设置 PersistentKeepalive,但它不能代替放行 UDP。

AllowedIPs 路由覆盖同时决定“哪些源地址可由该对端接收”以及“发往这些目的地的流量交给哪个对端”。配置过窄会让响应走物理网卡,配置过宽则可能抢占默认路由、VPN 网段或容器网段。逐端核对 wg show allowed-ips,再用 ip route get 目标地址 确认实际选路,并确保被访问网段具备回程路由。修改前应保存配置,避免重叠网段。
排除地址冲突与内核转发故障
隧道地址冲突排查常见于多台节点使用同一脚本生成配置。两个接口出现相同 IP,或 WireGuard 地址落入现有局域网、云 VPC、容器网段,都会引发 ARP 异常和路由漂移。应分配唯一地址,通过 ip -br addr、ip route 和抓包结果比对报文出口;跨三层网络时,ARP 检测未必有效,还需核对网段规划与云路由表。
当 WireGuard 仅作为接入点时,网关还必须开启内核转发参数。检查 net.ipv4.ip_forward、接口 forwarding、rp_filter,以及虚拟化平台、防火墙和云安全组是否另有策略。仅在确有需要时添加 SNAT 或 masquerade,避免过早转换源地址。
- 确认双方公钥映射及最近握手时间;
- 连续测试隧道地址、对端地址和业务地址;
- 核对 AllowedIPs 与
ip route get的选路; - 检查地址唯一性、转发开关及访问控制;
- 同时抓取物理接口与
wg接口,定位丢包方向。
按“握手、端点、路由、地址、转发”的顺序逐层验证,通常比同时修改多台机器更快。每轮只改变一个变量,并保留握手状态、路由表和抓包记录,才能把偶发故障还原成可复现、可回滚的结论。


喜欢
顶
难过
囧
围观
无聊





