VirtualBox: acessando a Máquina Virtual a partir do Hospedeiro
O padrão das máquinas virtuais (VM), no Oracle VirtualBox é utilizarmos apenas uma interface de rede, como NAT. Isso é o suficiente para que a VM se comunique com a internet e com outras VMs. Mas há situações em que desejamos conectar a VM a partir do computador hospedeiro e nesse caso precisam ser feitos alguns ajustes.
Por padrão, não há conexão entre o hospedeiro e a VM, então para que ela seja estabelecida, precisamos alterar o tipo de placa da interface, de NAT, para Rede NAT ou adicionar uma segunda placa, como Host Only. Considero a segunda opção melhor, por não expor a VM à outras máquinas, porém, se essa for a intenção, então basta definir o primeiro tipo. Então, vejamos como fazer isso.
A solução
A primeira etapa da solução, consiste em criar a infraestrutura de rede. Para isso clique em
Então basta clicar no botão criar que a rede para comunicação com o hospedeiro (Host Only), será criada automaticamente. Apenas certifique-se de que esteja selecionado Configurar Adaptador Manualmente e na guia Servidor DHCP, esteja selecionada a caixa Habilitar servidor.
Já para habilitar a Rede NAT, acesse Arquivo, selecione Preferências e então Rede. Aí, basta clicar para criar a nova rede, conforme indicado na figura a seguir.
Esses passos podem ser realizados mesmo que ainda esteja em dúvida de qual tipo de rede usará, pois estamos apenas preparando a infraestrutura.
O passo seguinte é adicionar a placa deseja na configuração da VM, para isso acesse as configurações dela e selecione Rede, então Adaptador 2 e finalmente marque a caixa Habilitar placa de rede.
O passo seguinte será selecionar Conectado a e escolher uma das duas placas que criamos, conforme demonstrado a seguir.
Feito isso a sua VM com sistema operacional Windows já estará funcionando, via DHCP, porém se a sua máquina estiver rodando Linux, podem ser necessários passos adicionais.
Máquina Virtual (VirtualBox) com Sistema Operacional baseado em Linux
Verifique se a sua segunda placa já foi configurada automaticamente, através do comando: ip a
Na tela da esquerda vemos três interfaces de rede, sendo que a primeira é a loopback e as outras duas, são realmente as interfaces de rede (enp0s3 e enp0s8). Ocorre que apenas a primeira está com status UP. A interface enp0s8 está com status definido como DOWN e precisamos corrigir isso para que funcione. Já na tela da direita, temos o resultado final, com ambas interfaces funcionando normalmente.
Para chegar na solução, emitiremos dois comandos pelo terminal. Um para alterar o status da interface de DOWN para UP, ou em outras palavras, para habilitar a interface. Já o segundo comando será para obter um endereço de IP que será usado por essa interface. Os comandos são:
sudo ip link set enp0s8 up
sudo dhclient -v enp0s8
Claro que essa é uma solução apenas parcial, pois fará a segunda interface funcionar até que a máquina seja desligada ou reiniciada. A fim de que as alterações sejam permanentes, precisaremos editar o arquivo que carrega as definições das interfaces durante a inicialização do sistema. Esse arquivo está na pasta: /etc/netplan
Verifique o conteúdo da pasta com o comando: ls /etc/netplan
Muito provavelmente você encontrará um arquivo apenas naquela pasta, com o nome 00-installer-config.yaml. Edite esse arquivo para proceder às atualizações, com os seguinte comando: sudo nano /etc/netplan/00-installer-config.yaml
O conteúdo do arquivo estará igual à imagem da esquerda e a única coisa que você precisa fazer é adicionar os dados da segunda interface, deixando ele igual à imagem da direita.
Atente tanto para o alinhamento (recuo) dos textos, quando para a sua capitulação (maiúscula ou minúscula). Para sair do editor pressione Control + X e depois confirme a gravação da alteração. Uma vez alterado o arquivo, para que suas configurações entrem em efeito, digite: sudo netplan apply
Tudo pronto, aproveite!