如何在ESXi虚拟机上获取公共IP?

我们有一个托pipe服务提供商的专用服务器。 我们正在运行ESXi 6.0。 服务器有一个单一的公共IP,目前正用于pipe理界面。 该提供商还为我们分配了一个/ 29块,以便我们的虚拟机可以拥有公共IP。 我们只能使用1个物理网卡,我认为这是造成一些问题。

他们告诉我们,来自这个块的IP的默认网关应该被设置为ESXi服务器的IP地址。 每当我们尝试configuration这个,虚拟机抱怨说网关是在一个不同的子网,这是。

他们已经指出,由于networkingconfiguration的方式,我们需要通过ESXi服务器的IP路由来自他们分配给我们的块中的任何IP。 据我所知,ESXi不支持路由,这使得这是不可能的。

我们询问他们是否可以将该块(甚至是单个IP​​)分配给服务器,以便它们与ESXi IP相同,以便我们可以在VM上使用它们,但是他们告诉我们他们的networking设置不允许为了这。

理想情况下,我们希望能够将这些公共IP分配给我们的虚拟机,以便它们可以从互联网直接访问。 有没有办法做到这一点? 我们错过了什么吗?

如果以上是不可能的,有没有办法让我们做端口转发/其他任何东西,以便我们可以从互联网上访问我们的虚拟机?

我们并没有在ESXi中更改任何networkingconfiguration,因此我们仍然只有一个pipe理networking和虚拟机networking连接在一起的vSwtich。 此vSwitch连接到服务器上的一个物理网卡,将所有IP分配给该物理网卡。

很高兴提供任何额外的信息,如果需要。

您的托pipe服务提供商(Hetzner,猜测?)是正确的。

您将需要将单个静态IP地址分配给您的VMware服务器的VMK接口。 这将允许您通过VMware控制台连接到服务器并创build虚拟机。

您的托pipe服务提供商应该能够将您的/ 29子网路由到服务器的MAC地址。

您还将在vSphere中configuration一个单独的vSwitch(我个人将其重命名为“公开”),并附加到您的物理网卡上。

您将需要创build第二个vSwitch(为了理智,我build议将其称为“Private”),而不是连接到任何物理networking接口。

一旦设置了这两个vSwitch,您就可以创build一个虚拟机,其中包含两个vNIC – 每个vSwitch都有一个虚拟机。 使用你喜欢的任何“路由器”操作系统(通常类似ipfire或pfSense的东西都可以),并将其configuration为WAN(公共)和LAN(专用)vSwitch之间的NAT数据包。

要使用您的/ 29 IP地址,您将需要创build连接到您的专用vSwitch,然后根据需要NAT端口转发的虚拟机。

真的会强烈build议您不要将ESXipipe理界面直接放在Internet上。 那么你唯一的安全控制就是你的密码,这给你的王国的全键。

我build议你安装一个像pfsense或Untangle一样的统一威胁pipe理器(UTM)作为你的路由器的公共IP地址。 你的networking看起来像这样:

Internet ---> VSWitch1 ---> UTM ---> VSwitch2> --- Virtual Machines 

哪里:

  • VSWitch1连接到面向Internet的真实NIC
  • UTM连接到VSWitch1(使用您的公共29位IP地址之一)和VSwitch2(使用私有IP地址)
  • VSwitch2没有连接到任何真实的网卡
  • 虚拟机都连接到网卡并具有私有IP地址(如192.168.0.0/24或10.0.0.0/8)

使用此configuration,您将使用UTM执行NAT,以便您的虚拟机可以访问Internet(必要时使用端口转发,反之亦然)。 这些UTM具有防火墙function,IPSfunction以及保护networking的所有function。

对于ESXI访问,我实际上build议你为你的私人networkingbuild立一个VPN。 把你的VMKernel放在专用networking上(比如192.168.0.101/24)。 这样,你用你的VPN进行身份validation,所有的stream量都被encryption了。 VPN是我提到的UTM的一个特性。

加! 奖金! 他们是免费的,开源的:-)

如果您必须能够直接访问您的ESXI,那么我仍然build议至less在您的ESXI和Internet之间放置一个防火墙/ NAT,否则就会导致ESXi的(不存在的)安全function。