因此从网络角度来看,当我在 VMware 上运行许多主机并将它们全部设置为使用 NAT 时,是否意味着它们每个都在使用 NAT 的虚拟路由器后面,还是它们都在单个路由器后面?
如果我想让它们进行通信,它们是否需要在同一个子网中?或者......?
还有一个附带问题:假设机器 A 仅使用主机而机器 B 使用 NAT,这是否意味着 A 连接到路由器而该路由器连接到 B,因此如果我希望 A 连接到 B 的网络主机,我需要使用端口转发?
答案1
您的主要问题
虚拟网络类似于本地物理网络。如果您将虚拟机配置为使用 NAT,实际上只是将其设置为使用预先配置为 NAT 的虚拟网络(默认情况下为 VMnet8)。VMware Workstation 仅支持为 NAT 配置一个虚拟网络。因此,所有配置为使用 NAT 的虚拟机都将位于同一网络上(因此能够相互通信,假设各个客户机中没有防火墙阻止流量)。
总结:是的,所有配置为使用 NAT 的虚拟机都将位于单个虚拟路由器后面。
您的问题
如果您将虚拟机配置为使用仅主机网络(如 NAT),则实际上只是将其设置为使用预先配置为仅主机网络的虚拟网络 (VMnet1)。单独的虚拟网络就像单独的物理网络一样;仅主机网络和 NAT 网络之间没有连接。如果您希望 A 与 B 通信而不将 A 放在 NAT 网络上,那么您需要在 A 和 B 之间创建一个 LAN 段或自定义虚拟网络来桥接它们。
总结:不,不存在任何类型的虚拟路由器层次结构。只有单独的虚拟网络。