Netzwerkverbindungen testen

LinuxBeginner
Jetzt üben

Einführung

Die Netzwerkverbindung ist ein grundlegender Aspekt jedes modernen Computersystems. Wenn Probleme auftreten, ist die Kenntnis der Diagnose ein entscheidendes Können für jeden Entwickler oder Systemadministrator. Dieses Lab führt Sie systematisch durch eine Reihe essentieller Linux-Befehle zur Überprüfung und Fehlerbehebung von Netzwerkverbindungen.

Sie lernen, wie Sie ping verwenden, um die grundlegende Erreichbarkeit zu prüfen, traceroute, um den Pfad Ihrer Daten über das Netzwerk abzubilden, nslookup, um die DNS-Auflösung zu verifizieren, und ip route, um die Routing-Tabelle Ihres Systems zu inspizieren. Am Ende dieses Labs werden Sie eine solide Grundlage für die Diagnose gängiger Netzwerkprobleme haben.

Localhost mit dem Befehl ping 127.0.0.1 testen

In diesem Schritt verwenden Sie den ping-Befehl, um den Netzwerk-Stack auf Ihrem lokalen Rechner zu testen. Dies ist der grundlegendste und wichtigste erste Schritt bei jeder Netzwerk-Fehlerbehebung.

Der ping-Befehl sendet ICMP (Internet Control Message Protocol) ECHO_REQUEST-Pakete an einen Zielhost und wartet auf eine ECHO_RESPONSE. Die Adresse 127.0.0.1 ist die Standardadresse für "localhost" oder "Loopback", die immer auf den Rechner verweist, auf dem Sie sich befinden. Ein erfolgreicher Ping auf localhost bestätigt, dass die Netzwerksoftware Ihres Systems korrekt läuft.

Wir verwenden die Option -c 4, um nur 4 Pakete zu senden und zu verhindern, dass der Befehl unbegrenzt läuft.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

ping -c 4 127.0.0.1

Sie sollten eine Ausgabe sehen, die der folgenden ähnelt und anzeigt, dass die Pakete erfolgreich gesendet und empfangen wurden.

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.048 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.047 ms

--- 127.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3074ms
rtt min/avg/max/mdev = 0.045/0.047/0.049/0.001 ms

Die Zeile 0% packet loss bestätigt, dass die lokale Netzwerkschnittstelle korrekt funktioniert.

Gateway mit dem Befehl ping 172.60.0.1 testen

In diesem Schritt testen Sie die Konnektivität zu Ihrem lokalen Netzwerk-Gateway. Das Gateway ist ein Router, der Ihr lokales Netzwerk mit anderen Netzwerken, einschließlich des Internets, verbindet. Ein erfolgreicher Ping zum Gateway bestätigt, dass Ihr Rechner mit Ihrem lokalen Netzwerk kommunizieren kann.

Zuerst müssen Sie die IP-Adresse Ihres Standard-Gateways ermitteln. Dies können Sie mit dem Befehl ip route tun und nach der "default" (Standard-) Route filtern.

Führen Sie diesen Befehl aus, um Ihr Gateway zu finden:

ip route | grep default

Die Ausgabe zeigt Ihnen die Standardroute an. Die IP-Adresse unmittelbar nach via ist die Adresse Ihres Gateways. In dieser Lab-Umgebung ist dies typischerweise 172.60.0.1.

default via 172.60.0.1 dev eth1

Verwenden Sie nun den ping-Befehl, um die Konnektivität zu dieser Gateway-Adresse zu testen. Denken Sie daran, die Option -c 4 zu verwenden.

ping -c 4 172.60.0.1

Eine erfolgreiche Ausgabe sieht wie folgt aus:

PING 172.60.0.1 (172.60.0.1) 56(84) bytes of data.
64 bytes from 172.60.0.1: icmp_seq=1 ttl=64 time=0.075 ms
64 bytes from 172.60.0.1: icmp_seq=2 ttl=64 time=0.051 ms
64 bytes from 172.60.0.1: icmp_seq=3 ttl=64 time=0.052 ms
64 bytes from 172.60.0.1: icmp_seq=4 ttl=64 time=0.053 ms

--- 172.60.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3060ms
rtt min/avg/max/mdev = 0.051/0.057/0.075/0.010 ms

Dieses Ergebnis bestätigt, dass Ihr Rechner mit dem lokalen Netzwerk-Gateway kommunizieren kann.

Trace Route mit dem Befehl traceroute google.com

In diesem Schritt verwenden Sie traceroute, um den Netzwerkpfad von Ihrem Rechner zu einem externen Ziel wie google.com zu verfolgen. Dieser Befehl ist nützlich, um festzustellen, an welcher Stelle auf dem Pfad eine Verbindung fehlschlagen könnte.

Das Dienstprogramm traceroute ist möglicherweise nicht standardmäßig installiert. Aktualisieren Sie zuerst Ihre Paketliste und installieren Sie es dann. Es ist eine gute Vorgehensweise, sudo apt-get update auszuführen, bevor neue Pakete installiert werden.

sudo apt-get update

Installieren Sie nun das Dienstprogramm traceroute. Das Flag -y beantwortet alle Aufforderungen automatisch mit "Ja".

sudo apt-get install -y traceroute

Sobald die Installation abgeschlossen ist, können Sie traceroute für google.com ausführen. Dies zeigt Ihnen die Reihenfolge der Router (Hops), die Pakete durchlaufen müssen, um das Ziel zu erreichen.

traceroute google.com

Die Ausgabe listet jeden Hop, seine IP-Adresse und die Round-Trip-Time (RTT) für die Pakete auf, um ihn zu erreichen. Die Ausgabe variiert, wird aber ungefähr so aussehen (wir haben sie zur Kürze gekürzt):

traceroute to google.com (142.250.191.46), 30 hops max, 60 byte packets
 1  uswest5 (172.60.0.1)  0.031 ms  0.010 ms  0.010 ms
 2  10.220.8.54 (10.220.8.54)  0.289 ms 10.220.8.38 (10.220.8.38)  0.275 ms 10.220.8.54 (10.220.8.54)  0.263 ms
 3  11.73.4.217 (11.73.4.217)  2.134 ms 11.73.4.241 (11.73.4.241)  2.141 ms 11.73.4.185 (11.73.4.185)  1.409 ms
 ...
 8  142.251.65.127 (142.251.65.127)  4.316 ms  2.849 ms  4.335 ms
 9  nuq04s42-in-f14.1e100.net (142.250.191.46)  4.296 ms  1.556 ms  2.964 ms

Jede Zeile repräsentiert einen Router auf dem Pfad. Sternchen * * * zeigen an, dass der Router nicht rechtzeitig auf die Sonde (Probe) geantwortet hat.

DNS-Auflösung mit dem Befehl nslookup google.com prüfen

In diesem Schritt überprüfen Sie die Auflösung des Domain Name System (DNS). DNS ist das Telefonbuch des Internets; es übersetzt für Menschen lesbare Domainnamen (wie google.com) in maschinenlesbare IP-Adressen (wie 142.250.199.14). Wenn DNS nicht funktioniert, können Sie Websites nicht über ihren Namen erreichen, selbst wenn Ihre Netzwerkverbindung ansonsten einwandfrei ist.

Der Befehl nslookup ist ein Werkzeug, das verwendet wird, um DNS-Server abzufragen und diese Informationen zu erhalten.

Führen Sie den folgenden Befehl aus, um die IP-Adresse für google.com nachzuschlagen:

nslookup google.com

Die Ausgabe zeigt Ihnen, welcher DNS-Server Ihre Anfrage beantwortet hat, und die mit dem Domainnamen verbundenen IP-Adressen.

Server:  127.0.0.11
Address: 127.0.0.11#53

Non-authoritative answer:
Name: google.com
Address: 142.250.191.46
Name: google.com
Address: 2607:f8b0:4005:80f::200e

Die Zeilen Server und Address zeigen den DNS-Resolver an, den Ihr System verwendet. Der Abschnitt Non-authoritative answer liefert die IPv4-Adresse (Address: 142.250.191.46) und die IPv6-Adresse (Address: 2607:...) für google.com. Eine erfolgreiche Antwort wie diese bestätigt, dass die DNS-Auflösung korrekt funktioniert.

Konnektivitätsprobleme mit ip route show beheben

In diesem Schritt untersuchen Sie die IP-Routing-Tabelle des Kernels. Die Routing-Tabelle ist eine Reihe von Regeln, die Ihr System verwendet, um zu bestimmen, wohin Netzwerkverkehr gesendet werden soll. Eine falsche oder fehlende Route ist eine häufige Ursache für Konnektivitätsprobleme.

Der Befehl ip route show (oder sein kürzerer Alias ip r) zeigt die primäre Routing-Tabelle an. Dies ist einer der wichtigsten Befehle zur Diagnose von Netzwerkproblemen auf niedriger Ebene.

Führen Sie den Befehl aus, um Ihre Routing-Tabelle anzuzeigen:

ip route show

Die Ausgabe listet alle Routen auf, die Ihrem System bekannt sind.

default via 172.60.0.1 dev eth1
172.60.0.0/16 dev eth1 proto kernel scope link src 172.60.1.160

Die kritischste Zeile ist die default-Route.

  • default via 172.60.0.1 dev eth1: Diese Zeile bedeutet, dass für jedes Ziel, das nicht explizit in der Tabelle aufgeführt ist, der Verkehr an das Gateway unter 172.60.0.1 (das Sie in Schritt 2 angepingt haben) über die Netzwerkschnittstelle eth1 gesendet wird.

Wenn diese Standardroute fehlen würde, wüsste Ihr System nicht, wie es Verkehr ins Internet senden soll, und Befehle wie ping google.com würden mit der Fehlermeldung "Network is unreachable" (Netzwerk nicht erreichbar) fehlschlagen. Das Verständnis dieser Tabelle ist der Schlüssel zur Behebung solcher Probleme, oft durch Hinzufügen einer korrekten Standardroute mit einem Befehl wie sudo ip route add default via <gateway_ip>.

Zusammenfassung

Herzlichen Glückwunsch zum Abschluss dieses Labs! Sie haben einen systematischen Ansatz zur Überprüfung und Diagnose von Netzwerkverbindungsproblemen auf einem Linux-System kennengelernt.

Sie haben die Verwendung der folgenden wesentlichen Befehle geübt:

  • ping: Zum Testen der Erreichbarkeit des lokalen Rechners und des Netzwerk-Gateways.
  • ip route: Zum Auffinden Ihres Standard-Gateways und zur Überprüfung der Routing-Tabelle des Systems.
  • traceroute: Zum Verfolgen des Pfades, den Pakete zu einem entfernten Host nehmen, um potenzielle Fehlerquellen zu identifizieren.
  • nslookup: Zur Überprüfung, ob das Domain Name System (DNS) Hostnamen korrekt in IP-Adressen auflöst.

Diese logische Abfolge – vom Selbst, über das lokale Netzwerk, ins Internet und schließlich zur Überprüfung der Namensauflösung – bietet ein leistungsstarkes Framework zur Fehlerbehebung bei nahezu jedem Netzwerkproblem, auf das Sie stoßen könnten.