Ich habe gesehen, wie Netzwerkkarten den Verstand verloren haben und billige Switches durch Ruckeln (Senden eines endlosen Frames) oder durch Senden übermäßiger Low-Level-Ethernet-Flusskontrollsignale blockiert wurden. Leider können diese Arten von MAC / PHY-Hardware-Fehlern vom Ethernet-Treiber des Hosts unbemerkt bleiben, sodass in Ihren Protokollen nichts angezeigt wird. Ebenfalls bedauerlich ist die Tatsache, dass keiner dieser Fehler in einer typischen Sniffer-Spur sichtbar wäre, da die Flusskontrollsignale nicht wirklich "Ethernet-Frames" sind und Sniffer generell nur Frames erfassen, die innerhalb der normalen Größengrenzen liegen.
Wenn dies das nächste Mal passiert, ist es interessant zu sehen, ob das Problem einfach dadurch behoben wird, dass die Ethernet-Verbindung des Ubuntu-Servers zum Netzwerk getrennt wird. Wenn dies der Fall ist, tritt das Problem dann wieder auf, wenn Sie das Ethernet-Kabel wieder einstecken?
Das Löschen der Verbindung kann ausreichen, um die Chips der Netzwerkkarte zurückzusetzen, um das Problem zu beheben. Wenn das Problem jedoch wieder auftritt, sobald Sie das Ethernet wieder anschließen, können Sie versuchen, das Ethernet-Kabel vom Ubuntu-Server direkt mit einem Sniffer an das Ethernet anzuschließen Maschine (hoffentlich haben Sie eine Maschine mit Auto-MDI-X oder einem Crossover-Kabel zur Hand). Dann können Sie versuchen, Frames aufzunehmen. Wenn Sie in der Lage sind, Frames zu erfassen, geben diese möglicherweise einen Hinweis darauf, wo der Fehler bei der Netzwerkkarte, dem Treiber, dem Netzwerkstapel oder einer netzwerkbenutzenden Anwendung liegt.
Sie können auch andere Personen mit der gleichen Art von NIC (oder zumindest dem gleichen NIC-Chipsatz) bei Google suchen, um festzustellen, ob andere das gleiche Problem haben. Natürlich ist es immer gut, sicherzustellen, dass Sie den neuesten Treiber für Ihre Karte haben.
Verfügt Ihr Ubuntu-Server ohne Kopf über eine Grafikkarte oder können Sie eine vorübergehend einsetzen? Wenn es das nächste Mal passiert, können Sie ein Display, eine Tastatur und eine Maus anschließen und sehen, was Sie vor Ort auf dem Host lernen können . Ist der Host-Kernel in Panik oder komplett eingefroren, oder ist nur die Netzwerk-E / A abgespritzt? Wenn der Host grundsätzlich verwendbar ist (mit Ausnahme des Netzwerks), können Sie tcpdump oder Wireshark darauf ausführen und sehen, was es über das Netzwerk zu tun glaubt.
Beachten Sie, dass Sie nicht einmal eine grafische Konsole verwenden müssen, um herauszufinden, was auf dem Ubuntu-Server läuft. Wenn Ihr Computer beispielsweise über einen seriellen Anschluss verfügt (oder Sie einen USB-Seriell-Adapter anschließen können), den Sie als seriellen Konsolenterminalanschluss konfigurieren können, können Sie einen anderen Computer an diesen Anschluss anschließen und von der Shell aus stöbern. Wenn Sie eine andere Netzwerkkarte haben, die Sie in diese Box einbauen könnten, könnten Sie die andere Netzwerkkarte in ein separates isoliertes Netzwerk einbinden, mit dem Sie SSH oder VNC in die Box einbinden können nicht den ganzen Linux-Netzwerkstack).
Ich würde vorschlagen, eine qualitativ hochwertigere Netzwerkkarte in Ihrem Server zu installieren oder den wahrscheinlich von Ihnen zu Hause verwendeten Switch der Consumer-Klasse durch einen Switch der Enterprise-Klasse zu ersetzen, der so konzipiert ist, dass er Ports abtrennt, die das Netzwerk überlasten.
Update: Es wurden einige zusätzliche Vorschläge zur Diagnose / Fehlerbehebung hinzugefügt. Wenn es sich jedoch um die Art von NIC-Hardwarefehlermodi handelt, an die ich denke, bezweifle ich, dass jemand andere als die Ingenieure, die diesen NIC-Chipsatz entwickelt haben, große Hoffnung auf ein Debugging haben würde.