Pi-hole und FCS-Fehler

Der Pi-hole als Werbeblocker ist eine sinnvolle Erweiterung für das heimische Netzwerk.

Der im Folgenden beschriebene Fehler hat nicht direkt mit der Pi-hole-Anwendung zu tun.
Es zeigt vielmehr, wie eine defekte Netzwerkverbindungen das Netz ausbremsen und lange Zeit unentdeckt bleiben kann.

Fehlerbild

Der Fehler trat in unregelmäßigen Abständen und auf unterschiedlichen Geräten auf. Plötzlich ließ sich eine Webseite auf einem PC nicht mehr öffnen, dann eine andere Seite auf einem Tablet oder Smartphone. Kurze Zeit später ließen sich die Seiten wieder einwandfrei öffnen… Das Fehlerbild diffus, kein erkennbares Muster oder Abhängigkeiten wie Betriebssysteme, Browser, etc. dahinter.

Der Raspberry Pi bzw. die Pi-hole-Anwendung wurde mehrmals neu installiert, Switche neu gestartet, die Firmware aktualisiert, alles ohne Erfolg.
Des Rätsels Lösung war der FCS-Fehlerzähler auf einem Switch vor dem Pi-hole, dieser stieg langsam aber stetig an:

FCS-Fehlerzähler

Exkurs

FCS-Fehler werden detektiert, wenn die vom sendenden Switch errechnete Prüfsumme nicht mit der errechneten Prüfsumme des empfangenden Switches übereinstimmt. Solche kaputten Frames werden von den Switchen verworfen. Als Algorithmus wird im Ethernet die zyklische Redundanzprüfung „CRC-32“ bzw. das allseits bekannten Polynom 0x04C11DB7 verwendet.

FCS im Layer2-Frame:

Warum fiel der Fehler nie auf?

An dem Switch waren zuvor nur NAS-Server und ein Webcam-Server angebunden. Diese Anwendungen nutzen TCP (verbindungsorientiert) zur Übertragung. Treten bei TCP-Verbindungen Fehler auf, werden die defekten Frames neu versendet. Die Datenübertragung wurde dadurch etwas – aber augenscheinlich unmerklich – langsamer.

Der Pi-hole, als DNS-Server (oder besser Forwarder), wird aber per UDP – verbindungslos – angesprochen. Defekte UDP-Frames werden vom Switch verworfen und nicht neu übertragen. Dies ist der Grund weshalb sich ab und an Webseiten nicht aufrufen ließen. Da auf den DNS-Request nie eine Antwort erfolgte, was später zu einem Laufzeitfehler im Browser führte („Server nicht erreichbar“…).

Problemlösung

Das eigentliche Problem haben weder die beteiligen Switche, der Raspberry noch die Verkabelung verursacht.
Ein defekter Überspannungs-Ableiter, vor dem Switch angebracht, war für die kaputten Frames verantwortlich!

defekter Überspannungs-Ableiter

Als Dieser entfernt wurde, wurden keine FCS-Fehler mehr detektiert und die DNS-Auflösung lief zuverlässig.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.