Como fazer redes entre máquinas virtuais no VirtualBox?

92

Eu tenho duas máquinas virtuais no VirtualBox. Eu gostaria de fazer networking entre eles. No momento, tenho a configuração padrão em ambos, mas eles parecem ter o mesmo endereço IP 10.0.2.15. Eu também gostaria de poder usar a Internet com ambos, e isso é possível agora.

Por padrão, a configuração de rede é NAT, mas parece que eles não podem trabalhar em rede internamente, pois têm o mesmo IP. Mas se eu mudar para internal networking, acho que não consigo acessar a Internet com as máquinas virtuais.

Como posso configurar a rede entre convidados virtuais E ter acesso à Internet neles?

Jonas
fonte

Respostas:

57

Você já tentou este guia de rede virtual ?

A máquina virtual recebe seu endereço de rede e configuração na rede privada de um servidor DHCP integrado ao VirtualBox. O endereço IP assim atribuído à máquina virtual geralmente está em uma rede completamente diferente da do host. Como mais de uma placa de uma máquina virtual pode ser configurada para usar o NAT, a primeira placa é conectada à rede privada 10.0.2.0, a segunda placa à rede 10.0.3.0 e assim por diante.

Acho que o que você está procurando é " Rede interna ", conectando VMs internas entre si.

Você pode usar a caixa de diálogo "Configurações" da VM na interface gráfica do usuário do VirtualBox. Na categoria "Rede" da caixa de diálogo de configurações, selecione "Rede interna" na lista suspensa dos modos de rede. Agora selecione o nome de uma rede interna existente na lista suspensa abaixo ou insira um novo nome no campo de entrada.

Ye Lin Aung
fonte
1
Obrigado, está certo. A rede interna está funcionando, mas não vem com o DHCP, então tentei a solução Bridged e isso funciona bem. Obrigado.
Jonas
3
@ Joe Internet, seu link está OK, mas eu só o entendi depois de ler blog.techprognosis.com/2011/02/28/… . Dito isto, coloquei a rede interna em execução. Não pude selecionar o modo somente host ou em ponte porque estão faltando adaptadores adequados.
bernd_k
1
O link no comentário anterior não funcionou para mim, este parece ser o correto: blog.techprognosis.com/how-to-enable-dhcp-in-virtualbox-4 #
Nicola Musatti
Isso não funcionou para mim até eu definir um IP estático.
vato
31

Encontrei a seguinte solução para o meu ambiente:

  • primeiro adaptador com rede interna para acessar os outros
  • segundo adaptador com NAT para acessar a internet.

Essas configurações podem ser feitas pelo GUI Oracle VM VirtualBox Manager. Inicialmente, tive o mesmo problema que o Jonas, perdi o DHCP. Finalmente encontrei este artigo (cópia arquivada, o link original está inoperante) e usei:

VBoxManage dhcpserver add --netname intnet --ip 10.13.13.100 --netmask 255.255.255.0 --lowerip 10.13.13.101 --upperip 10.13.13.254 --enable

a partir da linha de comando. Depois funcionou bem.

Ouso dizer que o manual é um recurso insuficiente, pois a maior parte da configuração do VirtualBox em um host do Windows pode ser feita pela GUI e é um inconveniente grave que não seja possível configurar o DHCP com a GUI.

Meu ambiente: estou executando o VirtualBox 4.1.2r73507 portátil no Windows 7 de 64 bits. No momento, o modo somente ponte e host não está funcionando, porque está faltando o adaptador somente host. Eu tenho um problema semelhante ao descrito em uma pergunta alemã no fórum do Virtual Box , não tenho adaptador apenas de host.

bernd_k
fonte
Eu já tenho um dhcpserver da intnet que, de alguma forma, veio por padrão quando instalei o virtualbox 4.3.x, mas ele não se conecta à internet quando uso o nat com isso.
pwned
11

É assim que conecto os convidados vbox apenas no modo NAT (testado no VirtualBox 4.2.4).

Basta usar o IP do gateway para passar de um convidado para o host. Em seguida, use o encaminhamento de porta para "proxy" o tráfego do host para o outro convidado.

Por exemplo, se o convidado A deseja acessar um serviço de convidado B que escuta na porta 1000, A precisa usar o IP do gateway (para a primeira interface NAT é 10.0.2.2). Então você precisa configurar o encaminhamento de porta no convidado B para que todo o tráfego recebido pelo host na porta 1000 vá para o convidado B na porta 1000.

Isso pode não funcionar para todos os serviços, mas parece funcionar muito bem para ssh, salt, ...

Em conclusão, você não precisa do modo somente host para conectar vários convidados, mas não pretendo dizer que o modo somente host não seja a melhor opção para o seu caso de uso.

user173653
fonte
1
Isso funcionou perfeitamente para o meu caso de uso (testando ie8 em um convidado xp se conectando a um servidor em um convidado linux).
Ted
+1 por simplicidade e por ser muito direto!
Emre Sevinç
9

Você precisa do tipo de LAN de conexão do host (algo parecido com o da versão em inglês) nas máquinas convidadas e a conexão em ponte na sua máquina host.

estimulação
fonte
3

(responder à pergunta por bernd_k)

Para compartilhar arquivos entre o host e os convidados, um realmente compartilha diretórios em vez de arquivos.

Se o modo de rede for em ponte ou NAT, o host e os convidados são parceiros de rede iguais. Embora toda a configuração esteja contida em um host, em termos de rede, todos são iguais na rede, como se fossem máquinas físicas. (O NAT às vezes é mais problemático de usar do que em ponte.)

Dessa forma, qualquer pasta compartilhada em qualquer computador, virtual ou física, está disponível para todos. Como nem todas as máquinas virtuais podem ser ativadas o tempo todo, faz sentido configurar uma pasta do host como a pasta compartilhada. O host compartilha a pasta e as máquinas virtuais a usam como estão ou como uma unidade mapeada.

O artigo a seguir explica detalhadamente como compartilhar pastas no Windows:
Como faço para compartilhar pastas no Windows 7 com o Assistente de Pasta Compartilhada?

harrymc
fonte
2
Suas dicas são valiosas posteriormente, mas antes de compartilhar arquivos ou pastas, você deve poder executar ping na outra máquina.
bernd_k
2

Tenho duas placas de rede no meu PC Oracle VM XP

1º Em ponte com um endereço IP rápido, como estou usando isso como um cliente com uma configuração de rede do servidor. O gateway padrão foi alterado para o mesmo da placa de rede dois (Nat 2nd)

2nd Nat Com obter endereço IP da Oracle VM

funciona bem!

Malcolm
fonte
2

Eu fiz as seguintes etapas e funcionou bem comigo finalmente (no CentOS VB):

  • Use o NAT para o adaptador de rede principal (Configurações -> Rede -> Adaptador1 "conectado ao NAT").
  • Adicione outro adaptador (Configurações -> Rede -> ative o Adaptador2 "conectado ao adaptador somente para host") -> defina "Modo promíscuo" para "Permitir tudo".
  • Inicie o VB.
  • Adicione outra interface de rede (cp / etc / sysconfig / scripts de rede / ifcfg-eth0 / etc / sysconfig / scripts de rede / ifcfg-eth1).
  • Mude o endereço MAC para eth1 de acordo com o que aparece no Adaptador2 ((Configurações -> Rede ->).
  • Reinicie a rede "reiniciar rede de serviço"

Então esse VB deve acessar a Internet e pode ser acessível pelos outros (VBs e máquina local).

Nota:

O adaptador NAT será usado para acessar a Internet, enquanto o adaptador somente para host será usado para acessar a rede entre outros VBs e a máquina local.

Moll
fonte
0

Não sei se vai funcionar, mas minha ideia é:

  1. Altere o IP para o número diff em apenas uma máquina virtual (no modo NAT).

  2. Mude outra máquina virtual para Bridged.

  3. Defina as configurações nos dois sistemas para que as máquinas se encontrem. Reinicie tudo.

Se 1 + 3 ou 1 + 2 + 3 não funcionar, tente o seguinte: Crie uma pasta compartilhada na máquina host e compartilhe a pasta com as 2 máquinas de caixa virtual nas configurações de caixa virtual. Reiniciar e voilá?

Eu sei que a segunda opção é uma solução alternativa.

H_7
fonte
0

Altere a rede conectada ao Bridged Adapter na rede em Configuração.

É isso aí; Pode conectar dois PCs virtuais.

ami
fonte