![当客户端使用已连接的密钥进行连接时,旧的客户端将被断开,而不是新的客户端被解散](https://linux22.com/image/678753/%E5%BD%93%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E5%B7%B2%E8%BF%9E%E6%8E%A5%E7%9A%84%E5%AF%86%E9%92%A5%E8%BF%9B%E8%A1%8C%E8%BF%9E%E6%8E%A5%E6%97%B6%EF%BC%8C%E6%97%A7%E7%9A%84%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%B0%86%E8%A2%AB%E6%96%AD%E5%BC%80%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E6%96%B0%E7%9A%84%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%A2%AB%E8%A7%A3%E6%95%A3.png)
出于管理目的,管理团队中的一些人会共享同一个服务器密钥,有时,当另一个人也尝试连接时,其中一个人已经连接到服务器。因此,当另一个团队成员尝试连接时,会导致他们两人都断开/连接一段时间。如何避免第一个客户端断开连接?当第二个客户端尝试连接时,最好收到一条消息,告知具有相同密钥的客户端已登录,因此其访问权限将被丢弃。
我不想启用重复认证。我们没有为每个团队成员创建多个密钥,因为其他团队成员的参与是临时发生的,他们不会定期使用这些密钥,他们只需要做一些修复,一些小项目。此外,我们希望只为管理员提供一把密钥,但有时我们团队中的其他人也需要介入,因此需要访问权限,这可以通过将我们的密钥交给在服务器上有工作要做的人员来解决。此外,出于对客户的信任,我们的内部政策限制我们为管理员创建多把密钥,为客户创建多把密钥。
答案1
我读过这个问题几次,试图确保我理解了它。您已经知道了--duplicate-cn
,但您不想允许这一点。
在我看来,你实际上询问是“如何设置 OpenVPN,以便当第二个客户端尝试使用已连接的密钥集进行连接时,它是更新被拒绝的客户端,而不是较旧断开连接,而较新的被允许进入。
如果你想知道的话,答案(据我所知)是你不能。 这原因因为人们确实会断开会话,并且您希望他们能够在互联网恢复后立即重新连接,而不必等待 - 可能一个小时或更长时间 - 他们的孤立会话超时并被收割。
您可以自己重新编译 OpenVPN,进行所需的更改,但我不建议这样做。最好使用 swatch 之类的工具来实时查看 OpenVPN 日志,并在看到基于重复的断开连接的签名时进行查看:
Mar 14 08:48:16 rubicon openvpn[17250]: MULTI: new connection by client 'cn.redacted' will cause previous active sessions by this client to be dropped. Remember to use the --duplicate-cn option if you want multiple clients using the same certificate or username to concurrently connect.
它应该将您标记为网络管理员,以便您可以向相关人员提出此事。