Conecta-se à máquina host de um sistema operacional convidado do VirtualBox?

193

Eu gostaria essencialmente de acessar meu computador host do convidado no VirtualBox. Existe um endereço IP fornecido para o meu host que eu possa usar do convidado? Há etapas extras necessárias para configurar isso? Gostaria de acessar os serviços Apache, FTP e SSH do meu host.

    
por Naftuli Kay 15.07.2011 / 00:53

5 respostas

241

Esta resposta é praticamente uma configuração do sistema operacional convidado no VirtualBox; você só precisa usar o endereço do gateway de rede no sistema operacional convidado para se conectar ao sistema operacional host a partir de um sistema operacional convidado.

Na configuração padrão do Vagrant, você deve ser capaz de alcançar seu host através do gateway padrão.

Em convidados baseados no Windows, você pode determinar facilmente esse endereço IP executando o comando:

ipconfig

Deveria sair algo assim:

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

Neste exemplo, o convidado pode acessar a máquina host 10.0.2.2 .

Em convidados baseados em Unix / Linux, use o comando:

netstat -rn

Deveria sair algo assim:

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

Neste exemplo, o convidado pode acessar a máquina host 192.168.1.1 .

    
por 15.07.2011 / 03:49
31

É fácil acessar o servidor da Web do computador host a partir do convidado. Isso pode ser feito facilmente usando dois métodos. Primeiro faça o seguinte

  • Vá para Dispositivos e selecione Adaptadores de rede ...
  • Nas configurações do adaptador, verifique se há Anexado a .
  • Se o valor for NAT , faça o seguinte

  • O gateway padrão quando você configura a caixa virtual é geralmente 10.0.2.2 como valor padrão. Se você não mudou nada, isso vai funcionar. Mas se você mudou e a máquina convidada você estão rodando é o windows executado seguindo o comando e encontrar o padrão gateway

    ipconfig /all

    Se você estiver no Linux, Unix ou Mac OS, execute o seguinte comando para obtê-lo

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

  • Vá até o navegador da Web e digite esse gateway padrão e pressione Enter. O servidor da web pode ser acessado.

  • Se o valor for Adaptador em ponte , faça o seguinte
    • encontre o endereço IP do host e do convidado
      • se você estiver no Windows, execute ipconfig e obtenha o endereço IP
      • se você estiver no Linux, Unix ou Mac OS, execute ifconfig | grep 'inet' e obtenha o endereço IP
      • o endereço IP é como 192.168.1.1
    • se você quiser acessar o host, executar o navegador no guest e inserir o endereço IP do host
    • se você quiser acessar o convidado, executar o navegador no host e inserir o endereço IP do convidado
por 14.07.2013 / 14:27
8

Outra maneira de fazer isso é usar um tipo de rede virtual "Host". Isso dá a você uma interface no sistema operacional convidado com um endereço em uma sub-rede local diferente da (s) sub-rede (s) "mundo externo" em que sua máquina host está ligada. Para fazer isso funcionar, você precisa se certificar de algumas coisas:

  • Sua VM tem um adaptador "somente host" configurado;
  • Seus serviços de hospedagem precisam estar em escuta em todos os adaptadores locais ou, pelo menos, nos que você deseja entrar em contato;
  • Seu host receberá seu próprio adaptador virtual e você desejará descobrir seu endereço IP e adicioná-lo ao arquivo "hosts" em seu sistema operacional convidado (no entanto, isso funciona para o sistema operacional convidado; no Windows XP, é apenas o arquivo "hosts" enterrado em C: / WINDOWS / system32 / drivers / etc). Dê-lhe um nome que você deseja usar para o nome do host do host.

Depois de fazer isso, você poderá "ver" o host da VM por meio do nome codificado no arquivo host.

Por exemplo, no meu host Ubuntu 11.04, eu recebo uma interface virtual "vboxnet0" em 192.168.56.1. Os adaptadores nas máquinas aparecem com algo como 192.168.56.101. Eu não preciso ir em para minhas VMs, mas presumo que isso seria possível através de uma alteração simétrica no arquivo host do host. Eu adiciono

192.168.56.1 mymachine

para os arquivos host do sistema operacional convidado, e eles podem (por exemplo) ver o servidor da web da máquina host em

http://mymachine/whatever

É claro que você pode ter adaptadores em ponte e somente host configurados.

    
por 17.07.2011 / 20:37
0

Você pode criar pastas compartilhadas no VirtualBox. Isso criará automaticamente um 'compartilhamento de rede' no Virtual Box para acessar pastas no seu sistema operacional host.

Aqui está um decente passo a passo em um sistema operacional convidado do Windows XP:

http://www.giannistsakiris.com/index.php/2007/09/28/virtualbox-access-shared-folders-from-windows-xp-guest-os/

    
por 15.07.2011 / 01:08
0

Aqui está outra solução para esse problema usando uma interface de rede adicional e configurando o tráfego destinado ao host para rotear por uma interface adicional.

    
por 28.03.2012 / 17:12