Introducción
Este documento describe cómo identificar, resolver y verificar el fallo 11 en el conector Secure Endpoint Linux.
Determinar compatibilidad con BTF
Para que el conector monitoree el sistema de archivos y los eventos de red usando eBPF, uno de estos debe ser verdadero:
- El kernel actual tiene
CONFIG_DEBUG_INFO_BTF
habilitado, o
- Hay un encabezado de kernel instalado para el kernel actual.
Es preferible que su kernel tenga CONFIG_DEBUG_INFO_BTF
habilitado. Para verificar si su núcleo actual tiene CONFIG_DEBUG_INFO_BTF
habilitado, ejecute el comando:
cat /boot/config-$(uname -r) | grep CONFIG_DEBUG_INFO_BTF
Si ve CONFIG_DEBUG_INFO_BTF=Y
, su kernel soporta BTF y el conector puede monitorear el sistema de archivos y los eventos de red usando eBPF. Las versiones 1.25.0 y posteriores del conector Linux soportan eBPF CO-RE, que permite monitorear los eventos de sistema de archivos y red en los núcleos soportados por BTF sin necesidad de instalar encabezados de kernel.
Falla 11
Si su núcleo actual no soporta BTF y falta el encabezado del núcleo requerido, entonces el fallo 11 es provocado por el conector Linux. Siga uno de estos pasos para resolver el fallo:
- Actualice su núcleo y conector a una versión compatible con BTF (solución preferida), o
- Instalar el encabezado del núcleo que falta
Distribuciones admitidas por BTF
Estas distribuciones tienen CONFIG_DEBUG_INFO_BTF
habilitado de forma predeterminada en la última versión del kernel:
- Centos/RHEL 8.2 y posteriores
- Ubuntu 20.04 y posterior
- Oracle Linux 8.5 y versiones posteriores
- Debian 11 y posteriores
- Alma Linux 8.3 y posterior
- Rocky Linux 8.3 y versiones posteriores
- SUSE Enterprise 15 SP4/openSUSE Leap 15.4 y versiones posteriores
Actualización a un núcleo compatible con BTF
Si está en una distribución que soporta BTF en una versión posterior del núcleo, es preferible que actualice su núcleo para resolver el fallo 11.
Antes de proceder a actualizar el núcleo, actualice primero el conector de Linux a la versión 1.25.0 o posterior para asegurarse de que el conector admite BTF.
Distribuciones basadas en RPM
Esta sección se aplica a:
- Linux Alma
- Linux de Amazon
- Linux CentOS
- Núcleo compatible con Oracle Linux Red Hat (RHCK)
- Red Hat Enterprise Linux
- Linux Rocky
Para actualizar a la última versión del núcleo:
- Verifique si hay actualizaciones disponibles para el kernel:
yum check-update
Si ve kernel.x86_64
en el resultado, hay una actualización de kernel disponible.
- Actualice el paquete del núcleo:
sudo yum update kernel
- Reinicie el sistema:
sudo reboot
- Verifique que el nuevo núcleo admita BTF y que el conector elimine el error 11.
Oracle Linux Unbreakable Enterprise Kernel (UEK)
Para actualizar a la última versión del núcleo:
- Verifique si hay actualizaciones disponibles para el kernel:
yum check-update
Si ve kernel-uek.x86_64
en el resultado, entonces hay una actualización del núcleo disponible.
- Actualice el paquete del núcleo:
sudo yum update kernel-uek
- Reinicie el sistema:
sudo reboot
- Verifique que el nuevo núcleo admita BTF y que el conector elimine el error 11.
SUSE Linux Enterprise y openSUSE Leap
Para actualizar a la última versión del núcleo:
- Compruebe la versión actual del núcleo:
uname -r
- Enumere los paquetes
kernel-default
disponibles: zypper search -s --match-exact kernel-default
El resultado aparece como:
| kernel-default | package |
|
|
Busque una versión
mayor que la versión actual del núcleo, determinada en el paso 1.
- Instale las nuevas versiones de
kernel-default
con el comando: sudo zypper install kernel-default=
- Reinicie el sistema:
sudo reboot
- Verifique que el nuevo núcleo admita BTF y que el conector elimine el error 11.
Distribuciones basadas en Debian
Para actualizar a la última versión del núcleo:
- Recuperar las listas de paquetes más recientes:
sudo apt update
- Instale los paquetes más recientes:
sudo apt upgrade
- Reinicie el sistema:
sudo reboot
- Verifique que el nuevo núcleo admita BTF y que el conector elimine el error 11.
Instalar encabezado de núcleo faltante
Antes de instalar un encabezado de kernel que falta, intente actualizar su sistema a una versión compatible con BTF. Si esto no resuelve el fallo 11, o si su distribución aún no soporta BTF en la última versión, entonces continúe instalando el encabezado del núcleo que falta.
Distribuciones basadas en RPM
Esta sección se aplica a:
- Linux Alma
- Linux de Amazon
- Linux CentOS
- Núcleo compatible con Oracle Linux Red Hat (RHCK)
- Red Hat Enterprise Linux
- Linux Rocky
Verificación
Las distribuciones basadas en RPM requieren que se instale un paquete kernel-devel
para el núcleo que se está ejecutando actualmente. Para verificar si un paquete kernel-devel
está instalado para el núcleo que se está ejecutando actualmente, ejecute:
rpm -qa | grep kernel-devel-$(uname -r)
Si no hay resultados, entonces el paquete kernel-devel
requerido falta y necesita ser instalado.
Resolución
Para instalar el paquete kernel-devel
requerido, ejecute el comando:
sudo dnf install -y kernel-devel-$(uname -r)
Reverificar. El fallo 11 lo borra el conector después de aproximadamente un minuto.
Oracle Linux Unbreakable Enterprise Kernel (UEK)
Verificación
Oracle Linux UEK requiere que un paquete kernel-uek-devel
esté instalado para el kernel que se está ejecutando actualmente. Para verificar si un paquete kernel-uek-devel
está instalado para el núcleo en ejecución actual, ejecute:
rpm -qa | grep kernel-uek-devel-$(uname -r)
Si no hay resultados, entonces el paquete kernel-uek-devel
requerido falta y necesita ser instalado.
Resolución
Para instalar el paquete kernel-uek-devel
necesario, ejecute el comando:
sudo dnf install -y kernel-uek-devel-$(uname -r)
Reverificar. El fallo 11 lo borra el conector después de aproximadamente un minuto.
SUSE Linux Enterprise y openSUSE Leap
Verificación
SUSE y openSUSE requieren que el paquete kernel-default-devel
esté instalado para el núcleo que se está ejecutando actualmente. Para verificar si el paquete kernel-default-devel
está instalado para el núcleo en ejecución actual, ejecute:
zypper search -si kernel-default-devel | grep $(uname -r | sed "s/-default//")
Si no hay resultados, entonces el paquete kernel-default-devel
necesario falta y necesita ser instalado.
Resolución
Instalar encabezados de kernel
- Para determinar si el paquete
kernel-default-devel
correcto para su versión del núcleo está disponible para la instalación, ejecute el comando: zypper search -s kernel-default-devel | grep $(uname -r | sed "s/-default//")
El resultado incluye la sintaxis:
| kernel-default-devel |
|
|
|
Si ve un resultado similar, tome nota de la versión
especificada en el resultado y continúe con el paso 2. De lo contrario, omita esta sección y en su lugar use los pasos para actualizar el núcleo e instalar los encabezados del núcleo que coincidan.
- Instale el paquete
kernel-default-devel
usando este comando, reemplazando <version>
por la versión disponible identificada en el paso anterior: sudo zypper install --oldpackage kernel-default-devel=
- Verifique que se haya instalado el paquete
kernel-default-devel
. El fallo 11 lo borra el conector después de aproximadamente un minuto.
Actualizar kernel e instalar encabezados de kernel coincidentes
Si el paquete kernel-default-devel
requerido no está disponible, actualice su kernel a una versión compatible e instale los encabezados de kernel que coincidan.
- Enumere los paquetes
kernel-default
y kernel-default-devel
disponibles con el comando: zypper search -s --match-exact kernel-default kernel-default-devel
Busque versiones coincidentes de los paquetes kernel-default
y kernel-default-devel
. Por ejemplo:
| kernel-default | package |
|
|
| kernel-default-devel | package |
|
|
Tome nota de la nueva versión
especificada en el resultado.
Nota: si no puede encontrar un núcleo más reciente al que actualizar, debe actualizar a una versión de distribución más reciente.
- Instale las nuevas versiones de
kernel-default
y kernel-default-devel
con el comando: sudo zypper install kernel-default=
kernel-default-devel=
- Reinicie el sistema:
sudo reboot
- Reverificar. El fallo 11 se borra mediante el conector.
Distribuciones basadas en Debian
Verificación
Las distribuciones basadas en Debian requieren que se instale un paquete linux-encabezados
para el núcleo que se está ejecutando actualmente. Para verificar si un paquete linux-encabezados
está instalado para el núcleo en ejecución actual, ejecute:
apt list linux-headers-$(uname -r)
Si no hay resultados, entonces falta el paquete linux-encabezados
necesario y debe ser instalado.
Resolución
Para instalar el paquete linux-encabezados
necesario, ejecute el comando:
sudo apt install linux-headers-$(uname -r)
Reverificar. El fallo 11 lo borra el conector después de aproximadamente un minuto.