Como acessar meu servidor local na minha máquina virtual VirtualBox?

9

Aqui está a minha configuração:

  • Eu tenho um servidor local em execução na minha máquina (Mac OS, Snow Leopard). Eu posso acessá-lo através do meu navegador fazendo

    localhost: 3000

  • Eu tenho uma máquina virtual usando o Virtual Box executando o Windows XP. Se eu tentar acessar usando o localhost: 3000, ele falhará. A mesma coisa se eu usar o ip da máquina Mac.

  • A máquina virtual tem acesso à internet.

Como posso acessar meu servidor local na minha máquina virtual?

marcgg
fonte
se você tentar acessar "localhost" na máquina virtual, ela tentará se conectar a si mesma, em vez de ao servidor macosx. Eu acho que as respostas até agora perdeu esse ponto
Brandstaetter
11
Eu sei que isto é e discussão antiga, mas aqui está a resposta stackoverflow.com/questions/1261975/...
deiga

Respostas:

16

Como você tem sua configuração de rede na máquina virtual?

Parece que você pode configurá-lo usando NAT. Nessa situação, se a sua máquina host (Mac) tiver um endereço IP (privado) não roteável como 192.168.xx, você não poderá alcançar o host de dentro da máquina virtual. O motivo pelo qual você não pode alcançar o host a partir do convidado é que você está essencialmente configurando duas redes privadas separadas. Seu computador Mac está em um (192.168.xx) e sua VM em outro (talvez 10.xxx) e você basicamente tem um roteador entre eles. Como os roteadores não rotearão IPs privados, as duas redes nunca poderão se comunicar diretamente com cada uma.

Se você deseja que seus computadores host e convidado possam se comunicar, provavelmente desejará configurar seu adaptador de rede VirtualBox para ser anexado ao "Adaptador em ponte". Isso compartilhará sua conexão à Internet com a máquina virtual e permitirá que sua máquina convidada fale com o host. Nesta situação, você está basicamente adicionando sua VM como um nó adicional à rede local em que seu Mac já está.

pesado
fonte
Em "Adaptador em ponte", o host e o convidado terão endereços IP na mesma sub-rede (por exemplo, 192.168.xx), correto?
Kdbanman # 13/15
@kdbanman, correto (supondo que a rede host esteja usando DHCP), a VM aparecerá como outra máquina na rede host.
heavyd
Essa parece ser uma maneira muito mais natural de configurar uma VM. Por que alguém usaria uma rede privada separada com o NAT? Segurança?
Kdbanman
11
Sim, o NAT fornece isolamento. Além disso, algumas redes não permitem a conexão de nenhum host, portanto, o uso do NAT pode permitir que a VM acesse os recursos de rede através da interface dos hosts. Também é usado como padrão por esse motivo, é uma configuração menos propensa a erros, mas eu concordo que prefiro fazer a ponte na maioria das situações.
heavyd
1

Dependendo das configurações de rede do seu vm, você provavelmente precisará adicionar um IP adicional ao sistema operacional host que esteja na mesma sub-rede que o seu vm para que eles possam se comunicar. Seu vm provavelmente possui um endereço 192.168.xx; portanto, adicione um endereço semelhante à máquina Mac:

Por exemplo, se a vm tiver 192.168.1.99 e máscara de sub-rede 255.255.255.0, você poderá fazer isso no seu host:

ifconfig eth0: 0 192.168.1.199 máscara de rede 255.255.255.0 up

você provavelmente precisará reiniciar o adaptador também.

John T
fonte
1

Eu tive o mesmo problema exato, apenas estava usando o Windows 7 como convidado.

O que eu fiz foi Iniciar -> Executar -> cmdpara abrir a linha de comando.

ipconfigpara exibir os detalhes da conexão. Procure o endereço parecido com 10.xxx, esse é o seu Mac.

Agora, use isso para conectar-se ao servidor local no seu Mac.

Para mim, geralmente é algo como http://10.0.2.2:80/blah

Austin Hyde
fonte