首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenVPN故障转移

OpenVPN故障转移
EN

Server Fault用户
提问于 2015-07-16 12:48:26
回答 3查看 2.8K关注 0票数 1

在我的公司,我们在两个完全不同的地点设有两个办事处。A是主要办公室,B是次要办公室。A办公室有一个虚拟专用网服务器,每台计算机都通过这个OpenVPN服务器访问A网络。去年,我们在VPN服务器上出现了一些错误,人们无法在B办公室工作,因为这一点。我的问题是,对于OpenVPN是否有故障转移方法?我们希望设置另一个VPN服务器,但是如果发生了什么事情,我们将如何解决故障转移部分。

EN

回答 3

Server Fault用户

回答已采纳

发布于 2015-07-16 13:04:22

我的一个客户在多站点设置上严重依赖于OpenVPN,我们采用两种方法:

  1. 主OpenVPN服务是由两台机器提供的,它们使用心跳/CRM在HA-故障转移对中提供。如果其中一个崩溃,另一个将接管共享IP地址,服务继续进行。现有的会话将被删除,但是客户端通常会自动重新身份验证,我们已经发现这对实际中的用户来说是相当无害的。
  2. 第二个站点还有一个工作的OpenVPN端点,所有用户都有第二个备份配置。如果与主站点的互联网连接下降,他们可以将他们的OpenVPN客户端指向第二个配置,一些表面上的正常生活可以继续下去。

如果您这样做,并且使用用户的用户名/密码身份验证以及基于证书的端点身份验证,我们发现联合身份验证环境非常重要(例如,通过LDAP进行身份验证)。否则,用户就会忘记很少使用的端点上的访问令牌,或者无法在任何地方更新它们,任何故障转移都会触发大量“我的密码无法工作”的调用。

应该向联邦服务提供与OpenVPN服务器本身类似的弹性,否则您所做的一切都是上游的SPOF。

票数 3
EN

Server Fault用户

发布于 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

票数 -1
EN

Server Fault用户

发布于 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是一个难看的解决方案)。只有两个节点,在服务器故障的情况下,您无法避免分裂的大脑,这是数学:)

票数 -1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/706214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档