我想使用虚拟机作为 Localhost 服务器

我想使用虚拟机作为 Localhost 服务器

我现在正在从 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 网络虚拟机可以路由到您的主机。 如您所见,无法从您的主机直接从 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

(图片来源:https://www.eandbsoftware.org/networking-between-host-and-guest-vms-host-only-networking-with-virtualbox/

答案2

我知道我错过了什么,

我只是忘了检查“适配器 2”的[电缆连接]。

现在我可以访问 VM 服务器了。

相关内容