我本质上想从 VirtualBox 中的客户机访问我的主机。是否有为我的主机提供的 IP 地址,我可以从客户机使用?设置它是否需要额外的步骤?我想访问我的主机的 Apache、FTP 和 SSH 服务。
答案1
这个答案基本上是关于 VirtualBox 中的客户操作系统设置;您只需要使用客户操作系统上的网络网关地址从客户操作系统连接到主机操作系统。
在默认的 Vagrant 设置中,您应该能够通过默认网关访问您的主机。
在基于 Windows 的客户机上,您可以通过运行以下命令轻松确定此 IP 地址:
ipconfig
它应该输出类似这样的内容:
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 10.0.2.15
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.0.2.2
在此示例中,客户机可以访问主机10.0.2.2
。
在基于 Unix/Linux 的客户机上,使用以下命令:
netstat -rn
它应该输出类似这样的内容:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlan0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
在此示例中,客户机可以访问主机192.168.1.1
。
答案2
从客户机访问主机的 Web 服务器很容易。可以使用两种方法轻松完成此操作。首先执行以下操作
在 VirtualBox 中转到设备并选择网络适配器...
在适配器设置中,检查附于。
如果值为NAT,执行以下操作
设置虚拟盒时的默认网关通常是
10.0.2.2
作为默认值。如果您没有更改任何内容,这将起作用。但如果您更改了它并且您正在运行的客户机是视窗运行以下命令并找到默认网关ipconfig /all
如果你Linux、Unix 或 Mac OS,运行以下命令来获取它
netstat -rn | grep 'default' | awk '{print $2}'
进入 Web 浏览器,输入此默认网关并按回车键。即可访问 Web 服务器。
如果值为桥接适配器,执行以下操作
- 查找主机和来宾的 ip 地址
- 如果你使用的是 Windows,请运行
ipconfig
并获取 IP 地址 - 如果你使用的是 Linux、Unix 或 Mac OS,请运行
ifconfig | grep 'inet'
并获取 IP 地址 - IP 地址类似于 192.168.1.1
- 如果你使用的是 Windows,请运行
- 如果你想访问主机,在客户机中运行浏览器并输入主机的 IP 地址
- 如果你想访问访客,在主机中运行浏览器并输入访客的 ip 地址
- 查找主机和来宾的 ip 地址
答案3
另一种方法是使用“主机”类型的虚拟网络。这样你就可以在客户操作系统中拥有一个接口,该接口的地址位于本地子网上不同的来自主机所在的“外部世界”子网。要实现这一点,您必须确保以下几点:
- 您的虚拟机已配置“仅主机”适配器;
- 您的主机服务需要监听所有本地适配器,或者至少是您希望能够联系的适配器;
- 您的主机将获得自己的虚拟适配器,您需要找出它的 IP 地址并将其添加到客户操作系统中的“hosts”文件中(但这仅适用于客户操作系统;在 Windows XP 上,它只是隐藏在 C:/WINDOWS/system32/drivers/etc 中的“hosts”文件)。为其指定一个您想要用作主机主机名的名称。
完成此操作后,您应该能够通过编码到主机文件中的名称从虚拟机“看到”主机。
例如,在我的 Ubuntu 11.04 主机上,我在 192.168.56.1 上获得一个“vboxnet0”虚拟接口。机器中的适配器显示类似 192.168.56.101 的内容。我不需要去在到我的虚拟机,但我认为这可以通过对主机的主机文件进行对称更改来实现。我添加
192.168.56.1 mymachine
到客户操作系统主机文件,他们可以(例如)看到我的主机的 Web 服务器
http://mymachine/whatever
当然,您可以同时设置桥接适配器和仅主机适配器。
答案4
您可以在 VirtualBox 中创建共享文件夹。这将自动在 Virtual Box 中创建“网络共享”以访问主机操作系统中的文件夹。
以下是在 Windows XP 客户操作系统中一步步的操作: