Solution 1 :
c'est parce que /proc/sys/net/nf_conntrack_max
repose sur le module nf_conntrack
. mais ce module ne sera pas chargé par défaut au démarrage du système.
mais si vous lancez
iptables -t nat -L
ou
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
ce module se chargera automatiquement et sera réglé sur le nombre maximum que votre système prend en charge (le nombre maximum est 65536 si votre ram est> 4G, mais cela varie selon le système.) vous pouvez le définir sur un nombre plus grand (comme 6553600) dans /etc/sysctl.conf
).
Solution :
ajouter une ligne à la fin du fichier /etc/modules
:
nf_conntrack
ces modules seraient chargés au démarrage du système avant sysctl
exécuté.
Solution 2 :
Parce que ça devrait être :
net.netfilter.nf_conntrack_max = 65535
Et maintenant, vous pouvez définir cela sans redémarrer avec :sysctl -p /etc/sysctl.conf
Solution 3 :
Je n'utilise pas Ubuntu, mais en y réfléchissant dans mon état d'esprit CentOS, j'ai formulé la même hypothèse que vous:les sysctls sont appliqués trop tôt. Certaines recherches ont révélé qu'il s'agissait d'un bogue enregistré depuis 2006.
Il semble que mettre un autre lien symbolique en priorité> S40 pour exécuter à nouveau le script d'initialisation procps ferait probablement ce dont vous avez besoin. D'après le résumé du bogue, il semble qu'une ré-architecture de la méthodologie sysctl d'Ubuntu soit de mise (et, curieusement, le bogue a été attribué à quelqu'un qui ne savait pas qu'il était attribué et ne peut pas l'aider).