No se puede acceder a Internet desde el invitado de VirtualBox (Arch Linux)

No se puede acceder a Internet desde el invitado de VirtualBox (Arch Linux)

Estoy usando VirtualBox 5.0.20. La máquina anfitriona es una MacBook con OS X 10.11.5 (El Capitan). El sistema operativo invitado es Arch Linux de 64 bits. Cuando instalé Arch desde ISO, la conectividad a Internet del huésped estaba bien. Sin embargo, una vez que inicié el sistema instalado, ya no pude acceder a Internet (por ejemplo, hacer ping a 8.8.8.8 simplemente se bloquea indefinidamente).

La máquina virtual tiene dos adaptadores de red: uno puenteado y otro solo de host. Intenté cambiar el puente a un adaptador NAT, así como conectar el puente en un momento a la interfaz inalámbrica del host y en otro momento a la interfaz cableada del host. El huésped no puede acceder a Internet bajo ninguna de estas configuraciones.

El sistema operativo invitado ha habilitado systemd-networkd.service y systemd-resolved.service. No tiene ningún otro servicio de red habilitado que yo sepa. Si es posible, me gustaría seguir con estos servicios, en lugar de cambiar a un servicio diferente, pero lo haré si hay algún defecto inherente en estos servicios que sea la raíz de mi problema.

Dentro del sistema operativo invitado, el contenido del archivo de red del adaptador puenteado:

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

[Network]
DHCP=ipv4

Y el contenido del archivo de red del adaptador exclusivo de 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

El adaptador puenteado adquiere exitosamente una concesión DHCP y además puedo hacer ping a los hosts en mi LAN, pero no puedo hacer ping a nada más allá del enrutador de mi LAN. La conexión a Internet del anfitrión está bien.

Respuesta1

La respuesta proviene de un aviso que recibí elesta misma pregunta formulada en Unix y Linux StackExchange.

Según mi configuración, tenía dos archivos de unidad de red systemd: uno para el adaptador puenteado y otro para el adaptador solo de host. Quería que el adaptador en puente tuviera una dirección dinámica porque la máquina virtual está en una computadora portátil que se mueve entre redes, y quería que el adaptador de solo host tuviera una dirección estática para poder acceder a él, como por ssh, sin tener que para determinar manualmente la dirección.

Sin embargo, al crear los archivos de la unidad de red, copié ciegamente lo que encontré en un tutorial wiki: una sección que describe cómo configurar rápidamente una dirección dinámica y la otra cómo configurar rápidamente una dirección estática. Obviamente, el tutorial supuso que usaría una u otra configuración simple, no ambas una al lado de la otra, que es un escenario más complejo.

Basta decir que el archivo de red del adaptador de solo host tenía especificada la opción Puerta de enlace, mientras que el archivo del adaptador en puente no la tenía. Por lo tanto, parece que la puerta de enlace del adaptador exclusivo de host se convirtió en la ruta preferida para el tráfico proveniente de la máquina virtual. Eliminar esta opción del archivo de red resolvió el problema.

Archivo de red del adaptador solo de host después de la reparación (se eliminó la opción Puerta de enlace):

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

[Network]
Address=192.168.56.2/24

información relacionada