Neighbour table overflow

Wer in seinen Log Dateien folgende Fehlermeldung auffindet:

Neighbour table overflow

bei dem läuft der ARP Cache des Kernel über, dies kann so weit gehen, dass der Rechner im schlimmsten Fall nicht mehr zu erreichen ist. Auftreten tut der Fehler in großen Netzwerken, da der Kernel-Cache recht klein gewählt ist. Abhilfe schafft folgende Einstellung:

echo 512 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh3

Oder evtl noch größere Werte, je nach Anzahl der Rechner im Netzwerk.

Die Defaultwerte sind 128, 512 und 1024.

Als Richtlinie sollte der erste Wert auf jeden Fall größer sein, als die Anzahl der Rechner im Netzwerk, lieber zu groß als zu klein. 128 war definitv zu wenig für ein Lan mit 120 Leuten.

Um die Einstellung über den nächsten Reboot zu retten benutzen wir einfach sysctl, ein Tool welches extra zur Einstellung der Kernel-Parameter in /proc/sys dient. Bei jedem der eine fertige Distribution benutzt ist dieses Tool wohl vorinstalliert und wird beim booten ausgeführt.

Die Config Datei ist

/etc/sysctl.conf

Dort tragen wir einfach die Paare aus Paramter und Wert ein. Im Pfad zu der Datei werden einfach die / durch . ersetzt. und ausgehend von /proc/sys wird der Pfad gemessen. Die Einträge in der /etc/sysctl.conf sehen dann wie folgt aus:

net.ipv4.neigh.default.gc_thresh1 = 512
net.ipv4.neigh.default.gc_thresh2 = 2048
net.ipv4.neigh.default.gc_thresh3 = 4096

Dadurch werden die Werte bei jedem Systemstart wieder übernommen. Übrigens eigent sich diese Datei auch bestens um noch weitere Kernel-Parameter zu konfigurieren.

Veröffentlicht von Arne Brodowski am 1. Mai 2005, 15:43 in , .