CGNAT环境下WireGuard客户端公网IP变更后隧道无法自动恢复连接的求助
CGNAT环境下WireGuard客户端公网IP变更后隧道无法自动恢复连接的求助
我遇到了一个WireGuard隧道的问题,想请大家帮忙排查下:
我这边有一台配置了固定公网IP的Linux WireGuard端点,它的配置文件内容如下:
# cat /etc/wireguard/wg-wwan.conf [Interface] Address = 10.20.30.248/31 ListenPort = 51833 PrivateKey = xxxxxxxxxx Table = off [Peer] PublicKey = XqFhF5ZJT4FAsIIcUaX9asMzoFT5CvOQ6cahvRpvBHw= AllowedIPs = 0.0.0.0/0, ::/0
另一端的客户端是Mikrotik RouterOS设备,它处于CGNAT网络环境下。原本隧道连接是正常的,只要客户端的网络保持在线,隧道就能稳定运行。但一旦客户端的网络断开重连(导致它的公网IP发生变化),隧道就无法正常工作了。
在Mikrotik设备上,我看到了这样的错误日志:
wg-bg1-wwan: [bgate1-wwan] xxxxxxxxxxxxxx=: Handshake for peer did not complete after 5 seconds, retrying (try 2)
我已经尝试过在Mikrotik端做了不少排查操作:禁用再启用所有相关接口和peer、清空连接跟踪表,甚至重启了路由器。而且通过tcpdump抓包,我能看到Mikrotik发出的数据包确实已经到达了Linux主机,但隧道就是无法恢复连接。
我还尝试了一些其他操作(内容未完整),但都没解决问题,想问问大家有没有遇到过类似的情况,该怎么处理?
备注:内容来源于stack exchange,提问作者divB
相关产品推荐
相关产品推荐

