¿Dónde está el lugar correcto para configurar net.netfilter.nf_conntrack_buckets?

12

Actualmente estoy tratando de configurar net.netfilter.nf_conntrack_buckets en el arranque. Inicialmente supuse que esto podría hacerse a través de sysctl.conf, pero net.netfilter.nf_conntrack_buckets (y otras configuraciones de net.netfilter) no se aplicaron en absoluto. Agregar sysctl -p a rc.local permitió aplicar todas las configuraciones de net.netfilter con la excepción de net.netfilter.nf_conntrack_buckets. También notaré que intentar configurar esto desde la terminal usando sysctl -w da como resultado 'error: permiso denegado en la clave' net.netfilter.nf_conntrack_buckets ''

# This should be applied at boot
net.netfilter.nf_conntrack_max=1966080
net.netfilter.nf_conntrack_buckets=245760

¿Dónde está el lugar correcto para hacer esto?

KelchM
fuente

Respuestas:

11

Creo que el parámetro sysctl es solo para ver. Deberá utilizar la /sys/module/nf_conntrack/parameters/hashsizeinterfaz para los cambios de tiempo de ejecución y la hashsizeopción de módulo para configurarlo durante la carga inicial del módulo.

/etc/modprobe.d/Desearía una entrada en un archivo que se vea así:

options nf_conntrack hashsize=XXXXX

Andrew B
fuente
Me di cuenta de que si configura el hashsize a través de / sys / module / nf_conntrack / parámetros / hashsize, net.netfilter.nf_conntrack_buckets sysctl no se actualiza, mientras que si lo hace a través de modprobe y luego reinicia, se cambia. ¿Eso significa que cambiar el valor a través del primer método no aplica completamente el nuevo valor?
andresp
5

Además de la respuesta de Andrew B:

Por alguna razón, la documentación de RHEL recomienda colocar un script de shell ejecutable con un nombre como nf_conntrack_hashsize.modulesextensión en su /etc/sysconfig/moduleslugar. No tengo ni idea de porqué. El contenido se vería así:

#!/bin/sh
exec /sbin/modprobe nf_conntrack hashsize=262144
Richard Barrell
fuente
Parece que esto es necesario si desea cargar módulos adicionales que de otro modo no se habrían cargado. [quote] Puede especificar módulos adicionales para cargar creando un nuevo <file_name> .modules [/ quote]
hbogert
1

Debe colocar un archivo llamado, por ejemplo, localhost dentro del directorio /etc/modprobe.d/.

Dentro de este archivo, agregue estas líneas (el valor es un ejemplo):

options nf_conntrack hashsize=333333

Y ahora, la solución más rápida es reiniciar, la otra opción es intentar volver a cargar el módulo del núcleo nf_conntrack, lo cual es un poco difícil porque está vinculado con otros módulos en ejecución.

Verifique el resultado con:

cat /sys/module/nf_conntrack/parameters/hashsize
Ricardo Fraile
fuente