这是完全可行的。
假设您有一个互联网地址,让我们假装它是...... 8.8.8.8,只是为了拥有一些东西。(我知道,其实是google的地址……)
您可以拥有一个 NAT 路由器 A,它将此 8.8.8.8 地址作为其唯一的外部地址,以及一个使用 NAT 通过外部 8.8.8.8 接口访问互联网的内部网络 10.0.0.0/8。
在该 10.0.0.0/8 网络上,您可以拥有一个 NAT 路由器 B,该路由器 B 具有该 10.0.0.0/8 网络中的外部 IP 地址(例如 10.1.1.1)和 192.168.1.0/24 的内部子网。
连接到该 192.168.1.0 子网(例如,IP 为 192.168.1.33)的客户端 PC 可以通过两个 NAT 路由器进行通信以连接到 Internet 上的站点。
--
在主机服务器上创建虚拟机时,网络连接的一种选择是让它们(虚拟机)使用虚拟主机服务器作为 NAT 路由器连接到本地网络(以及世界其他地方)。在这种情况下,VM 永远不会直接与其主机服务器之外的网络进行通信。
如果托管虚拟机的物理服务器本身位于通过 NAT 路由器访问互联网的 NATed 网络内,那么托管在该服务器上的虚拟机实际上是通过两个 NAT 路由器与互联网通信。
--
当然,在多层 NAT 路由器后面有许多客户端,您最终会用完与 Internet 连接的 NAT 路由器上的端口。不过那是另一回事了。
(我现在没有时间,但是我有一个连接到互联网的 NAT 路由器和一些其他路由器可以玩,所以我应该在下周内亲自尝试一下,然后才能看到它的实际效果:- ))。