我正在为云托管环境设计虚拟专用网络设置。鉴于我们的要求,我并不认为这与专用服务器环境有什么不同。我们的想法是让客户能够要求他们的用户使用 VPN 连接到特定的虚拟机或专用服务器,该 VPN 可以提供辅助加密(例如,用于提交回客户网络的打印作业)。
我们正在寻找支持主机到主机的 IPSec(ESP 和 AH),当然还有 SSH 隧道,但这些都没有真正提供使用 VPN 适配器的能力。因此,我们正在考虑至少添加以下一些内容,但由于空间非常宝贵,我们希望标准化不超过其中的一两个(一个会更好):
- 虚拟或专用主机上的 IPSec 隧道支持
- 锡
- PPTP
因为我们的服务器进行备份等可能位于不同的数据中心,所以我们希望能够在这里重复使用我们的 VPN 方法。这似乎排除了PPTP。我目前的想法是 IPSec 可能会更好,因为我们可以使用标准的 VPN 适配器,但是设置路由(根据客户要求)可能要困难得多,这就是为什么我们也在考虑 tinc。
这两个哪个更可取?我担心路由管理可能是 IPSec 的一个严重头痛是不合理的吗?有没有简单的方法来解决这个问题?是否还有其他关于 tinc 的问题是我遗漏的(即除了需要单独的客户之外)?
更新以回应@Wintermute 的回答:
是的,这个问题是从服务器的角度来看的。原因是这些服务器实际上与客户端网络断开了连接。是的,我们的目标市场是中小企业网络。是的,我们希望为每个客户端服务器使用公共 IP,除非他们需要不同的东西(然后我们可以谈谈)。
我们倾向于使用的解决方案是客户端定义 IP 隧道和这些隧道可访问的网络范围,我们将这些与我们自己的管理工具(正在开发中)串在一起,将客户请求与配置更改联系起来。问题在于,由于我们不太可能在虚拟机和服务器上运行路由软件,因此需要静态管理路由表,以便在配置中出错的客户会发现 VPN 无法正常工作。
我们也可能会在网络上使用 ESP 进行我们自己的内部操作(例如备份)。整个设置相当复杂,有许多不同的观点,从以服务器为中心(我们的客户端 vpn 到托管实例)到以网络为中心(内部内容),再到以数据库为中心(我们的工具)。所以我不会说这个问题代表了我们的整个方法(并且在一堆 SE 网站上提出了问题)。
不过,这些都不会真正影响整个问题。不过,这可能是有用的上下文。