Como permitir que um convidado do VirtualBox (executando o Windows) acesse a Internet?

30

Eu tenho uma máquina virtual VirtualBox. A máquina host executa o Ubuntu. A máquina convidada (virtual) executa o Windows XP.

Eu pesquisei esse problema no Google e as pessoas afirmam que o corrigiram alterando o tipo de adaptador para NAT, mas não existe essa opção para mim:

insira a descrição da imagem aqui

Qualquer ideia?

Atualizar:

Também não funcionou, depois de mudar para NAT. Aqui estão as configurações atuais (com todos os detalhes mostrados):

insira a descrição da imagem aqui

Aqui está uma captura de tela do convidado mostrando algumas informações de rede:

(Observe que esta pergunta é sobre como conceder acesso à Internet da VM no VirtualBox, para que a presença de uma imagem do Windows não torne isso automaticamente fora de tópico!)

insira a descrição da imagem aqui

Imagem maior aqui.

umpirsky
fonte

Respostas:

34

Configurando o NAT

NAT não é uma opção para o tipo de adaptador . Em vez disso, é uma opção para anexado a .

Clique no local onde está o adaptador em ponte e você poderá selecionar NAT .

A propósito, o motivo de alterá-lo para NAT às vezes ajuda não é específico para convidados do Windows. Em vez disso, se o seu PC físico (host) estiver em uma LAN, o Bridged Adapter (assim como o NAT ) normalmente funcionará bem. Se o seu PC físico tiver uma conexão de rede para apenas um computador - como geralmente é conectado diretamente a um modem a cabo / DSL / ISDN que tenha apenas uma porta Ethernet -, não haverá rede local para a qual fazer a ponte. , então você deve usar o NAT .

Se você usar o Bridged Adapter e sua máquina host estiver em uma LAN física, sua máquina convidada poderá ver e ser vista automaticamente pelos computadores na LAN. Se você usar o NAT em uma LAN, a máquina convidada poderá ver os outros computadores na LAN, mas os outros computadores na LAN (além do host de virtualização) não poderão vê-lo.

Se você estiver interessado em mais detalhes, consulte estes artigos sobre ponte de rede e tradução de endereços de rede .

Se isso funcionar, ótimo. De outra forma...

Verifique a configuração de rede do convidado

Na máquina virtual, abra a configuração de Conexões de Rede (no Painel de Controle ou no Menu Iniciar> Configurações). A menos que você configure manualmente várias interfaces para as máquinas convidadas no VirtualBox (ou tenha adaptadores de rede reais conectados a ela com encaminhamento USB), você verá apenas uma e, a menos que tenha alterado o nome, ela será chamada de Área Local Conexão (talvez com um número depois).

Clique com o botão direito do mouse e clique em Propriedades .

máquina convidada, Windows XP Network Connections: este é o primeiro local para clicar em "Propriedades"

Em A conexão usa os seguintes itens , clique em Protocolo da Internet (TCP / IP) e clique em Propriedades .

máquina convidada, Windows XP "Conexão local", mostrando a lista de protocolos e serviços

Verifique se a configuração está correta.

Para conexões em ponte

Se você manteve o adaptador de rede da VM em ponte no VirtualBox, em vez de alterná-lo para NAT, é como se houvesse um comutador de rede de camada 2 conectando três dispositivos:

  • A máquina virtual.
  • A máquina host física.
  • Qualquer que seja a máquina host física conectada (no adaptador de rede host específico que foi conectado). Por exemplo, se o seu computador estiver conectado a um roteador, é como se o comutador estivesse conectado ao roteador. Se estiver conectado sem fio a um ponto de acesso, é como se o comutador fosse uma ponte sem fio .

Portanto, sua VM é "equivalente em rede" à sua máquina host . Quaisquer que sejam as configurações (exceto o endereço IP, é claro), sua máquina virtual deve ter.

Para conexões NAT

Se você selecionou NAT para Attached to no VirtualBox, é como se seu computador real estivesse agindo como um pequeno roteador doméstico / de escritório . A máquina host executa um servidor DHCP acessível apenas às máquinas virtuais do VirtualBox e o convidado obtém todas as informações de configuração de rede.

O servidor DHCP VirtualBox irá fornecer um endereço IP e informações de DNS para o cliente, por isso tanto destas duas opções devem ser selecionadas:

  • Obter um endereço IP automaticamente
  • Obter o endereço do servidor DNS automaticamente

máquina convidada, configurações TCP / IP do Windows XP, guia Geral

Essa é a chave.

Esse é o problema específico, para o sistema nesta questão. Se esse for o único problema com a configuração, a correção desse problema deverá resolver o problema completamente.

Você tem configurações manuais, em vez de DHCP.

Isso pode funcionar, mas as configurações manuais precisam estar corretas, e você também deve garantir que o IP não esteja no intervalo de endereços IP que o seu roteador atribui (ou pode haver uma colisão com outro dispositivo no dispositivo). rede).

Nesse caso, as configurações manuais não estão corretas, porque:

  1. O endereço IP da máquina host na interface de rede por meio do qual ela fornece uma conexão com a Internet para o hóspede não é igual ao endereço IP na rede física. Mesmo se o endereço IP do seu computador for 192.168.1.1 "na vida real", o convidado não poderá acessá-lo dessa maneira.

    • O mais provável é que, se você o configurar dessa maneira, talvez esteja pensando em colocar o endereço IP do roteador residencial / comercial da vida real (que geralmente é 192.168.1.1) como o gateway padrão e o servidor DNS primário.

    Mas o convidado não pode acessar diretamente o roteador NAT físico em sua mesa (ou em qualquer outro local), porque qualquer dado transmitido entre a VM e o roteador real deve passar pelo roteador da VM, e o roteador da VM é o seu computador (acessado através dessa rede virtual especial interface).

  2. Como o gateway padrão está errado, nenhum roteamento ocorre e a VM não pode acessar nenhum dispositivo de rede físico fora do seu computador.

  3. Como o endereço IP da VM está fora do intervalo correto (que geralmente é 10.2.2. *) E a máscara de sub-rede é 255.255.255.0, ele não pode acessar o intervalo correto. (A máscara de sub-rede está correta, mas, juntamente com o IP, identifica a sub-rede incorreta.)

  4. O servidor DNS também deve ser corrigido ou nenhum host pode ser acessado através de seus nomes de domínio (como askubuntu.com).

Se, por algum motivo, você precisar usar um "IP estático", ou seja, não usar DHCP, será necessário obter as informações corretas do VirtualBox e inseri-las. Entre em contato se precisar de ajuda com isso (posso expandir isso para incluir instruções).

Supondo que o DHCP esteja bem com você, você pode resolver o problema criando seu Protocolo da Internet (propriedades TCP / IP) . As configurações da guia Geral se parecem com a captura de tela acima.

Ainda não há conexão com a Internet? Hora de solucionar problemas

Pode ser útil reunir mais informações do lado do convidado. No sistema Windows XP virtualizado que misteriosamente não se conecta à Internet, instale as adições de convidado do VirtualBox (clicando em Dispositivos > Instalar adições de convidados ; consulte o manual para obter mais informações). Reinicie e veja se você pode se conectar à Internet. Se não puder, você ainda conseguiu algo útil, porque agora você pode copiar e colar entre as pranchetas de convidado e host.

Então, abra o prompt de comando no Windows. Uma maneira de fazer isso é executar:

Iniciar> Executar ...> cmd.exe

Agora execute este comando para obter informações sobre as interfaces e conexões de rede do sistema convidado do Windows.

ipconfig /all

Em seguida, copie todo o texto no prompt de comando para a área de transferência. Essa funcionalidade é acessível no menu contextual gerado clicando com o botão direito do mouse em qualquer lugar dentro da janela do prompt de comando. Você pode editar sua pergunta no sistema host do Ubuntu, onde você tem uma conexão com a Internet, e colá-la.

  • De maneira mais geral, para outras pessoas que não fazem a pergunta:

    Em seguida, você pode colá-lo em aplicativos no sistema host do Ubuntu, permitindo que você o consulte quando a VM do Windows estiver suspensa / desativada. Você pode fornecer a quem estiver tentando ajudá-lo. Você pode incluí-lo em sua própria pergunta aqui no Ask Ubuntu

    (No entanto, se o seu problema de rede estiver na instalação virtual, em vez do hardware virtual ou do software VirtualBox - por exemplo, se sua VM acessou a Internet corretamente até você instalar algum software Windows que não seja o acréscimo de convidados -, então o seu problema provavelmente seria considerado fora de tópico para o Ask Ubuntu, mas provavelmente seria sobre tópico para Superusuário .)

Eliah Kagan
fonte
2
Eu mudei obter IP e DNS automaticamente e funcionou! Sua resposta foi precisa e detalhada. Muito obrigado por isso. Tenho certeza de que será um recurso muito útil para outras pessoas com problemas semelhantes. Aceitei sua resposta e iniciei uma recompensa, adicionarei 100 da minha reputação atual a você após 24h. Obrigado!
umpirsky
Ainda precisa de um TL; dr. BTW, você soluciona problemas do Windows!
Braiam 29/09
Obrigado e Deus te abençoe em nome de Jesus! A resposta ajudou muito! Mudar (usando NAT) para DHCP nos dois lados resolveu o problema!
Lexeme 31/03
@Eliah, você declarou " se você usar o NAT em uma LAN, a máquina convidada poderá ver os outros computadores na LAN ". Como isso é possível? O convidado não seria capaz de ver apenas o host e todas as conexões devem passar pelo host?
Pacerier 3/09/15
@Pacerier No. Isso é análogo à situação em que você conecta um roteador NAT a outro roteador NAT que fornece acesso à Internet. Suponha que o computador A esteja atrás do roteador NAT X e o computador B e o roteador NAT X estejam atrás de outro roteador NAT Y, que fornece acesso a dispositivos na Internet, como o computador C. Isso permite que A (e B) endereça C enquanto mantém C e até B aborda A. Mas também permite que A aborde B. Na perspectiva de B, A está oculto atrás de X. Na perspectiva de A, B não está oculto - B, como Y, é um host na rede que A pode acessar através do X. porta de entrada
Elias Kagan
10

Esta solução funcionou perfeitamente para mim (SO Host: Ubuntu 14.04; SO Convidado: Windows XP SP3):

Selecione " PCnet-PCI II (Am79C970A) " em 'NAT' -> 'Avançado' -> 'Tipo de adaptador'.

timfrostmann
fonte
1
Trabalhou no Windows 7 como anfitrião e Windows XP como convidado
Musa Haidari
Trabalhou no Windows 8.1 como host e no Ubuntu 14.04 como convidado
user11153
@frostmann, Por que isso funciona?
Pacerier 3/09/15
trabalhou ... em win8
chandil03
funciona no WinXP também!
precisa saber é o seguinte
4

O NAT está na lista suspensa Anexado a .

O tipo de adaptador é avançado e não precisa ser alterado na maioria dos casos.

A ponte também deve funcionar bem, mas você precisa ajustar a interface de rede. O nome deve ser definido na sua interface da Internet em sua máquina host (provavelmente wlan para wireless, eth para ethernet).

rosch
fonte