Não é possível acessar a Internet do convidado do VirtualBox (Arch Linux)

3

Estou usando o VirtualBox 5.0.20. A máquina host é um MacBook rodando OS X 10.11.5 (El Capitan). O sistema operacional convidado é o Arch Linux de 64 bits. Quando eu instalei o Arch da ISO, a conectividade com a internet do convidado estava boa. No entanto, uma vez que iniciei o sistema instalado, não consegui mais acessar a Internet (por exemplo, o ping 8.8.8.8 simplesmente pára indefinidamente).

A máquina virtual possui dois adaptadores de rede: um em ponte e um somente host. Eu tentei mudar a ponte para um adaptador NAT, bem como conectar a ponte de uma vez para a interface sem fio do host e, em outro momento, para a interface com fio do host. O convidado não pode acessar a Internet sob nenhuma dessas configurações.

O sistema operacional convidado ativou systemd-networkd.service e systemd-resolved.service. Ele não tem nenhum outro serviço de rede ativado que eu saiba. Se possível, gostaria de me ater a esses serviços, em vez de mudar para um serviço diferente, mas vou mudar se houver alguma falha inerente nesses serviços que é a raiz do meu problema.

Dentro do sistema operacional convidado, o conteúdo do arquivo de rede do adaptador em ponte:

[root@arch64 ~]# cat /etc/systemd/network/bridged.network 
[Match]
Name=enp0s3

[Network]
DHCP=ipv4

E o conteúdo do arquivo de rede do adaptador somente host:

[root@arch64 ~]# cat /etc/systemd/network/host-only.network 
[Match]
Name=enp0s8

[Network]
Address=192.168.56.2/24
Gateway=192.168.56.1

O adaptador em ponte adquire com sucesso uma concessão de DHCP e eu posso pingar hosts na minha LAN, mas não consigo pingar nada além do roteador da LAN. A conexão de internet do host está bem.

    
por kvndrsy 13.06.2016 / 22:41

1 resposta

1

A resposta vem de uma dica que recebi em pergunta feita no Unix & StackExchange do Linux .

De acordo com minha configuração, eu tinha dois arquivos de unidade de rede systemd: um para o adaptador em ponte e um para o adaptador somente host. Eu queria que o adaptador em ponte tivesse um endereço dinâmico porque a máquina virtual está em um laptop que se move entre redes, e eu queria que o adaptador somente host tivesse um endereço estático para que eu pudesse acessá-lo, como por ssh, sem ter para determinar manualmente o endereço.

No entanto, ao criar os arquivos da unidade de rede, copiei cegamente o que encontrei em um tutorial do wiki - uma seção descrevendo como configurar rapidamente um endereço dinâmico e a outra como configurar rapidamente um endereço estático. Obviamente, o tutorial pressupunha que eu usaria uma ou outra configuração simples - não ambas lado a lado, o que é um cenário mais complexo.

Basta dizer que o arquivo de rede do adaptador somente host tinha a opção Gateway especificada, enquanto o arquivo do adaptador em ponte não. Portanto, parece que o gateway do adaptador somente host tornou-se a rota preferencial para o tráfego proveniente da máquina virtual. Remover esta opção do arquivo de rede resolveu o problema.

Arquivo de rede do adaptador somente host após correção (removido a opção Gateway):

[root@arch64 ~]# cat /etc/systemd/network/host-only.network 
[Match]
Name=enp0s8

[Network]
Address=192.168.56.2/24
    
por 16.06.2016 / 17:38