我对 ESXi 还很陌生,但决定深入研究它,但发现事情并不像我想象的那么简单(毫无疑问这主要是因为我目前对此事缺乏了解)。
我拥有的:
- 运行 ESXi 的带有 1 个网卡的专用服务器
- 主机的单个(公共)IP 地址
- 一组(公共)IP 地址,用于我认为合适的任何用途。为了简单起见,我们现在假设一个 Web 服务器。
我想要实现的目标:
- 安全的 ESXi 管理;我确实认为可公开访问的管理主机是错误的。
- 我没有任何可用的物理路由器,所以我无法将主机隐藏在物理 VPN 后面。
- 对我的一些客户系统的公共访问
- 额外的客人需要坐在私人网络上。
- 公共和私人访客应该可以选择通过私人网络进行通信。
目前,我有点不知道该如何解决这个问题。我可能能够开始做某件事,但我不想一开始就犯错误,也不想做出最终不安全的选择。
任何帮助都将受到赞赏。
更新:迄今为止我所取得的成就(及网络截图):
- ESXi 已启动并运行,仍在公共界面上
- 我已经配置了 pfSense 客户端
- 我已经配置了 DSL 桌面以通过专用网络访问 pfSense 客户机。
我仍然觉得将 ESXi 隐藏在虚拟 VPN 后面非常危险,因为我没有控制台访问权限。如果我忽略了某些东西,或者有任何可能的替代方案,我真的很想知道。
答案1
简而言之:
- 创建(至少)两个 vSwitch,一个“公共”,连接到其中一个服务器 NIC,另一个“私有”,未连接到任何物理 NIC。
- 选择一个在私有 vSwitch 上使用的 RFC1918 子网,例如
10.0.0.0/24
。 - 安装普富思在虚拟机中,将其 WAN 接口分配给公共 vSwitch,将其 LAN 接口分配给私有 vSwitch。此外,将 VMware vKernel 管理端口分配给私有 vSwitch。
- 在 pfSense 中设置 VPN 以及适当的路由以访问专用网络。OpenVPN 很容易设置,但 IPsec 也很好。
- 对于您拥有的任何服务器虚拟机,将其接口分配给私有网络。
- 在 pfSense 中为其余公共 IP 地址创建虚拟 IP,然后为您需要人们能够从主机外部访问的任何服务设置端口转发。
此时,pfSense VM 将成为流量从外部传输到其余服务器和管理接口的唯一途径。因此,您可以指定关于允许哪些流量以及阻止哪些流量的非常具体的规则。连接到您在步骤 4 中配置的 VPN 后,您将能够使用 vSphere Client。
答案2
如果所有提议的方案都不适合,那么您似乎已经没有选择了——添加另一台设备(无论是路由器还是同一网络内的其他机器)、从托管服务提供商处购买 VPN 服务或在 ESXi 主机上创建虚拟机来处理 VPN 流量。
ESXi 能给您带来最好的东西是无状态数据包过滤器(ESXi5 中提供)。我建议这样做:
- 过滤除 HTTPS (tcp/443) 和 VMRC (tcp/903)(如果您使用的是技术支持模式,可能还有 SSH (tcp/22))之外的所有内容 - 可以使用 ESXi 防火墙,也可以要求您的托管服务提供商设置过滤器
- 加载可验证证书(如果您的管理站经常更改或者您有许多管理站,则需要从公共 CA 获取证书)
- 为所有用户设置复杂的密码
- 公开管理界面。
答案3
即使是家用/SMB 路由器也比没有好,而且价格便宜,那么您可以在 ESX 系统和外部之间放置一些东西吗?然后您可以使用路由器仅将所需的端口转发到系统,并拥有更安全的 ESX 系统。这会相当简单,成本也很低。您至少可以让它相对安全地运行
答案4
只是我的观点...
- ESX 中的网络循环只有在您使用双宿主 VM 时才值得担心,否则无需担心。事实上,在典型的 ESX 配置中,您至少有两个到每个交换机的链接,并且它们通常是主动/主动的。因此,如果有任何可行的方法可以在只能通过 VPN 或其他安全方式访问的专用网络上设置第二个 NIC,那么这就是配置它的正确方法。
- 由于您无能为力,请知道 ESX 本身有防火墙。因此,我会确保将其锁定,以便只能由非常特定的 IP 范围进行管理。您需要对 SSH 和 GUI 控制台执行此操作如果您告诉我您正在运行哪个版本的 ESXi,我会为您提供更多信息。
- pfSense 看起来是一个很好的配置,但是如果你能找到某种方法来将像 Cisco ASA 5505 这样小的东西放入其中,那么这对你来说将是一个很大的进步。