Estou enfrentando um problema muito estranho com o VirtualBox.
Na maioria das vezes, meu laptop está conectado a uma conexão Ethernet. Ocasionalmente, quando estou longe da minha mesa, não tenho opções além do Wi-Fi. Ao conectar ao Wi-Fi, meu computador host (Windows 10) obtém acesso à rede em alguns segundos sem problemas. No entanto, o convidado (Windows XP SP3) agirá como se ainda estivesse offline.
Minha configuração de rede no VirtualBox é NAT
.
O estranho é que isso só acontece no wireless. Sempre que conecto o computador, o sistema operacional host nunca tem problemas para obter uma conexão de rede. Eu o configurei como NAT porque preciso que o sistema operacional convidado tenha acesso à Internet, mas não quero que clientes fora do host se conectem a ele. Eu também não queria amarrar a máquina convidada à placa de rede com fio ou à placa de rede sem fio, porque ela funcionaria apenas em uma ou em outra.
Por outro lado, sempre que me conecto ao Wi-Fi, sempre há problemas para obter uma conexão com a Internet do convidado.
Uma vez eu estava tendo problemas, digitei ipconfig /flushdns
e de repente as coisas estavam funcionando. Desde então, isso não tem sido suficiente. Liberar meu DNS não é suficiente para fazer as coisas funcionarem no Wi-Fi.
A única maneira que encontrei para forçá-lo a funcionar é entrar nas configurações do meu VirtualBox para o convidado e alterar o adaptador de rede de NAT
para Bridged
. Neste ponto, ainda não funcionará. Porém, agora se eu digitar ipconfig /flushdns
(no convidado), tudo funciona de repente: tenho acesso à rede. O mais bizarro é que agora posso mudá-lo de volta para NAT
. De repente, vai parar de funcionar, mas, se eu fizer de ipconfig /flushdns
novo , vai funcionar.
Em outras palavras, fechei o círculo, de volta a uma NAT
conexão que finalmente funciona. Os estados inicial e final são exatamente os mesmos , então estou confuso por que o convidado não consegue obter uma conexão de rede por conta própria. Se eu tivesse que digitar ipconfig /flushdns
sempre que conectar ao Wi-Fi, isso seria uma coisa, mas é uma verdadeira dor ter que sair do convidado e mudar o adaptador de NAT
para Bridged
e depois de volta para NAT
e digitar o comando.
Por que isso está acontecendo e, mais importante, como posso consertar isso para que funcione tão perfeitamente quanto quando está conectado? (Nunca preciso digitar ipconfig /flushdns
ao passar de Wi-Fi de volta para Ethernet, por exemplo, ou mexer nas configurações do adaptador).
Aqui está a saída do prompt de comando de uma sessão de solução de problemas recente:
Apenas conectado ao Wi-Fi, sem acesso à rede:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\InterLinked>ping google.com
Ping request could not find host google.com. Please check the name and try again
.
C:\Documents and Settings\InterLinked>ping google.com
^C
C:\Documents and Settings\InterLinked>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
C:\Documents and Settings\InterLinked>ping google.com
Ping request could not find host google.com. Please check the name and try again
.
Altere NAT
para Bridged
e tente novamente:
C:\Documents and Settings\InterLinked>
C:\Documents and Settings\InterLinked>ping google.com
Eu o encerrei cedo, então a saída está faltando, mas o ping falha até que eu libere o DNS:
^C
C:\Documents and Settings\InterLinked>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
C:\Documents and Settings\InterLinked>ping google.com
Pinging google.com [172.217.7.14] with 32 bytes of data:
Reply from 172.217.7.14: bytes=32 time=15ms TTL=48
Reply from 172.217.7.14: bytes=32 time=13ms TTL=48
Reply from 172.217.7.14: bytes=32 time=15ms TTL=48
Reply from 172.217.7.14: bytes=32 time=20ms TTL=48
Ping statistics for 172.217.7.14:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 13ms, Maximum = 20ms, Average = 15ms
C:\Documents and Settings\InterLinked>
Eu mudo Bridged
de volta para NAT
:
C:\Documents and Settings\InterLinked>ping google.com
Pinging google.com [172.217.7.14] with 32 bytes of data:
Reply from 172.217.7.14: bytes=32 time=15ms TTL=47
Destination host unreachable.
Destination host unreachable.
Destination host unreachable.
Ping statistics for 172.217.7.14:
Packets: Sent = 4, Received = 1, Lost = 3 (75% loss),
Approximate round trip times in milli-seconds:
Minimum = 15ms, Maximum = 15ms, Average = 15ms
C:\Documents and Settings\InterLinked>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
C:\Documents and Settings\InterLinked>ping google.com
Pinging google.com [172.217.7.14] with 32 bytes of data:
Reply from 172.217.7.14: bytes=32 time=12ms TTL=47
Reply from 172.217.7.14: bytes=32 time=6ms TTL=47
Reply from 172.217.7.14: bytes=32 time=188ms TTL=47
Reply from 172.217.7.14: bytes=32 time=14ms TTL=47
Ping statistics for 172.217.7.14:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 6ms, Maximum = 188ms, Average = 55ms
C:\Documents and Settings\InterLinked>
Como foi sugerido, ativar o resolvedor de DNS do VirtualBox é a solução.
Aqui estão os passos exatos:
cd C:\Program Files\Oracle\VirtualBox
VBoxManage modifyvm "<VM name>" --natdnshostresolver1 on
<VM name>
é apenas o nome da VM, que também pode ser encontrado em execuçãoVBoxManage list runningvms
.