我有一台安装了 ESXi 的服务器。并添加了一些虚拟机(Ubuntu)。
所有虚拟机都有一个私有 IP,但是如何为虚拟机分配一个公共 IP?
我想要的是为 VM 分配一个公共 IP(首选 IPv6),这样我就可以根据 IP 访问特定的 VM。
我想要的是能够通过 ssh 进入特定虚拟机,在端口 20 和指定的 IP 上。网站也一样,所以端口 80 等转发。
我在 ESXi 和虚拟机中已经有一个 VM 端口组。请参见: https://www.dropbox.com/s/efnrun70s7te8e5/a.jpg?dl=0
答案1
您分配公共地址的方式与分配私有地址的方式完全相同。
当然,您需要确保路由正确,否则什么都行不通。
或者,您可以从路由器转发端口到这些虚拟机。
答案2
首先我们需要澄清以下几件事:
- 您是否真的想为该虚拟机指定一个公共 IP 地址,或者是否只想访问该端口上的两个服务器
- 无论您是否希望能够使用公有 IP内部和外部
注意:以下所有内容均假设私有 IP 是指可在内部网络上访问的内部网络地址,而不是 ESXi 主机的私有地址。
如果你只是希望从外部的环境中,您可以在面向互联网的路由器上配置端口转发,以将端口 22(SSH)和 80(HTTP)转发到虚拟机。
如果您希望访问虚拟机上的任意端口(外部) 而无需不断地重新配置您的网络设备,最好的计划是在您的网络设备上配置网络地址转换 (NAT),将公共 IP 地址转换为私有内部地址。
如果你需要访问这个公网IP地址内部以及在外部,您需要配置面向互联网的路由器以执行(环回)发夹 NAT,以将从内部网络定向到公共 IP 地址的流量重新路由。有关发夹 NAT 的更多详细信息,请访问此处:从本地网络环回到转发的公共 IP 地址 - Hairpin NAT