Lösung 1:
es ist weil /proc/sys/net/nf_conntrack_max
ist auf das Modul nf_conntrack
angewiesen . aber dieses Modul wird standardmäßig nicht geladen, wenn das System gestartet wird.
aber wenn Sie
ausführeniptables -t nat -L
oder
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Dieses Modul wird automatisch geladen und auf die maximale Zahl eingestellt, die Ihr System unterstützt (die maximale Zahl ist 65536, wenn Ihr RAM> 4G ist, aber es variiert in verschiedenen Systemen.) Sie können es auf eine größere Zahl (wie 6553600) in setzen /etc/sysctl.conf
).
Lösung :
Fügen Sie eine Zeile am Ende der Datei hinzu /etc/modules
:
nf_conntrack
diese Module würden beim Systemstart vor sysctl
geladen werden ausgeführt.
Lösung 2:
Weil es sein sollte:
net.netfilter.nf_conntrack_max = 65535
Und jetzt können Sie dies ohne Neustart einstellen mit:sysctl -p /etc/sysctl.conf
Lösung 3:
Ich verwende Ubuntu nicht, aber als ich in meiner CentOS-Geisteslage darüber nachdachte, kam ich auf die gleiche Hypothese wie Sie – die Sysctls werden zu früh angewendet. Einige Suchen ergaben, dass dies seit 2006 ein archivierter 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 brauchen. Gemäß der Fehlerzusammenfassung sieht es so aus, als wäre eine Neugestaltung der Ubuntu-sysctl-Methodik angebracht (und amüsanterweise wurde der Fehler jemandem zugewiesen, der nicht wusste, dass er zugewiesen wurde, und nicht helfen kann). P>