A depender do que você queira fazer, pode ser necessário comunicar a máquina virtual com outros dispositivos na rede, como uma impressora ou um servidor de arquivos, por exemplo.
Se você não modificou a configuração de rede padrão da máquina virtual, perceberá que a máquina virtual consegue se comunicar com a rede local, mas o contrário não é verdade (outros dispositivos na rede local não conseguem se comunicar com a máquina virtual).
Faça o teste: no SO convidado, abra o terminal e verifique o endereço IP da máquina virtual executando o comando a seguir.
ip -c a
Nesse exemplo, a máquina virtual recebeu o endereço IP `10.0.2.15/24`.
No SO hospedeiro, verifique o endereço IP da máquina real. Por exemplo, `10.0.0.10/24`.
De volta ao terminal do SO convidado, "pingue" a sua máquina real:
ping 10.0.0.10
PING 10.0.0.10 (10.0.0.10) 56(84) bytes de dados.
64 bytes de 10.0.0.10: icmp_seq=1 ttl=64 tempo=0.942 ms
64 bytes de 10.0.0.10: icmp_seq=2 ttl=64 tempo=0.850 ms
64 bytes de 10.0.0.10: icmp_seq=3 ttl=64 tempo=0.898 ms
64 bytes de 10.0.0.10: icmp_seq=4 ttl=64 tempo=0.712 ms
^C
--- 10.0.0.10 estatísticas de ping ---
4 pacotes transmitidos, 4 recebidos, 0% packet loss, time 3010ms
rtt min/avg/max/mdev = 0.712/0.850/0.942/0.086 ms
(pressione
Ctrl + C para interromper o comando
[ping])
Funciona. Agora tente do SO hospedeiro "pingar" a máquina virtual:
> ping 10.0.2.15
Disparando 10.0.2.15 com 32 bytes de dados:
Esgotado o tempo limite do pedido.
Esgotado o tempo limite do pedido.
Esgotado o tempo limite do pedido.
Esgotado o tempo limite do pedido.
Estatísticas do Ping para 10.0.2.15:
Pacotes: Enviados = 4, Recebidos = 0, Perdidos = 4 (100% de
perda),
Não funciona. Isso ocorre porque, por padrão, o VirtualBox provê rede para a máquina virtual no modo
NAT (do inglês [Network Address Translation], "tradução de endereço de rede"): nesse modo, o SO convidado acessa o mundo exterior por meio do
software de rede do SO hospedeiro, que traduz as requisições de rede como se fossem suas. O convidado enxerga a rede, mas a rede não enxerga o convidado, apenas o hospedeiro. Isso é igual ao que o
modem da operadora de Internet faz com seu computador em casa: seu computador enxerga a Internet, mas a Internet não enxerga seu computador, apenas seu _modem_.
Esse é o modo de rede mais simples do VirtualBox. Normalmente não requer configuração nem do SO convidado, nem do SO hospedeiro e é suficiente para navegar em
sites, baixar arquivos, etc. Por isso, é o modo padrão de novas VMs e é bom para a maioria dos usos.
Mas o VirtualBox é bastante flexível em como ele virtualiza a rede e oferece outros modos.
O modo que eu costumo usar é o modo
ponte (
[bridge]): nesse modo, o VirtualBox envia requisições de rede do SO convidado usando a placa de rede da máquina real diretamente, sem passar pelo
software de rede do SO hospedeiro. Na prática, é como se a máquina real e a máquina virtual estivessem conectadas diretamente ao _modem_ de casa. O hospedeiro deixa de estar "entre" o convidado e a rede e passa a estar "do lado" do convidado.
Para configurar a rede da VM como modo ponte, com a VM desligada, acesse suas configurações, abra a seção
Rede e mude a opção
Conectado a para **Placa em modo Bridge**:
Caso seu computador tenha mais de uma placa de rede, no campo
Nome, logo abaixo, é possível escolher qual placa será usada na ponte para a máquina virtual:
Quando terminar, clique em
OK. Inicie a máquina virtual e repita os testes anteriores. Perceba que agora a máquina virtual recebe um endereço IP da mesma rede da máquina real. Essa, por sua vez, agora consegue "pingar" a máquina virtual.
Além dos modos NAT e ponte, o VirtualBox oferece outros modos de rede, que podem ser úteis para outros casos de uso. Se quiser saber mais sobre os modos de virtualização de rede do VirtualBox, consulte o [manual do VirtualBox].