我在 Windows 7 主机上运行 Ubuntu VM。我有两个问题:
我认为在 Windows 上,这
localhost
是一个环回地址,向其发送数据包实际上并不在线路上传输任何数据。那是对的吗?在 Ubuntu VM 上我localhost
也有一个,指向127.0.0.1
.是一样的吗?是否可以将数据从VM发送到主机?例如,当我在Ubuntu VM上安装软件时,我可以让它向Windows主机发送消息吗?我应该使用什么IP?
答案1
大多数虚拟主机平台支持“桥接”、“NAT”和“仅主机”网络。使用桥接网络将使两台机器看起来像是在同一个 LAN 上。使用“仅主机”将允许两个设备之间进行通信(独占)。
对于大多数操作系统来说,具有环回适配器是很常见的。即使没有物理网络适配器。这些虚拟接口不会将数据包发送到物理网络上。
不要尝试对 VM 网络使用本地环回接口。我建议将您的主机网络设置为“桥接”,将 Ubuntu 客户机设置为获取 DHCP 地址(假设您的网络上有 DHCP/路由器),并使用通过 DHCP 分配的 IP 地址。
答案2
每个操作系统都提供了环回接口,
127.0.0.1
用于检查该操作系统的网络堆栈是否正常工作。实际上整个子网 127.0.0.0/16 仅适用于 localhost。lo
发出命令后看到的接口ifconfig
只是环回接口。要在主机和客户机(VM)之间进行通信,您需要对它们进行设置,
bridged mode
这意味着主机和客户操作系统都连接到 LAN 的同一交换机。您NAT mode
还可以使用 VirtualBox(或 Vmware)进行通信,这意味着 VirtualBox(或 Vmware)充当 Windows 和 Ubuntu VM 之间的网络地址转换器。Host-Only
模式是仅在主机和VM之间进行通信,而不与外界的任何其他节点进行通信。