假设有一个主机操作系统(Mac OS X)和一个运行 Ubuntu 作为客户操作系统的虚拟机。客户操作系统的 IP 为 192.186.56.101 和一些虚拟主机,例如 ubuntu.server
那么,如何真正将请求映射到客户操作系统上的虚拟主机 ubuntu.server?
我试过:
在 /etc/hosts 中配置主机操作系统,将 ubuntu.server 映射到 192.186.56.101 在客户操作系统上,我们遇到了麻烦。它接受 192.186.56.101 的请求,但这不是 ubuntu.server,因此永远不会请求 ubuntu.server 虚拟主机。只有客户操作系统上的本地主机。当然可以简单地使用 192.168.56.101。但这仅适用于每个客户操作系统一个主机。
有什么想法吗?还是我的思路有问题?
答案1
必须使用桥接网络而不是 NAT(使用与主机相同的连接/IP)
您正在使用 Parallels/VMWare/Virtual Box 吗?
它们都有桥接选项。
答案2
VM 是否使用桥接网络?
您是否确定 VM 客户机可以正常查看网络,并且网络外部的主机可以连接到客户机 VM(ping、ssh 等)?
完成此操作后,您就应该能够为客户机配置虚拟 IP 等。
答案3
您必须将访客连接的网络配置为“桥接”网络。这样访客就可以直接访问主机所连接的网络。访客还可以像真正的主机一样直接访问网络。
请注意,这意味着您必须拥有有效的网络 IP 地址来分配给您的客人,或者相关网络能够并且愿意向您的客人提供有效的 DHCP 租约。
或者,您也可以在“仅主机”网络上的来宾和您的真实网络之间设置路由。但这将需要更多工作,并且至少您的网络上的路由器可能需要知道您的私有“仅主机”网络 IP 空间以及可以通过您的主机访问的事实。
桥接网络的设置和使用是最简单的。