云托管/专用服务器环境中的 VPN、IPSec 隧道与 tinc

网络工程 虚拟专用网 网络安全
2021-07-13 21:01:39

我正在为云托管环境设计虚拟专用网络设置。鉴于我们的要求,我并不认为这与专用服务器环境有什么不同。我们的想法是让客户能够要求他们的用户使用 VPN 连接到特定的虚拟机或专用服务器,该 VPN 可以提供辅助加密(例如,用于提交回客户网络的打印作业)。

我们正在寻找支持主机到主机的 IPSec(ESP 和 AH),当然还有 SSH 隧道,但这些都没有真正提供使用 VPN 适配器的能力。因此,我们正在考虑至少添加以下一些内容,但由于空间非常宝贵,我们希望标准化不超过其中的一两个(一个会更好):

  1. 虚拟或专用主机上的 IPSec 隧道支持
  2. PPTP

因为我们的服务器进行备份等可能位于不同的数据中心,所以我们希望能够在这里重复使用我们的 VPN 方法。这似乎排除了PPTP。我目前的想法是 IPSec 可能会更好,因为我们可以使用标准的 VPN 适配器,但是设置路由(根据客户要求)可能要困难得多,这就是为什么我们也在考虑 tinc。

这两个哪个更可取?我担心路由管理可能是 IPSec 的一个严重头痛是不合理的吗?有没有简单的方法来解决这个问题?是否还有其他关于 tinc 的问题是我遗漏的(即除了需要单独的客户之外)?

更新以回应@Wintermute 的回答

是的,这个问题是从服务器的角度来看的。原因是这些服务器实际上与客户端网络断开了连接。是的,我们的目标市场是中小企业网络。是的,我们希望为每个客户端服务器使用公共 IP,除非他们需要不同的东西(然后我们可以谈谈)。

我们倾向于使用的解决方案是客户端定义 IP 隧道和这些隧道可访问的网络范围,我们将这些与我们自己的管理工具(正在开发中)串在一起,将客户请求与配置更改联系起来。问题在于,由于我们不太可能在虚拟机和服务器上运行路由软件,因此需要静态管理路由表,以便在配置中出错的客户会发现 VPN 无法正常工作。

我们也可能会在网络上使用 ESP 进行我们自己的内部操作(例如备份)。整个设置相当复杂,有许多不同的观点,从以服务器为中心(我们的客户端 vpn 到托管实例)到以网络为中心(内部内容),再到以数据库为中心(我们的工具)。所以我不会说这个问题代表了我们的整个方法(并且在一堆 SE 网站上提出了问题)。

不过,这些都不会真正影响整个问题。不过,这可能是有用的上下文。

2个回答

不确定锡,但 IPSEC 几乎是强制性的。没有认真的企业会信任 PPTP。

不确定 IPSEC 如何影响路由。隧道是隧道是不管加密的隧道。您会遇到同样的问题:是否拆分隧道,让客户了解这个概念/哦,看看特定客户的 LAN IP 与您选择的 VPN 池发生冲突,等等。

听起来您的目标是中小企业市场(个人服务器、直接登录等),因此排除了更复杂的解决方案,但无论如何我都会列出两种可能的方法

  • 某种允许配置文件的 VPN 集中器。所有客户登录到 VPN 集中器,然后根据他们的配置文件/组/任何供应商术语,获得使用协议 X 到 IP Y(即他们自己的服务器)的权限。

  • Cisco ASR1000V 虚拟路由器 - 每个客户都有一个,然后您可以运行直接 IPSEC 隧道(使用 VTI 使路由看起来很容易),甚至将 MPLS 直接返回给客户,这样路由器就看起来只是他们拓扑中的另一个分支,然后分配您的 VNIC内部的 VLAN 等,因此它们获得了一个不错的虚拟“分支”。

  • 上面的一个较小规模的版本,我们为此目的使用了monowall,效果很好(即每个客户都有一个充当路由器/防火墙的第3层虚拟设备,他们通过VPN连接到这个设备并只能访问他们的VLAN) ,但是每个路由器/防火墙都需要自己的公共 IP 地址。

回复:您当前的方法,您确实意识到每个服务器都需要一个公共 IP,或者您有一个复杂而复杂的 NAT 系统,其中每个客户的 VPN 路径都分配了一个端口或类似端口。

我建议让一名全职网络人员查看您拥有的任何设计/提案,听起来您是从服务器背景而来的。

你是对的。看起来除非通过 VPN 集中器聚合,否则您将不得不处理拥有单独的 IP。TBH 集中器可能是最好的选择,对于所有 VPN 连接,您只需要 1 个额外的 IP,但其外部接口将需要驻留在与公共 IP 主机不同的子网/VLAN 中。我会同意,否则您将直接在每个单独的服务器上配置 IPSEC VPN,真是一场噩梦