我已经安装了 Ubuntu 桌面,并且在我的 Oracle 虚拟盒中安装了 centos 7 虚拟机。
我能够从虚拟机 ping 通我的 Ubuntu,但无法从 Ubuntu ping 通虚拟机 Centos。
有人可以解释这里缺少什么吗?有人可以告诉我如何在我的 Ubuntu 桌面上配置虚拟机以便它们相互通信/连接吗?
从我的 ubuntu 执行 ping 操作:
ping 192.168.122.1
PING 192.168.122.1 (192.168.122.1) 56(84) bytes of data.
From 192.168.0.5 icmp_seq=687 Destination Host Unreachable
From 192.168.0.5 icmp_seq=688 Destination Host Unreachable
答案1
这似乎是 Virtual Box 网络设置为NAT。
将网络设置为内部网络或者仅主机网络应该可以解决问题。
从虚拟盒手册:
6.7. 仅主机网络
仅主机网络是 VirtualBox 2.2 版中增加的另一种网络模式。它可以被认为是桥接网络模式和内部网络模式的混合:与桥接网络一样,虚拟机可以相互通信并与主机通信,就像它们通过物理以太网交换机连接一样。同样,与内部网络一样,不需要存在物理网络接口,并且虚拟机无法与主机外部通信,因为它们未连接到物理网络接口。
相反,当使用仅主机网络时,VirtualBox 会在主机上创建一个新的软件接口,然后该接口会显示在现有网络接口旁边。换句话说,使用桥接网络时,会使用现有物理接口来连接虚拟机,而使用仅主机网络时,则会在主机上创建一个新的“环回”接口。使用内部网络时,虚拟机之间的流量是看不见的,但可以拦截主机上“环回”接口上的流量。
仅主机网络对于预配置的虚拟设备特别有用,在这种虚拟设备中,多个虚拟机一起交付并设计为相互协作。例如,一个虚拟机可能包含一个 Web 服务器,另一个虚拟机包含一个数据库,由于它们旨在相互通信,因此设备可以指示 VirtualBox 为这两个虚拟机设置仅主机网络。然后,第二个(桥接)网络将 Web 服务器连接到外部世界以提供数据,但外部世界无法连接到数据库。
要将虚拟机的虚拟网络接口更改为“仅主机”模式:
要么进入图形用户界面中虚拟机设置笔记本的“网络”页面,然后选择“仅主机网络”,要么
在命令行上输入请
VBoxManage modifyvm "VM name" --nic<x> hostonly;
参阅第 8.8 节“VBoxManage modifiedvm”了解详情。在将虚拟机连接到仅主机网络之前,您必须创建至少一个仅主机接口,可以通过 GUI 创建:“文件”→“首选项”→“网络”→“仅主机网络”→“(+) 添加仅主机网络”,也可以通过命令行创建
VBoxManage hostonlyif create
有关详细信息,请参阅第 8.37 节“VBoxManage hostonlyif”。
对于仅主机网络(如内部网络),您可能会发现 VirtualBox 内置的 DHCP 服务器很有用。可以启用该服务器来管理仅主机网络中的 IP 地址,否则您将需要静态配置所有 IP 地址。
在 VirtualBox 图形用户界面中,您可以通过“文件”→“首选项”→“网络”在全局设置中配置所有这些项目,其中列出了当前正在使用的所有仅主机网络。单击网络名称,然后单击右侧的“编辑”按钮,您可以修改适配器和 DHCP 设置。
或者,您也可以
VBoxManage dhcpserver
在命令行上使用;请参阅第 8.38 节“VBoxManage dhcpserver”了解详情。
设置 ssh 服务器: