在我的公司,我们在两个完全不同的地点设有两个办事处。A是主要办公室,B是次要办公室。A办公室有一个虚拟专用网服务器,每台计算机都通过这个OpenVPN服务器访问A网络。去年,我们在VPN服务器上出现了一些错误,人们无法在B办公室工作,因为这一点。我的问题是,对于OpenVPN是否有故障转移方法?我们希望设置另一个VPN服务器,但是如果发生了什么事情,我们将如何解决故障转移部分。
发布于 2015-07-16 13:04:22
我的一个客户在多站点设置上严重依赖于OpenVPN,我们采用两种方法:
如果您这样做,并且使用用户的用户名/密码身份验证以及基于证书的端点身份验证,我们发现联合身份验证环境非常重要(例如,通过LDAP进行身份验证)。否则,用户就会忘记很少使用的端点上的访问令牌,或者无法在任何地方更新它们,任何故障转移都会触发大量“我的密码无法工作”的调用。
应该向联邦服务提供与OpenVPN服务器本身类似的弹性,否则您所做的一切都是上游的SPOF。
发布于 2015-07-16 13:01:53
我们希望设置另一个VPN服务器,但是如果发生了什么事情,我们将如何解决故障转移部分。
好的。如果您使用Linux,那么
1)简单的方法是使用monit https://mmonit.com/monit/。
2) cron中的Bash脚本,如我的https://github.com/darkhex/bash_脚本/blob/主/工作-脚本/检查_vpn.sh
3)带有触发器的Zabbix
发布于 2015-11-14 17:35:41
我建议您设置一个高可用性(故障转移)群集。您希望有一个虚拟IP,该ip将被您的vpn客户端用作网关。如果出现故障,则群集将在备用服务器上迁移此IP,并且群集将在备用服务器上启动openvpn。我用shell脚本编写了一个故障转移群集管理器,请查看它,如果需要支持,请直接与我联系(查看我的电子邮件的代码)。https://github.com/nackstein/back-to-work/
我认为这段代码很优雅,即使在专家sysadmin上也可以理解。这是一个比计划一个crontab脚本好得多的解决方案,因为在我的集群中,您将很容易避免拆分大脑的情况。唯一的缺点是它需要3台pc才能工作(其他集群软件使用共享存储实现仲裁或STONITH方法,如RedHat集群,但IHMO是一个难看的解决方案)。只有两个节点,在服务器故障的情况下,您无法避免分裂的大脑,这是数学:)
https://serverfault.com/questions/706214
复制相似问题