我新买了一台 Gen8 HP 服务器。我在 ESXi 6.7 上有 3 台虚拟机 (Debian 10),它们本地连接到一些内部/私有 IP,例如 192.168.0.101、102 和 103。假设我有一个公共 IP 可以从浏览器毫无问题地连接到我的 ESXi,并且我还有另一个公共 IP,它分配给 VM-1,可以从任何地方通过 SSH 连接。
问题是:我想通过 SSH 连接到我的 VM-2,例如 putty/Winscp/dbForgeStudionMysql/ 等!!是否可以在没有公共 IP 的情况下访问 VM-2 和 VM-3?
我怎样才能做到这一点?
答案1
我坚持正确的术语。static
或者dynamic
是您如何为机器配置 IP 地址(在配置文件中,通过 DHCP 或其他方式)。public
或者private
是这个地址属于哪个类,这些类由 IANA 定义,特别是私有地址是在 RFC1918 中定义的。
你仍然打电话民众地址静止的,忽略我在上面的评论中纠正了你。这令人失望。下次交流时,我会假设你说静态,你指的是静态,所以最好正确地提及事物。
没有人会为地址的静态或动态征税,因为这很愚蠢。但世界缺少全球可路由的(“公共”)IP,因此这些 IP 如今价格昂贵,所以我理解您想尽量减少使用它们的愿望。
我建议在虚拟化主机系统上始终有一个专用的公共 IP,以便始终可以访问,并为它的 BMC(在您的情况下是 iLO)设置另一个 IP,当您遇到虚拟机管理程序或驱动器或 RAID 另一个核心硬件问题时,它可以为您省去很多麻烦。然后,您将需要至少一个其他(第三个)公共 IP 地址用于虚拟路由器,它将为其余部分执行 NAT。
如果您想要将 VM-1 专用为具有 NAT 的路由器,则它必须具有两个 vNIC,一个具有面向互联网的公共 IP,另一个与其他虚拟机一起位于虚拟网络中。其他机器必须只有一个面向路由器 VM-1 的私有 NIC 的 vNIC;配置它们,以便它们的默认网关将是 VM-1 的私有 IP。
现在,将它视为普通的软件路由器;我会在其上安装 Linux 并使用 iptables 进行常规 NAT。您也可以将其用作 VPN 端点,在某些情况下会需要这样做。互联网上有很多关于此主题的手册,包括 ServerFault。