我们有许多在Debian上运行MongoDB的数据库服务器,以及在Debian上运行的大量应用程序服务器。 数据库服务器持有复制数据库集群,所以他们需要相互交谈。 应用程序服务器需要与所有数据库服务器通信(出于容错的原因)。 服务器可能分布在多个托pipe中心,所以我们需要所有服务器之间的安全通道。 服务器的数量必然会增长,所以我们需要一个易于维护和扩展的VPN解决scheme。 这就是为什么我觉得我们用来testing的SSH可能不能胜任这个任务,而OpenVPN似乎是一个很好的select。
我已经排除了TAP,因为我知道这意味着所有的服务器都会有stream量 – 也许这是一个误解,TAP更像是一个交换机?
对于TUN设备,我想所有的数据库服务器都会在他们自己的独立子网中,他们也需要configuration一个客户端来连接他们的每一个对等端。 应用程序服务器只能以客户端configuration方式存在于共同的子网范围内。
这听起来像一个合理的设置? 奇怪的是,在networking上我没有发现任何有关OpenVPN的多服务器。
感谢所有的见解和想法!
你似乎有一些不必要的假设,而且你过于复杂的事情。
Tap不会通过VPN路由所有stream量,除非您使用路由语句对其进行configuration。 这在他们网站上的OpenVPN文档中有介绍。
如果您的数据中心使用VPN技术连接,则您需要使用多个VPN服务器的唯一原因是连接到每个数据中心的子网。 OpenVPN在路由子网间stream量方面非常有效,而且几乎无处不在。
如果您试图通过所有服务器之间的点对点连接来build立一个网状VPNnetworking,那么您将在pipe理开销方面为自己的世界造成伤害。
tap界面在第二层 – 看起来像所有的机器都在同一个网段。 第3层(正如你所说 – 他们将在不同的子网)。
如果使用TUN iface,则不必在每个对等端上安装vpn客户端。 每个站点有一个vpn客户端并在它们之间configuration路由就足够了。 这样VPN客户端就像路由器一样。 对我来说,这是最简单的,因为你只需要在每台机器上为新networking添加路由(或者设置默认的gw)。