我有一个 VPN 服务器,同时有 150 个以上用户同时在线。在调查连接问题时,我注意到遇到连接问题的客户端出现以下错误消息:
TLS:tls_process:终止过期密钥
我理解这个错误的含义以及整个过程是如何进行的:
在 SSL/TLS 模式下,SSL 会话通过双向身份验证建立(即连接的每一端都必须提供自己的证书)。如果 SSL/TLS 身份验证成功,则加密/解密和 HMAC 密钥源材料将由 OpenSSL 的 RAND_bytes 函数随机生成并通过 SSL/TLS 连接进行交换。
然而,我在日志中看到了这些内容:
数据通道加密:使用 256 位密钥初始化密码“AES-256-GCM”
数据通道解密:使用 256 位密钥初始化密码“AES-256-GCM”
控制通道:TLSv1.2,密码 TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384,4096 位 RSA
但只有这些提到了这一点。我从来没有看到过 USING 消息,这可能是造成这种情况的原因,对吧?
我想知道,为什么有些客户端在服务器日志中出现此错误,而其他客户端却没有此错误消息。另外,为什么出现此错误消息的客户端会重新连接?
答案1
我遇到了同样的问题,我相信重新协商时间间隔 reneg-sec 的设置默认设置为 3600。因此,vpn 客户端将每小时重新协商密钥并重新连接。解决方法是将 --reneg-sec 配置设置为 0。更多信息可在此处找到:-