hwdsl2 / setup-ipsec-vpn

Scripts to build your own IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2
Other
24.9k stars 6.28k forks source link

Windows客户端使用IKEv2连接成功一两个小时出现无法ping通,断开重连后恢复 #1550

Closed userofjack closed 4 months ago

userofjack commented 4 months ago

服务器是国内,具体现象是IKEv2客户端(Windows,其它系统未测试)与服务器连接成功后,1-2个小时后就出现服务器无法ping通客户端,【此时windows连接状态显示已连接】,【断开连接再次重连后的1-2小时内正常,一段时间后复现】,由于IKEv2下服务器没有虚拟内网ip,因此无法测试客户端能否ping通服务器虚拟内网地址。 在我的用例中需要通过Vpn服务器实现web反向代理,因此需要服务器能够通过虚拟内网ip访问客户端。 由于断开重连即可恢复,且服务器在国内,因此不存在干扰可能。

hwdsl2 commented 4 months ago

@userofjack 你好!对于你的用例,问题可能与 IKEv2 rekey 有关(Windows 系统会以特定的间隔 rekey VPN 连接,但默认为 8 小时左右)。建议你在复现此问题之后 检查 Libreswan (IPsec) 和 xl2tpd 日志是否有错误

如果日志在出现该问题的时间显示 NO_PROPOSAL_CHOSEN,你可能遇到了 Windows 的这个 bug。如果你之前是手动创建了 IKEv2 连接,建议你尝试使用脚本自动导入配置,它有助于设置较优化的 IKEv2 连接参数。

另外,如果日志显示 retransmission 相关的错误,则可能与你的服务器与客户端之间的网络有关。你可以尝试增加 /etc/ipsec.d/ikev2.conf 中的 retransmit-timeout=300s 的值,比如 retransmit-timeout=600s,然后重启 IPsec 服务以生效。

如果你有新的信息可以继续在这里回复。