Persistance de nf_conntrack_max à travers les redémarrages


10

Dans /procJ'ai deux entrées pour nf_conntrack_max:

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

Le fait de pointer vers la même valeur que de changer l'un change également l'autre. Avec ces deux éléments dans /etc/sysctl.conf:

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

La valeur reste 32764 après un redémarrage afin que les modifications ne fonctionnent pas. Quelqu'un a-t-il déjà rencontré cela? Je suppose que ces valeurs sont appliquées avant que les modules pertinents ne soient chargés, mais j'espérais que quelqu'un connaît peut-être déjà la solution.


Avez-vous déjà trouvé une solution à cela?
Stu Thompson

@Stu: Non, je suis juste devenu paresseux et j'ai écrit un travail cron pour les régler :-P
Kyle Brandt

Réponses:


11

c'est parce que /proc/sys/net/nf_conntrack_maxcompter sur le module nf_conntrack. mais ce module ne sera pas chargé par défaut au démarrage du système.

mais si tu cours

iptables -t nat -L

ou

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

ce module se charge automatiquement et réglé sur le nombre maximum que votre soutien du système (le nombre maximum est 65536 si vous RAM est> 4G, mais il varie dans le système différent.) , vous pouvez le mettre à un plus grand nombre (comme 6553600) dans /etc/sysctl.conf) .

Solution :

ajoutez une ligne à la fin du fichier /etc/modules:

nf_conntrack

ces modules seraient chargés au démarrage du système avant d'être sysctlexécutés.


merci :) - bien que j'aie aussi eu une mauvaise configuration qui a arrêté le chargement
Christian

3

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


2

Je n'utilise pas Ubuntu, mais en y réfléchissant dans mon état d'esprit CentOS, j'ai émis 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 déposé 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 Ubuntu sysctl soit en ordre (et, de manière amusante, le bogue a été attribué à quelqu'un qui ne savait pas qu'il avait été attribué et ne pouvait pas s'en empêcher).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.