Anhaltender nf_conntrack_max über Neustarts hinweg

10

In /procIch habe zwei Einträge für nf_conntrack_max:

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

Die scheinen auf den gleichen Wert zu verweisen wie das Ändern eines, ändert auch den anderen. Mit beiden /etc/sysctl.conf:

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

Der Wert bleibt nach einem Neustart 32764, sodass die Änderungen nicht funktionieren. Hat jemand schon einmal darauf gestoßen? Ich würde vermuten, dass diese Werte angewendet werden, bevor die relevanten Module geladen werden, aber ich hatte gehofft, dass vielleicht jemand die Lösung bereits kennt.

Kyle Brandt
quelle
Haben Sie jemals eine Lösung dafür gefunden?
Stu Thompson
@Stu: Nein, ich bin gerade faul geworden und habe einen Cron-Job geschrieben, um diese einzustellen :-P
Kyle Brandt

Antworten:

11

Das /proc/sys/net/nf_conntrack_maxliegt daran, dass Sie sich auf das Modul verlassen nf_conntrack. Dieses Modul wird jedoch beim Systemstart nicht standardmäßig geladen.

aber wenn du rennst

iptables -t nat -L

oder

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

Dieses Modul wird automatisch und auf die maximale Anzahl laden , dass Ihr System - Unterstützung (die maximale Anzahl 65536 ist , wenn Sie RAM> 4G, aber es ist unterschiedlich in verschiedenen System.) Sie es auf eine größere Zahl (wie 6.553.600) in festlegen /etc/sysctl.conf) .

Lösung :

Fügen Sie am Ende der Datei eine Zeile hinzu /etc/modules:

nf_conntrack

Diese Module werden beim Systemstart vor der sysctlAusführung geladen .

Ethan Xu
quelle
danke :) - obwohl ich auch eine schlechte Konfiguration hatte, die das Laden stoppte
Christian
3

Weil es sein sollte:

net.netfilter.nf_conntrack_max = 65535

Und jetzt können Sie dies einstellen, ohne neu zu starten mit: sysctl -p /etc/sysctl.conf

Maciej Lasyk
quelle
2

Ich benutze kein Ubuntu, aber als ich in meiner CentOS-Einstellung darüber nachdachte, kam ich auf die gleiche Hypothese wie Sie - die Systeme werden zu früh angewendet. Einige Recherchen haben ergeben, dass dies seit 2006 ein Fehler ist .

Es sieht so aus, als würde das Einfügen eines weiteren Symlinks mit Priorität> S40 zum erneuten Ausführen des Procps-Init-Skripts wahrscheinlich das tun, was Sie benötigen. Laut der Fehlerzusammenfassung scheint eine Neuarchitektur der Ubuntu-Systemmethode in Ordnung zu sein (und amüsanterweise wurde der Fehler jemandem zugewiesen, der nicht wusste, dass er zugewiesen wurde und nicht helfen kann).

Evan Anderson
quelle