zusätzlich kann das unnötig lange Timeout verringert werden um den conntrack count schon von Grund auf kleiner zu halten:
vi /etc/sysctl.conf // Am Ende einfügen
net.ipv4.netfilter.ip_conntrack_generic_timeout = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 54000
Conntrack Timeout (drastisch) runterzusetzen ist keine gute Idee da dann TCP Session kaputtgehen.
Die absolute Zahl sollte ruhig mal 0.5 Mio sein, da wäre die Tabelle (je nachdem wo man schaut) rund 300Mb groß was IMHO problemlos ist und uns dies Problem (das wir spät die Nutzer aber früh merken) wohl vom Hals.
Ich glaube man kann den conntrack count irgendwo auch ganz abschalten, sollten >wir uns mal überlegen.
Default ist 5 Tage.
Da kann sich bei einem Abriss der PHY durchaus was zusammensammeln.
Ich würde das keinesfalls kürzer als 24h machen, alles andere würde ich für “kaputt” halten
Testweise mal auf 3 Tage und schauen ob es ne Erleichterung bringt. Weiter runter kann man ja noch immer; unter 24 Stunden sollte man aber wirklich nicht gehen.
Ich habe heute mal auf den bb-servern geschaut, welche Clients am häufigsten in der ip_conntrack Liste stehen: Einige wenige Clients haben über 1000 Einträge. Diese befinden sich in Domäne-09 und routen über c1024 (interessant: auf c1024 wächst kontinuierlich die größe der conntrack liste, auf des1 ist sie stabil). Ich “forsche” noch ein bisschen…
Wir sollten dennoch die ansible Rolle für die Erhöhung der Limits auch auf den gateways ausrollen. Da wir nun die Daten in graphite erfassen, können wir hier auch ein Auge auf ungute Entwicklungen haben (diese option sollte auf den GWs ebenfalls aktiviert werden).
Auszug aus ip_conntrack auf greyworm-06 (Muster: Count Value):
Oft führen Clients mit Schadsoftware IP-Scanns durch um den Schaden weiter zu verbreiten. Diese fallen eben in der conntrack Tabelle auf. Solche Clients müssen isoliert und informiert werden.
Wenn man Pech hat fühlen sich Angegriffene zu DDOS Attacken genötigt.
Ich habe mir gerade mal die TCP Einträge der ip_conntrack Tabelle angeschaut (UDP hat einen zu vernachlässigenden Anteil) und nach Zuständen der TCP (finite) state machine sortiert und gezählt:
Auffallend sind die doch recht vielen Verbindungen im TIME_WAIT state auf c1024.
Diese sind identisch. Ich gehe also nun der Vermutung nach, dass es einen Störer (innerhalb oder außerhalb des Freifunknetzes) gibt. Natürlich ist ein Konfigurationsfehler weiterhin nicht ausgeschlossen.
Also ein moderner Desktop mit Foo kann 100+ Connections offen haben.
Mit nem aktiven Torrent Client auch locker über 1k . Das ist erstmal keine Störung.
Können wir die Conntrack Einträge nicht einfach mal ordentlich hcohsetzen, so auf 500k? Memory dafür sind glaube ich ~300Mb.
Wir sind derzeit bei 256k, kann das gerne noch mal verdoppeln. Jedoch zeigt sich eine kontinuierliche Zunahme der Einträge auf c1024. In Kombination mit doch recht vielen Einträgen im Zustand TIME_WAIT (darauf war die Vermutung einer Störung bezogen) sollten wir uns das dennoch anschauen.
(Anders als von @paulinsche angenommen, lassen die Daten aus meinem Posting von gestern Abend in der Tat eher auf Torrent schließen, als auf einen Störer.)
Wäre dann dafür das einerseits zu verdoppeln und
das Timeout zu reduzieren.
nf_conntrack_tcp_timeout_time_wait = 60
nf_conntrack_tcp_timeout_established = 86400