Streikt die Verbindung ins Netzwerk, so liegt das oft nur an einer Kleinigkeit – doch die gilt es erst einmal herauszufinden. Linux bringt zu diesem Zweck alle erdenklichen Tools mit. Allerdings arbeiten die meisten davon auf der Kommandozeile, nicht alle sind einfach zu bedienen. Der Artikel erklärt die Funktionsweise der wichtigsten Helfer und beschreibt deren Anwendung anhand verschiedener Beispiele. Beinahe alle Arbeiten auf der Netzwerkebene von Linux lassen sich nur als root vornehmen, auf entsprechende Hinweise verzichtet der Artikel deshalb im Folgenden.
Netzwerk an?
Den ersten Schritt bei der Fehlersuche stellt das Überprüfen des physikalischen Kontakts dar. Nicht selten liegt der Fehler an einer wackeligen Verbindung des Kabels zur Netzwerkkarte. Ob eine Verbindung besteht, signalisieren praktisch alle NICs mittels einer grünen Leuchtdiode neben dem Stecker.
Besteht der Kontakt, gilt es als nächstes mit ifconfig zu überprüfen, ob die Karte korrekt im Betriebssystem integriert ist. Die Eingabe von ifconfig (Abbildung 1) ohne weitere Angaben listet die aktuell aktiven Netzwerkkarten und deren Einstellungen. Der Devicename ethNummer
zeigt an, dass es sich um eine Ethernet-NIC handelt. WLAN-Karten definiert meist der Eintrag wlanNummer
. Dabei nummeriert Linux die Schnittstellen jeder Bauart von Null beginnend durch. So heißt das erste Ethernet-Interface eth0. Das Kürzel lo steht für Loopback – also die interne, virtuelle Netzwerkschnittstelle.
Sollte die Ausgabe von ifconfig außer dem Loopback-Device keine weiteren Karten anzeigen, aktivieren Sie die NIC mit dem Aufruf ifconfig Schnittstelle
IP-Adresse
up. Der Aufruf ifconfig Schnittstelle
down schaltet die Netzwerkkarte ab. Die Konfigurationsdateien der Netzwerkumgebung für Suse finden Sie im Verzeichnis /etc/sysconfig/network, für Debian-Derivate unter /etc/network und für Mandriva und Fedora unter /etc/networking bzw. /etc/network-scripts.
Zeigt die Ausgabe von ifconfig zwar die Netzwerkkarte, jedoch keine IP-Adresse, liegt das oft daran, dass der Rechner vom DHCP-Server keine Adresse bekommen hat. Überprüfen Sie in diesem Fall, ob der DHCP-Client läuft, (ps -ax | grep dhcpd) und starten Sie diesen gegebenenfalls mit dem Aufruf dhcpd. Sollte die Netzwerkkarte nach wie vor keine IP-Adresse besitzen, schalten Sie diese wie beschrieben ab und wieder an.
Weigert sich das Interface, zu starten, überprüfen Sie mit dem Aufruf lsmod ob das für die Karte benötigte Kernel-Modul geladen ist. Den Typ der am PCI-Slot angeschlossenen Karte erfahren Sie mit dem Aufruf lspci | grep Ethernet. Sollte das Modul nicht geladen sein, prüfen Sie wie folgt, ob ein Kernel-Modul für die Karte verfügbar ist:
- Geben Sie den Befehl
lspci | grep Ethernetein und merken Sie sich die erste Zahlenkolonne, beispielsweise 02:08.0. Diese Zahl repräsentiert die physikalische Schnittstelle auf dem Motherboard. - Geben Sie nun den Befehl
lspci -n | grep 02:08.0ein, um die numerische ID des Gerätes zu erfahren, die in unserem Beispiel 02:08.0 Class 0200: 8086:1050 (rev 02) lautet. Bei der letzten Zahlengruppe der Ausgabe,8086:1050, handelt es sich um die Vendor- (hier:8086) und Device-ID (1050). - Öffnen Sie danach die Datei
/lib/modules/Kernel-Version /modules.pcimap, und vergleichen Sie deren zweite und dritte Zeichenkolonne mit dem zuvor ermittelten Eintrag für Vendor- und Device-ID. Am einfachsten finden Sie die passende Zeile, indem Sie sich in das entsprechende Verzeichnis begeben und mit dem Befehlcat modules.pcimap | grep 'VendorID 0x0000DeviceID 'in der Datei suchen. Das zu unserem Beispiel findet sich hiere100 0x00008086 0x00001050 ...in der Liste. Die Zeile beginnt mit dem Namen des passenden Moduls, das in unserem Fall den Namene100trägt. - Um das Modul zu laden, tippen Sie nun
modprobe e100; die etwas brachialere Variante des Befehls lautetinsmod e100und sollte nur im Notfall verwendet werden.
Kein Kontakt
Bei korrekt funktionierender Hardware sollten Sie nun mittels des Befehls ping Verbindung zu anderen Rechnern im lokalen Netz oder auch im Internet aufnehmen können (Abbildung 2, unten). Die Syntax lautet ping -cVersuche
IP_oder_Hostname
. Dabei begrenzen Sie mit dem Parameter -c die Anzahl der aufzunehmenden Verbindungsversuche, den zu erreichenden Rechner geben Sie über seine IP-Adresse oder den Hostnamen an.
Klappt die Verbindung ins Netz trotz aktivierter Karte und zugewiesener IP-Adresse nicht, (Abbildung 2, oben) liegt das oft am falschen Eintrag in der Routingtabelle. Diese gibt an, wohin sich der Rechner bei Kontaktversuchen ins Netz wenden soll.
Über das so genannte Default-Gateway schickt das System alle Kontaktversuche, die keine anderen Route beschreibt. Als Default-Gateway dient im Heimnetz oft der Router mit der IP-Adresse 192.168.0.1, die Fritzbox verwendet als Standard 192.168.178.1.
Um die Einstellungen der Routingtabelle in Erfahrung zu bringen, tippen Sie route ein und vergleichen den Eintrag neben default mit der Adresse des tatsächlichen Gateways. Stimmen diese nicht überein, so löschen Sie den Eintrag mit dem Aufruf route del default und erstellen Sie einen neuen mit route add default gw IP-Adresse
dev Device-Name
, beispielsweise route add default gw 192.168.178.1 dev eth0.
Haben Sie Probleme, andere Rechner im LAN zu erreichen, kommen als Fehlerquelle auch falsche Netzwerksegmente in Betracht. Ein Beispiel: Besitzt Rechner-1 die IP-Adresse 192.168.1.50 und Rechner-2 192.168.2.53, so befinden sich beide in verschiedenen Netzwerksegmenten und können nur über einen Router miteinander kommunizieren. In diesem Fall teilen Sie einem der PCs eine andere IP-Adresse zu, so dass sich beide im gleichen Subnetz befindet – in unserem Beispiel etwa dem Rechner-2 die Adresse 192.168.1.53.
Diese und andere Probleme umgehen Sie am geschicktesten mit dem Einsatz eines DHCP-Diensts, der dem PC nach dem Booten automatisch sowohl die richtige IP-Adresse liefert, als auch das Default-Gateway korrekt einrichtet. Daneben stellt DHCP auch den Nameserver ein, der für das Auflösen von Hostnamen (etwa www.linux-user.de) in IP-Adressen verantwortlich zeichnet. Eine Fehlkonfiguration erkennen Sie unter anderem daran, dass die Kommunikation zu Rechnern im Internet über die IP-Adresse zwar reibungslos klappt, aber der Aufruf einer Webseite über den Domainnamen mit der Fehlermeldung Seite konnte nicht angezeigt werden scheitert.
Ob der Nameservice wirklich der Übeltäter ist, finden Sie am einfachsten mithilfe des Befehls nslookup heraus. Bei einer funktionierenden Namensauflösung erhalten Sie die IP-Adresse des Nameservers sowie des nachzuschlagenden Hostnamens zurück geliefert:
$ nslookup www.linux-user.de Server: 192.168.1.1 Address: 192.168.1.1#53 Non-authoritative answer: Name: www.linux-user.de Address: 87.106.38.241
Führt der Aufruf dagegen zu einer Ausgabe wie connection timed out; no servers could be reached, konnte das System keinen funktionierenden Nameserver erreichen. In diesem Fall öffnen Sie mit einem Editor die Datei /etc/resolv.conf: Sie enthält einen oder mehrere Einträge des Typs nameserver IP-Adresse
. Im heimischen Netz ist die IP-Adresse oft identisch mit der des Default-Gateways – also meist des Routers. Alternativ tragen Sie in dieser Datei eigene, im Internet verfügbare Nameservices ein. Eine Liste freier Nameservices finden Sie unter [1]. Da der Resolver bei jedem Aufruf die resolv.conf neu einliest, ist nach deren Modifikation kein Neustart des Netzwerkes erforderlich.



