Linux: Fehler im Netzwerk finden
Klappt's nicht mit dem Netzwerk? Das kann viele Ursachen haben. Lesen Sie in diesem Beitrag, wie Sie Netzwerk-Problemen mit Linux-Bordmitteln auf die Spur kommen.
Zwei Utilities helfen Linux-Usern besonders gut bei der Suche nach Quellen von Netzwerkproblemen: Ping und tcpdump. Beide Programme werden gleich mit Suse-Linux installiert.
Universal-Werkzeug Ping
Wann immer im Netzwerk etwas nicht funktioniert, sollten Sie zunächst das Programm Ping befragen. Dieses Programm sendet eine Anfrage an eine IP-Adresse und wartet auf dessen Antwort. Die Syntax sieht so aus:ping 192.168.0.2
An Stelle der 192... können Sie jede beliebige andere Adresse eingeben, auch aus dem Internet. Kommt die Anfrage bei dem anderen Rechner an, so sendet der eine Antwort zurück. Kommt keine Antwort, stecken vermutlich diese Fehler dahinter:
- Der Linux-Computer ist physikalisch nicht mit dem Netz verbunden. Überprüfen Sie die Steckverbindungen, achten Sie auch darauf.
- Der andere Computer ist nicht verbunden. Probieren Sie deshalb wenn möglich noch einen Ping an eine zweite Adresse.
- Der Linux-Computer oder der andere Rechner haben keine IP-Adressen. Um zu überprüfen, welche IP der eigene Rechner hat, verwenden Sie unter Linux ifconfig.
Alternativ zur IP-Nummer sucht Ping auch Kontakt zu ausgeschriebenen Rechnernamen, etwa
ping pegnitz.local
Und das bringt uns zum nächsten Anwendungszweck von Ping: Klappt zwar das Pingen an die IP-Nummer, nicht aber an die ausgeschriebene Adresse, dann kann der Rechner die Adresse nicht auflösen. Folgende Fehlerquellen kommen in Frage:
- Der Rechner findet den DNS-Server nicht.
- Die hosts-Datei auf dem Linux-Computer enthält keine oder nicht die richtigen Angaben zur Adressauflösung.
Mit Ping können Sie schließlich auch prüfen, ob eine Verbindung ins Internet hergestellt werden kann. Pingen Sie eine Adresse im Internet an. Kommt keine Antwort, geben Sie ping 141.1.1.1 ein – auch das ist eine Adresse im Internet. Ihr Vorteil: Sie ist leicht zu merken. Kommt von dieser numerischen Adresse eine Antwort, so besteht zwar eine Verbindung, es kann aber die Internet-Adresse nicht richtig aufgelöst werden. Entweder haben Sie dann keinen DNS-Server eingestellt. Oder der DNS-Server ist im Router falsch eingegeben.
Alles ansehen: tcpdump
Wenn nichts richtig funktioniert, lohnt es sich auch, einen Blick auf tcpdump zu werfen. Dieses Tool schreibt live alle Protokoll-Header und gibt sie auf dem Bildschirm aus. Sie überwachen damit also den kompletten Netzverkehr zwischen dem Linux-Rechner und dem Netzwerk. Falls Sie an Stelle eines Switches einen Hub einsetzen, können Sie sogar den kompletten Datenverkehr im Netz überwachen.Allerdings erschlägt die schiere Menge der Informationen dann jeglichen Einsatzzweck. Aber zurück zum Anfang:
Falls Sie das Gefühl haben, irgendetwas stimmt nicht zwischen Linux-Rechner und Netz, dann starten Sie tcpdump. Sofort sehen Sie den Datenverkehr. Meist erscheinen regelmäßig Meldungen des Address Resolution Protocol arp. Diese Rundsendungen mit der Frage "who-has", deutsch "wer hat?" dienen der Zuordnung von Ethernet-Adressen zu IP-Adressen. Darüber hinaus lässt sich hier aber auch feststellen, ob der TCP-Verkehr klappt. Versuchen Sie bei laufendem TCP-Dump einmal, per http auf den Rechner zuzugreifen. Sofort erscheint eine Reihe von http-Header-Meldungen.
Mit tcpdump können Sie also gezielt überwachen, welche Anwendungen wie kommunizieren. Bei Fehlern erhalten Sie hier auch wertvolle Meldungen, die Ihnen weiter helfen. Ganz abgesehen davon sehen Sie einmal, was sich überhaupt im Netzwerk tut und wer mit wem schwätzt.
Natürlich können Sie auch einschränken, was tcpdump überwacht. Wenn Sie zum Beispiel nur den Datenverkehr über http betrachten wollen, geben Sie ein:
tcpdump port 80
Denn über diesen Port kommen per Standard alle http-Verbindungen zu Stande. Alternativ können Sie auch nur einen bestimmten Rechner überwachen:
tcpdump host 192.168.0.1
Kleiner Tipp zum Schluss: Verwenden Sie tcpdump ausschließlich von der Konsole Ihres Linux-Rechners aus. Falls Sie ihn per Telnet oder ssh von einem anderen Rechner aus starten, protokolliert tcpdump ständig den Datenverkehr zwischen dem Terminal und dem Linux-Rechner – und erzeugt damit nur neuen Datenverkehr.




