我是一名 Web 开发人员,想不再使用 XAMPP 在我的计算机上进行开发。我想拥有自己的开发服务器,但是没有硬件,所以我用 VirtualBox 设置了一个。我已经安装了 Ubuntu 12.04。
我拥有足够的服务器管理知识,但是我却无法理解如何通过主机连接到虚拟机。我至少希望能够通过端口 80(HTTP)和 22(SSH)访问它。我可以通过 VirtualBox 访问它,但最终我希望它是无头的,并使用 PuTTY 进行连接。
从 Google 上看,我似乎需要在虚拟机上安装两个适配器:一个 NAT,以便它可以连接到互联网;一个主机专用适配器,以便我的主机可以连接到虚拟机。目前,这是我在 VirtualBox 中的网络配置,显示了我的两个适配器:
当然,我还需要知道机器的 IP,以便能够连接到它。运行后,ifconfig
我得到了以下信息:
我用红色圈出了我认为应该用来连接虚拟机的 IP 地址。但是,当我尝试在此 IP 和端口 22 上启动 SSH 会话时,连接超时。我知道这不是 SSH 问题,因为我可以在虚拟机ssh 127.0.0.1
内正常运行。此外,如果相关的话,我可以从虚拟机内部 ping google.com,因此 NAT 正在运行。
我在这里可能遗漏了什么以及我需要做什么才能从我的主机访问我的虚拟机?
编辑:稍微扩展一下,如果我使用 SSH 的端口转发,我可以成功连接,但是我宁愿设置仅主机网络,这样我就不必担心转发端口,并且虚拟机似乎在它自己的 IP 上。
答案1
确保您的网络适配器 1 已连接到Bridged
网络设置,以便相应的虚拟机将充当 LAN 中的独立机器。更改后,您将能够从主机访问虚拟机。
尝试了解虚拟环境的网络连接。:)
http://www.dedoimedo.com/computers/virtualbox-network-sharing.html
答案2
将适配器设置从“NAT”更改为“桥接”。
该10.0.2.15
地址是 NAT 接口;为了从本地网络访问,您需要以 开头的地址192.168.X.X
(在您激活桥接模式之后)。192.168.
是您的内部网络,只能从 LAN 访问。
在客户操作系统(Ubuntu 服务器)的终端中运行ifconfig
(ifconfig | less
如果您没有可滚动的终端,Enter请按每行并按退出输出),您应该会看到具有内部IP 地址的新适配器。现在,如果您将其输入到主机操作系统的 Web 浏览器的 URL 字段中,您应该会看到“它起作用了!”页面。q192.168.X.X