Persistente nf_conntrack_max en todos los reinicios

10

En /proctengo dos entradas para nf_conntrack_max:

/ proc / sys / net / netfilter / nf_conntrack_max
/ proc / sys / net / nf_conntrack_max

Parece que apuntan al mismo valor que cambiar uno también cambia el otro. Con ambos establecidos en /etc/sysctl.conf:

net.netfilter.nf_conntrack_max = 65528
net.ipv4.netfilter.ip_conntrack_max = 65535

El valor permanece 32764 después de un reinicio, por lo que los cambios no funcionan. ¿Alguien se ha encontrado con esto antes? Supongo que estos valores se aplican antes de que se carguen los módulos relevantes, pero esperaba que alguien ya conozca la solución.

Kyle Brandt
fuente
¿Alguna vez encontraste una solución para esto?
Stu Thompson
@Stu: No, acabo de volverme flojo y escribí un trabajo cron para configurar estos :-P
Kyle Brandt

Respuestas:

11

es porque /proc/sys/net/nf_conntrack_maxse basa en el módulo nf_conntrack. pero este módulo no se cargará de manera predeterminada cuando se inicie el sistema.

pero si corres

iptables -t nat -L

o

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

este módulo se cargará automáticamente y se establecerá en el número máximo que admite su sistema (el número máximo es 65536 si su ram es> 4G, pero varía en un sistema diferente). Puede configurarlo en un número mayor (como 6553600 /etc/sysctl.conf) .

Solución :

agregue una línea al final del archivo /etc/modules:

nf_conntrack

estos módulos se cargarán al iniciar el sistema antes de sysctlejecutarlos

Ethan Xu
fuente
gracias :) - aunque también tuve una mala configuración que dejó de cargarse
Christian
3

Porque debería ser:

net.netfilter.nf_conntrack_max = 65535

Y ahora puede configurar esto sin reiniciar con: sysctl -p /etc/sysctl.conf

Maciej Lasyk
fuente
2

No uso Ubuntu, pero pensando en esto en mi mentalidad de CentOS, se me ocurrió la misma hipótesis que usted: los sysctls se están aplicando demasiado pronto. Algunas búsquedas revelaron que este ha sido un error registrado desde 2006 .

Parece que poner otro enlace simbólico en prioridad> S40 para ejecutar el script de inicio procps nuevamente probablemente haría lo que necesita. Según el resumen del error, parece que hay que rediseñar la metodología sysctl de Ubuntu (y, de manera divertida, el error se asignó a alguien que no sabía que estaba asignado y no puede evitarlo).

Evan Anderson
fuente