OpenVPN连接AWS Client VPN端点遇连接重置错误,如何进一步排查?
问题描述
已配置双向认证的AWS客户端VPN端点(因办公网络防火墙屏蔽UDP,使用TCP协议),通过OpenVPN连接时出现连接重置错误,OpenVPN日志如下:
2023-07-06 12:44:43 OpenVPN 2.5.5 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jul 14 2022 2023-07-06 12:44:43 library versions: OpenSSL 3.0.2 15 Mar 2022, LZO 2.10 2023-07-06 12:44:43 TCP/UDP: Preserving recently used remote address: [AF_INET]3.65.80.98:443 2023-07-06 12:44:43 Socket Buffers: R=[131072->131072] S=[16384->16384] 2023-07-06 12:44:43 Attempting to establish TCP connection with [AF_INET]3.65.80.98:443 [nonblock] 2023-07-06 12:44:43 TCP connection established with [AF_INET]3.65.80.98:443 2023-07-06 12:44:43 TCP_CLIENT link local: (not bound) 2023-07-06 12:44:43 TCP_CLIENT link remote: [AF_INET]3.65.80.98:443 2023-07-06 12:44:43 Connection reset, restarting [-1] 2023-07-06 12:44:43 SIGUSR1[soft,connection-reset] received, process restarting
配置遵循官方指南,相关CloudWatch日志组无任何记录,需进一步排查问题。
排查步骤
1. 端口与安全组校验
- 确认VPN端点的TCP 443端口安全组入站规则允许办公网络IP段访问,出站规则允许向客户端IP段回包。
- 在客户端执行
telnet 3.65.80.98 443或nc -zv 3.65.80.98 443,验证TCP双向连通性(部分防火墙允许出站但拦截回包)。
2. 双向认证证书检查
- 确认客户端证书由VPN端点信任的CA签发,未过期、未被吊销。
- 检查客户端配置文件中
cert和key路径是否正确,Linux环境下证书文件权限需设为600,避免读取失败。 - 重新生成客户端证书,排除证书格式或密钥不匹配问题。
3. OpenVPN版本与配置兼容性
- 当前使用OpenVPN 2.5.5 + OpenSSL 3.0.2,AWS Client VPN对OpenSSL 3.x存在兼容性问题,建议降级到OpenSSL 1.1.1系列或升级OpenVPN到2.6.x版本重试。
- 确保客户端配置文件中使用
proto tcp-client而非proto tcp,AWS Client VPN要求客户端采用此模式。
4. VPN端点配置验证
- 确认VPN端点传输协议设为TCP、端口为443,无端口冲突。
- 检查客户端CIDR与办公网络子网无重叠,避免路由冲突触发连接重置。
- 确认VPN端点关联的VPC子网状态正常,有足够可用IP供客户端分配。
5. 网络层抓包分析
- 在客户端执行
tcpdump host 3.65.80.98 and port 443抓包:- 若SYN-ACK正常,发送Client Hello后收到RST,大概率是VPN端点SSL配置或证书校验失败。
- 若连接建立后立即收到RST,需排查安全组或NACL的流量拦截规则。
- 若客户端使用代理,需在OpenVPN配置中添加
http-proxy/https-proxy参数,确保代理允许转发VPN流量。
6. AWS内部状态排查
- 检查VPN端点状态为「可用」,无控制台告警。
- 确认CloudWatch日志组的IAM角色权限正确(允许VPN服务写入日志),等待10-15分钟后再次查看日志(避免日志延迟)。
- 创建临时测试VPN端点(TCP+基础认证),排除双向认证的复杂配置因素,验证基础连接是否正常。
内容的提问来源于stack exchange,提问作者alonana
相关产品推荐
相关产品推荐

