从 VirtualBox 来宾操作系统连接到主机?

Naf*_*Kay 237 networking virtualbox virtualization

我基本上想从 VirtualBox 中的来宾访问我的主机。是否为我的主机提供了一个 IP 地址,我可以从来宾使用它?是否需要额外的步骤来设置?我想访问我主机的 Apache、FTP 和 SSH 服务。

Naf*_*Kay 289

这个答案几乎是关于 VirtualBox 中的来宾操作系统设置;您只需要使用来宾操作系统上的网络网关地址即可从来宾操作系统连接到主机操作系统。

在默认的 Vagrant 设置中,您应该能够通过默认网关访问您的主机。

在基于 Windows 的来宾上,您可以通过运行以下命令轻松确定此 IP 地址:

ipconfig
Run Code Online (Sandbox Code Playgroud)

它应该倾倒出这样的东西:

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
Run Code Online (Sandbox Code Playgroud)

在本例中,客人可以访问主机10.0.2.2


在基于 Unix/Linux 的客户机上,使用以下命令:

netstat -rn
Run Code Online (Sandbox Code Playgroud)

它应该倾倒出这样的东西:

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
Run Code Online (Sandbox Code Playgroud)

在这个例子中,客人可以访问主机192.168.1.1


Pra*_*bhu 42

从来宾访问主机的 Web 服务器很容易。这可以使用两种方法轻松完成。首先执行以下操作

  • 在 VirtualBox 中,转到设备并选择网络适​​配器...

  • 在适配器设置中,检查Attached to

  • 如果值为NAT,请执行以下操作

  • 设置 Virtual box 时的默认网关通常 10.0.2.2为默认值。如果您没有更改任何内容,这将起作用。但是,如果您更改了它并且您正在运行的来宾机器是windows运行以下命令并找到默认网关

    ipconfig /all

    如果您使用的是Linux、Unix 或 Mac OS,请运行以下命令来获取它

    netstat -rn | grep 'default' | awk '{print $2}'

  • 转到 Web 浏览器并输入此默认网关,然后按 Enter。可以访问网络服务器。

  • 如果值为Bridged Adapter,请执行以下操作

    • 找到主机和来宾的IP地址
      • 如果您使用的是 Windows,请运行 ipconfig并获取 IP 地址
      • 如果您使用的是 Linux、Unix 或 Mac OS,请运行ifconfig | grep 'inet' 并获取 ip 地址
      • ip 地址就像 192.168.1.1
    • 如果要访问主机,请在来宾中运行浏览器并输入主机的IP地址
    • 如果要访问来宾,请在主机中运行浏览器并输入来宾的IP地址


Poi*_*nty 9

另一种方法是使用“主机”类型的虚拟网络。这为您提供了来宾操作系统中的接口,其地址位于与主机所在的“外部世界”子网不同的本地子网上。要完成这项工作,您必须确保以下几点:

  • 您的 VM 配置了“仅主机”适配器;
  • 您的主机服务需要侦听所有本地适配器,或者至少是您希望能够联系的那些;
  • 您的主机将获得自己的虚拟适配器,您需要找出它的 IP 地址并将其添加到来宾操作系统中的“主机”文件中(但是这适用于来宾操作系统;在 Windows XP 上,它只是“ hosts”文件埋在 C:/WINDOWS/system32/drivers/etc 中)。为其指定一个要用作主机主机名的名称。

完成此操作后,您应该能够通过编码到主机文件中的名称从 VM 中“看到”主机。

例如,在我的 Ubuntu 11.04 主机上,我在 192.168.56.1 上获得了一个“vboxnet0”虚拟接口。机器中的适配器提供类似于 192.168.56.101 的内容。我并不需要去我的虚拟机,但我猜想会通过对称改变主机的主机文件成为可能。我加

192.168.56.1 mymachine
Run Code Online (Sandbox Code Playgroud)

到来宾操作系统主机文件,他们可以(例如)在以下位置查看我的主机的 Web 服务器

http://mymachine/whatever
Run Code Online (Sandbox Code Playgroud)

您当然可以同时设置桥接适配器和仅主机适配器。