Soluzione 1:
è perché /proc/sys/net/nf_conntrack_max
si basa sul modulo nf_conntrack
. ma questo modulo non verrà caricato per impostazione predefinita all'avvio del sistema.
ma se corri
iptables -t nat -L
o
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
questo modulo verrà caricato automaticamente e impostato sul numero massimo supportato dal tuo sistema (il numero massimo è 65536 se la tua ram è> 4G, ma varia a seconda del sistema.) puoi impostarlo su un numero più grande (come 6553600) in /etc/sysctl.conf
).
Soluzione :
aggiungi una riga alla fine del file /etc/modules
:
nf_conntrack
questi moduli verrebbero caricati all'avvio del sistema prima del sysctl
eseguito.
Soluzione 2:
Perché dovrebbe essere:
net.netfilter.nf_conntrack_max = 65535
E ora puoi impostarlo senza riavviare con:sysctl -p /etc/sysctl.conf
Soluzione 3:
Non uso Ubuntu, ma pensando a questo nel mio stato d'animo CentOS, mi è venuta in mente la stessa ipotesi che hai fatto tu:i sysctl vengono applicati troppo presto. Alcune ricerche hanno rivelato che questo è stato un bug archiviato dal 2006.
Sembra che inserire un altro collegamento simbolico a priority> S40 per eseguire nuovamente lo script init procps probabilmente farebbe ciò di cui hai bisogno. Secondo il riepilogo del bug, sembra che sia necessaria una riprogettazione della metodologia sysctl di Ubuntu (e, in modo divertente, il bug è stato assegnato a qualcuno che non sapeva che era stato assegnato e non può aiutarlo).