我现在正在从 Ubuntu Desktop 17.10 写作,我从 Ubuntu 存储库安装了 VirtualBox 5.1,然后使用 Ubuntu Server 16.4 创建了新的 VM 以将其用作 Web 服务器..所以我在 VM 中拥有带有 ssh 和 Apache2 的 Ubuntu Server 16.4。
从“VirtualBox - 首选项 => 网络”我添加了新的仅主机网络,它被命名为“vboxnet0”
从“VM 设置 => 网络”中我选择:
“Nat”为“适配器 1”,并勾选“电缆连接”,
将“仅主机适配器”设置为“适配器 2”,并选择“vboxnet0”并选择“混杂模式:全部允许”。
修改etc/network/interfaces
如下:
ifconfig -a
显示:
并且我禁用了防火墙。
但是当我尝试使用 SSH 从桌面连接到虚拟机时显示此消息:
ssh: connect to host 192.168.56.101 port 22: No route to host
我无法从桌面访问 Web 服务器”http://192.168.56.101/“ 给我:
This site can’t be reached
我想像使用本地主机服务器一样使用 VM,我的错误是什么或者我遗漏了什么?
答案1
当你在 VirtualBox(或 VMware)上使用 Host-Only 网络时,你基本上将虚拟机隔离到其他网络无法访问的同一网络中(因为 Host-Only 网络没有网关)。因此,为了能够在网络之间进行路由,您需要使用 NAT 网络。这种类型的网络与您的真实的网络,但仍然可以路由,因为它位于您计算机的路由表上。可以将 NAT 网络视为可以从您自己的计算机路由的 Host-Only 网络。
如您所见,无法从您的主机直接从 Host-Only 网络访问,但 NAT 网络虚拟机可以路由到您的主机。
将虚拟机置于 NAT 后,请确保已将网关置于/etc/网络/接口。 例如:
auto enp0s8
iface enp0s8 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1
答案2
我知道我错过了什么,
我只是忘了检查“适配器 2”的[电缆连接]。
现在我可以访问 VM 服务器了。