如何从主机访问Apache(在VirtualBox guest虚拟机上)?

我在Ubuntu VM上安装了Apache。 当我进入guest并加载Firefox时,我可以看到Apache在浏览localhost时工作正常。

我想通过主机访问同一页面。 我尝试过使用来宾的IP地址但没有出现。

理想情况下,我很乐意设置我的Windows 7(主机)来请求访客上的Apache服务器的http://guestserver.com 。 我怎样才能做到这一点?

如果您的物理网络中需要其他计算机才能访问VM(或者VM需要Internet访问),请使用桥接网络。 否则,坚持只有主机的网络。

  1. 停止VM并在VirtualBox(OSE)管理器中打开其设置
  2. 转到“ 网络”选项卡
  3. 根据您的选择选择网络模式(桥接网络或仅限主机)(在下面的示例中,我使用的是仅限主机)

    如果要使用桥接网络,则必须在“ 名称”中选择正确的网络适配器。 对于有线连接,您可以选择名为eth0 。 无线连接通常被命名为wlan0 (数字可能会有所不同)

  4. 保存设置
  5. 启动Ubuntu VM
  6. 启动时,您可以通过运行以下方式收集IP地址:

     ifconfig | grep addr 

    在下面的输出中, 192.168.56.101是可以在Win7主机系统中用于访问VM的IP地址:

     eth0 Link encap:Ethernet HWaddr 08:00:27:70:27:fe inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe7b:25fe/64 Scope:Link inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host 
  7. 在Windows主机系统中,以管理员身份编辑C:\Windows\System32\drivers\etc\hosts并添加一行:

     192.168.56.101 guestserver.com 

    如果你有一个Ubuntu主机系统,请使用sudo nano /etc/hosts编辑sudo nano /etc/hosts

  8. 利润!

就我而言,我有一台路由器为我的主机PC分配静态IP。

  1. 将网络适配器设置为Bridge:

    设置>网络>适配器1( 启用网络适配器 )>附加到:( 桥接适配器 )>确定

  2. 启动虚拟机>登录

  3. 将VirtualMachine的IP从动态更改为静态

    sudo nano / etc / network / interfaces

  4. 在主网络接口下,将单词dhcp更改为静态并输入新的静态IP或注释该行并添加新行

 #iface eth0 inet dhcp iface eth0 inet static address 192.168.10.110 netmask 255.255.255.0 gateway 192.168.10.1 network 192.168.10.0 broadcast 192.168.10.255 

请注意我的路由器正在xxx.xxx上运行。 10 .x和你的可以在xxx.xxx。 0 .x或xxx.xxx。 1 .x或其他。

执行此操作后,您可以在主机和来宾计算机中使用Internet连接,并在Web浏览器中键入该静态IP以检查您的Apache服务器。

您可以尝试在防火墙/其他端口下尝试端口转发,而不是尝试将适配器设置为桥接或仅主机网络适配器,而您的端口未设置为tcp和udp连接。

接受的答案对我不起作用(我在ubuntu 12.04 LTS内部安装了virutalbox,在安装了ubuntu 14.04 LTS服务器的virtualbox中安装了virutalbox)。 我刚刚交换了Adapter1和Adapter2的网络设置,即为“桥接网络”设置Adapter1,为“NAT”设置Adapter2,它开始工作。

如果你无法通过ip连接,那么在默认的apache安装上你不可能在dns名称上取得任何成功。

检查虚拟主机的网络设置,我总是把它桥接到它可以访问整个网络。

在桥接模式下,如果主机使用静态IP地址,则应在与主机IP相同的范围内手动配置访客IP。 否则,将不会自动为guest虚拟机分配有效的IP地址。 HTH。

如果您只需要一个特定的端口(如果您正在运行Jetty或Tomcat等Web应用程序,请执行以下操作):

设置 – >网络 – >将其中一个适配器设置为NAT – >按“端口转发” – >设置相关的主机和访客端口。

保存后,您可以从本地计算机转到localhost:hostport,它将重定向到虚拟机相关端口,您就完成了。

Lekensteyn的回答是对的。 但是,如果您在公司环境中,则可能必须为访客的IP地址禁用代理服务器。 例如,如果您在主机上使用Mozilla Firefox并且尝试访问guest虚拟机上的192.168.56.101/,则需要转到Firefox的工具 – >选项 – >高级 – >网络 – >设置并使用“否”代理“或”无代理 – > 192.168.56.101“。

如果您需要访问因使用DHCP而获得不同IP的guest虚拟机,我建议通过它的主机名访问。 但是,当主机是Windows时,通过主机名访问可能需要额外的工具。

以下文本是我在superuser.com上自己的答案中复制的。

我建议你使用多播DNS来解决这个问题。

Ubuntu默认通过Avahi使用它。

Windows主机需要Avahi客户端才能发现其他Avahi服务。 如果您的主机已经使用了某些Apple软件,那么可能已经通过名为Bonjour的服务使用了该软件。 但是,如果尚未安装,则可在此处下载小版本的Bonjour: Bonjour打印服务 。 安装完成后,您应该可以通过.local访问您的访客。

注意:默认情况下,mDNS系统似乎使用.local后缀。 因此,如果您的主机名是“dev.myapp.com”,那么实际的主机名将是“dev.myapp.com.local”。