使用KVM的多台虚拟机充当Web服务器,只有1个外部IP可用

我正在尝试为我的实验室设置一个服务器,我们将在其上运行多个Web服务和站点。 由于会有less数人build立和pipe理这些服务,我决定(在大量的谷歌search/阅读之后)为了避免冲突等最好的方法是创build一系列的虚拟机。 之前我已经对虚拟机做了一点处理,但是对于更简单的场景。

主机操作系统是CentOS 7,我已经安装的KVM guest虚拟机使用的是debian。 我最初使用桥接接口,但显然,这是一个错误的select,因为我只有一个外部IP可用 。 所以,我想我需要做的就是创build一个连接主机和guest 虚拟机的内部局域网,如我所做的示意图所示(仍然, pipe理员应该可以通过ssh访问外部的每个虚拟机 )。 :

主机 -  VMs图

我的问题是这样的:

我将如何创build一个“内部局域网”,每个虚拟机仍然可以从外部使用SSH访问,而无需使用桥接接口 (在我的情况下这很容易但不可行)?

如果在这种configuration中有关ssh访问虚拟机的问题。

你有不同的select(不是最优先的):

  • 在KVM主机上Dst-nat不同的TCP端口到不同的VM。
  • 使用专用的虚拟机作为SSH“代理”,通过创buildSSH隧道或嵌套的SSH。
  • 使用VPN到内部LAN,使用专用VM作为VPN服务器,使用KVM上的dst-nat vpn端口(安全)或使用KVM作为VPN服务器(简单)

如果您考虑networking访问:

  • 使用专用的虚拟机作为反向代理

PS。 我明白,不同的虚拟机,而不是一个共享不同的网站。 – 安全性(妥协一个网站可能不太可能触及他人) – 要求(不同的网站可能需要不同的版本,甚至不同的操作系统)

添加:

我从其他angular度看问题 – networkingdevise。

只有方法实现你的目标有问题(使虚拟机直接访问pipe理员的SSH):

  • 将可外部路由的IP分配给VM。
    • 如果“外部IP”是公共Internet地址 – 公共IP,并确保它在Internet中可路由。
    • 如果“外部IP”是私有 – 私有IP并使其在所有局域网上可路由