Ubuntu perdió la red después de la actualización del kernel

Cómo solucioné problemas de red en Ubuntu

Índice

Después de instalar automáticamente un nuevo núcleo, Ubuntu 24.04 ha perdido la conexión de red ethernet. Este problema frustrante ocurrió de nuevo para mí, así que estoy documentando la solución aquí para ayudar a otros que enfrenten el mismo problema.

Comandos para solucionar problemas de red

Estos son los comandos que restauraron mi conectividad de red. Primero, verifica tu versión del núcleo con uname -r (mostrará algo como 6.14.0-37-generic), luego reemplaza el número de versión en los comandos a continuación:

# Verificar las interfaces de red y las direcciones IP
ifconfig

# Verificar la versión del núcleo
uname -r

# Actualizar la lista de paquetes e instalar actualizaciones del sistema
sudo apt update
sudo apt upgrade

# Instalar módulos adicionales del núcleo para la versión encontrada anteriormente
# Reemplazar 6.14.0-37-generic con tu versión real del núcleo
sudo apt install linux-modules-extra-6.14.0-37-generic

# Reconstruir el initramfs para incluir los nuevos módulos del núcleo
sudo update-initramfs -u

# Instalar controladores recomendados de código cerrado (principalmente para gráficos NVIDIA)
sudo ubuntu-drivers autoinstall

# Reiniciar para aplicar los cambios
sudo reboot

Entendiendo el problema y la solución

Cuando Ubuntu actualiza automáticamente a una nueva versión del núcleo (lo cual ocurre durante las actualizaciones normales del sistema), a veces los controladores de red no se incluyen correctamente en el sistema de archivos de arranque del nuevo núcleo. Esto es especialmente común en Ubuntu 24.04 después de actualizaciones del núcleo, especialmente en sistemas con hardware de red específico que requiere módulos adicionales del núcleo.

¿Por qué ocurre esto?

  1. Los módulos del núcleo son específicos de la versión: Cada versión del núcleo requiere su propio conjunto de módulos de controlador.
  2. El initramfs puede estar incompleto: El sistema de archivos de RAM inicial (initramfs) cargado durante el arranque puede no contener todos los controladores de red necesarios.
  3. Falta el paquete de módulos adicionales: El paquete linux-modules-extra para la nueva versión del núcleo puede no haberse instalado automáticamente.

¿Cómo funciona la solución?

Los comandos anteriores solucionan el problema al:

  1. Instalar módulos adicionales del núcleo: El paquete linux-modules-extra-<versión>-generic contiene módulos adicionales del núcleo, incluyendo muchos controladores de red que no se incluyen en el paquete del núcleo base. Sin estos módulos, tu hardware de red no será reconocido.

  2. Reconstruir el initramfs: El comando update-initramfs -u asegura que todos los módulos del núcleo necesarios (incluyendo tus controladores de red) se empaqueten en el initramfs. Esto es crítico porque el initramfs se carga antes de que se monte el sistema de archivos raíz, y necesita contener controladores para hardware esencial como interfaces de red.

  3. Instalar controladores de código cerrado: El comando ubuntu-drivers autoinstall maneja principalmente controladores de gráficos (especialmente NVIDIA) y no soluciona directamente problemas de red. Sin embargo, si tu sistema perdió múltiples controladores durante la actualización del núcleo, esto asegura que todos los controladores de código cerrado se instalen correctamente.

  4. Reiniciar: Esto carga el nuevo núcleo con el initramfs correctamente configurado, restaurando la conectividad de red.

Después del reinicio, tu red debería estar restaurada. Puedes verificarlo ejecutando nuevamente ifconfig o ip a para ver tus interfaces de red con direcciones IP asignadas. Si necesitas verificar tu versión de Ubuntu para asegurar la compatibilidad, hay varios métodos disponibles.

Si estás trabajando con un servidor y necesitas configurar ajustes de red después de restaurar la conectividad, podrías encontrar útil nuestra guía sobre cómo cambiar una dirección IP estática en Ubuntu Server para configuraciones de red adicionales.

Muy buen Borat!

Enlaces útiles