En Linux, el comando sysctl
se utiliza para ver y modificar parámetros del kernel en tiempo de ejecución, controlando aspectos como el networking, seguridad y rendimiento. Estos ajustes suelen ser persistentes a través de archivos de configuración.
En Debian 12 y versiones anteriores, la forma más común de realizar cambios permanentes era editando directamente el archivo:
/etc/sysctl.conf
Sin embargo, en Debian 13 (rama en desarrollo), este archivo ya no existe por defecto y el sistema adopta una estructura más modular para la configuración, utilizando directorios jerárquicos.
Estructura de configuración en Debian 12
En Debian 12, los parámetros se pueden establecer en varios lugares, pero el archivo principal por defecto era:
/etc/sysctl.conf
(archivo único y cargado en cada arranque)
Archivos adicionales:
/etc/sysctl.d/*.conf
(ajustes del administrador)/usr/lib/sysctl.d/*.conf
(configuración instalada por paquetes)/run/sysctl.d/*.conf
(ajustes temporales de runtime)
El sistema los carga en este orden de precedencia:
/etc/sysctl.d/
/run/sysctl.d/
/usr/lib/sysctl.d/
/etc/sysctl.conf
(último en aplicarse)
Esto permitía que una línea añadida en /etc/sysctl.conf
sobrescribiera cualquier configuración previa.
Estructura de configuración en Debian 13
En Debian 13, el archivo /etc/sysctl.conf
ya no viene creado por defecto.
El sistema prioriza el uso de configuraciones distribuidas en directorios, siguiendo el modelo de otros subsistemas de Linux (como systemd):
Rutas de configuración en Debian 13:
/etc/sysctl.d/
→ Configuración local persistente (recomendada para administradores)/run/sysctl.d/
→ Configuración temporal que se pierde al reiniciar/usr/lib/sysctl.d/
→ Configuración por defecto de paquetes y del sistema
Orden de carga:
- Archivos en
/etc/sysctl.d/
- Archivos en
/run/sysctl.d/
- Archivos en
/usr/lib/sysctl.d/
Nota: Aunque todavía es posible crear /etc/sysctl.conf
manualmente, su uso queda en segundo plano y no es la vía recomendada por Debian 13.
Ejemplo práctico: Cambiar net.ipv4.ip_forward
En Debian 12, para habilitar el reenvío de paquetes IPv4 se editaba:
sudo nano /etc/sysctl.conf
y se cambiaba:
net.ipv4.ip_forward = 0
por:
net.ipv4.ip_forward = 1
Luego se aplicaba:
sudo sysctl -p
En Debian 13, el procedimiento recomendado es:
- Crear un archivo en
/etc/sysctl.d/
sudo nano /etc/sysctl.d/99-ipforward.conf
- Añadir el parámetro
net.ipv4.ip_forward = 1
- Aplicar el cambio inmediatamente
sudo sysctl -p /etc/sysctl.d/99-ipforward.conf
- Verificar el valor
sysctl net.ipv4.ip_forward
# Salida esperada: net.ipv4.ip_forward = 1
Ventajas del nuevo método en Debian 13
- Modularidad: Cada ajuste puede tener su propio archivo
.conf
, facilitando la organización. - Evita conflictos: No se sobrescribe un único archivo central.
- Mantenimiento más seguro: Las actualizaciones del sistema no eliminan configuraciones en
/etc/sysctl.d/
. - Compatibilidad: El sistema sigue pudiendo leer
/etc/sysctl.conf
si existe, pero no depende de él.
Conclusión
La transición de Debian 12 a Debian 13 en la gestión de parámetros sysctl
es un paso hacia una configuración más modular y segura.
Aunque el archivo clásico /etc/sysctl.conf
sigue siendo funcional si lo creas, el uso de /etc/sysctl.d/
como ubicación principal para ajustes persistentes es la práctica recomendada, asegurando que las configuraciones sobrevivan actualizaciones y cambios de paquetes sin riesgos.
Compartir: