IP-Adressen und Netzwerkerreichbarkeit unter Linux erkunden

CompTIABeginner
Jetzt üben

Einführung

In diesem Labor werden Sie grundlegende Konzepte der IP-Adressierung und Netzwerkerreichbarkeit in einer Linux-Umgebung erkunden. Sie werden gängige Kommandozeilen-Utilities wie ping und ip a verwenden, um wesentliche Netzwerkdiagnosen durchzuführen. Die Übungen führen Sie durch das Testen des lokalen TCP/IP-Stacks mit der Loopback-Adresse, das Identifizieren der privaten IP-Adresse Ihres Rechners und das Überprüfen der öffentlichen Internetverbindung.

Zusätzlich lernen Sie, die Erreichbarkeit im lokalen Netzwerk zu testen und erhalten ein Verständnis für Adressen mit Sonderverwendung, indem Sie Multicast-Kommunikation untersuchen. Durch das Abschließen dieser Schritte entwickeln Sie praktische Fähigkeiten zur Fehlerbehebung bei Netzwerkkonfigurationen und zur Überprüfung verschiedener Ebenen der IP-Konnektivität auf einem Linux-System.

Lokalen TCP/IP-Stack mit ping 127.0.0.1 testen

In diesem Schritt lernen Sie, wie Sie die eigene Netzwerkkonfiguration Ihres Systems mithilfe der Loopback-Adresse testen. Dies ist ein grundlegender Diagnoseschritt, um sicherzustellen, dass der TCP/IP-Software-Stack korrekt installiert ist und funktioniert, noch bevor physische Netzwerkverbindungen überprüft werden.

Die Loopback-Adresse, die fast immer 127.0.0.1 lautet, ist eine spezielle IP-Adresse, die ein Computer verwendet, um auf sich selbst zu verweisen. Wenn Sie Netzwerkverkehr an 127.0.0.1 senden, verlässt dieser keine Netzwerkhardware (wie eine WLAN- oder Ethernet-Karte). Stattdessen wird der Verkehr intern im Betriebssystem "zurückgeschleift". Dies ist äußerst nützlich für Tests.

Wir werden den Befehl ping verwenden, ein gängiges Netzwerk-Utility, das zum Testen der Erreichbarkeit eines Hosts in einem IP-Netzwerk verwendet wird.

Geben Sie nun den folgenden Befehl in Ihr Terminal ein, das sich derzeit im Verzeichnis ~/project befindet, und drücken Sie Enter.

ping 127.0.0.1

Sie sehen einen kontinuierlichen Strom von Antworten von 127.0.0.1. Dies zeigt an, dass der TCP/IP-Stack Ihres Systems wie erwartet funktioniert. Jede Zeile stellt eine erfolgreiche "Echo-Antwort" dar, die vom lokalen Rechner empfangen wurde.

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.050 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.052 ms
...

Der Befehl ping wird weiterhin ausgeführt, bis Sie ihn stoppen. Um den Befehl zu stoppen, drücken Sie Ctrl+C. Nachdem Sie ihn gestoppt haben, sehen Sie eine Zusammenfassung der Ping-Statistiken.

Dieser erfolgreiche Test bestätigt, dass die Netzwerkesoftware auf Ihrer virtuellen Maschine betriebsbereit ist.

Eigene private IP-Adresse mit ip a identifizieren

In diesem Schritt identifizieren Sie die private IP-Adresse Ihrer virtuellen Maschine. Nachdem Sie bestätigt haben, dass der interne TCP/IP-Stack mit der Loopback-Adresse funktioniert, ist der nächste logische Schritt, die Adresse zu finden, die Ihr System zur Kommunikation mit anderen Geräten im selben lokalen Netzwerk verwendet.

Die meisten lokalen Netzwerke (wie das, in dem sich diese virtuelle Maschine befindet, oder Ihr Heim-/Büronetzwerk) verwenden private IP-Adressen. Dies sind spezielle IP-Adressbereiche, die aus dem öffentlichen Internet nicht erreichbar sind. Sie sind für die interne Nutzung reserviert. Dieses System verhindert die Erschöpfung von IPv4-Adressen und fügt eine Sicherheitsebene hinzu.

Um Ihre IP-Adresse auf einem modernen Linux-System zu finden, können Sie den Befehl ip a verwenden (der Teil der iproute2-Suite ist und den älteren Befehl ifconfig ersetzt).

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

ip a

Die Ausgabe listet alle Netzwerkschnittstellen auf Ihrem System auf. Sie suchen nach Ihrer primären Netzwerkschnittstelle, die typischerweise eth0 oder ens... genannt wird. Die IP-Adresse wird in der Zeile angezeigt, die mit inet beginnt.

Hier ist ein Beispiel dafür, wie die Ausgabe aussehen könnte. Ihre IP-Adresse und Schnittstellennamen können abweichen.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:0a:71:39 brd ff:ff:ff:ff:ff:ff
    inet 172.16.50.171/24 brd 172.16.50.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe0a:7139/64 scope link
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:ae:2a:df:b8 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

Im obigen Beispiel ist die private IP-Adresse 172.16.50.171. Identifizieren Sie nun die inet-Adresse Ihres Systems und prüfen Sie, ob sie in einen der Standardbereiche für private IP-Adressen fällt:

  • Klasse A: 10.0.0.0 bis 10.255.255.255
  • Klasse B: 172.16.0.0 bis 172.31.255.255
  • Klasse C: 192.168.0.0 bis 192.168.255.255

Die IP-Adresse 172.16.50.171 aus unserem Beispiel fällt in den privaten Bereich der Klasse B. Ihre LabEx VM wird ebenfalls eine IP aus einem dieser Bereiche haben.

Erreichbarkeit des öffentlichen Internets mit ping 8.8.8.8 testen

In diesem Schritt überprüfen Sie, ob Ihre virtuelle Maschine mit dem öffentlichen Internet kommunizieren kann. Sie haben bestätigt, dass Ihr lokaler TCP/IP-Stack funktioniert, und Sie haben Ihre private IP-Adresse gefunden. Nun sehen wir, ob Sie einen Server außerhalb Ihres lokalen Netzwerks erreichen können.

Öffentliche IP-Adressen sind global eindeutige Adressen, die im Internet geroutet werden können. Ihre VM kann mit ihrer privaten IP-Adresse diese Adresse nicht direkt im Internet verwenden. Stattdessen führt ein Router oder Gateway im Netzwerk eine Network Address Translation (NAT) durch. Er übersetzt die private IP-Adresse Ihrer VM in eine öffentliche IP-Adresse, wenn Datenverkehr ins Internet gesendet wird, und umgekehrt für zurückkehrenden Datenverkehr.

Um dies zu testen, pingen wir eine bekannte öffentliche IP-Adresse an: 8.8.8.8. Dies ist die Adresse eines der öffentlichen DNS-Server von Google, der hochverfügbar ist und eine Standardwahl für den Test der Internetverbindung darstellt.

Geben Sie in Ihrem Terminal den folgenden Befehl ein und drücken Sie Enter:

ping 8.8.8.8

Sie sollten eine Reihe von erfolgreichen Antworten sehen. Beachten Sie, dass der Wert für time= typischerweise höher ist als beim Pingen der Loopback-Adresse, da die Datenpakete über das Internet zum Server von Google und zurück reisen.

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=58 time=2.34 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=58 time=2.30 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=58 time=2.35 ms
...

Diese Antworten bestätigen, dass Ihre VM erfolgreich eine Verbindung zum öffentlichen Internet herstellt. Drücken Sie Ctrl+C, um den Ping-Befehl zu stoppen.

Erreichbarkeit im lokalen Netzwerk durch Ping einer nicht zugewiesenen IP testen

In diesem Schritt versuchen Sie, mit einer IP-Adresse in Ihrem lokalen Netzwerk zu kommunizieren, die keinem Gerät zugewiesen ist. Dies zeigt, dass für eine erfolgreiche Kommunikation eine Ziel-IP nicht nur im richtigen Netzwerk liegen, sondern auch aktiv von einem Host beansprucht werden muss, der antworten kann.

Sie haben bereits Ihre eigene private IP-Adresse gefunden. Nun wählen Sie eine andere Adresse innerhalb desselben Subnetzes aus, die mit hoher Wahrscheinlichkeit ungenutzt ist. Ein Subnetz ist eine logische Unterteilung eines IP-Netzwerks. Wenn Ihre IP-Adresse beispielsweise 172.16.50.171 mit einer /24-Maske lautet, umfasst Ihr Subnetz alle Adressen von 172.16.50.1 bis 172.16.50.254.

Wählen wir eine IP-Adresse aus, die wahrscheinlich nicht in Gebrauch ist. Basierend auf der üblichen IP-Adresse 172.16.50.171 für diese Umgebung versuchen wir, 172.16.50.250 anzupingen.

Geben Sie in Ihrem Terminal den folgenden Befehl ein und drücken Sie Enter:

ping 172.16.50.250

Dieses Mal werden Sie keine Antworten sehen. Der Befehl scheint zu hängen und sendet Pakete ohne Antwort. Das liegt daran, dass an dieser IP-Adresse kein Gerät vorhanden ist, das auf die Ping-Anfrage antwortet. Stoppen Sie den Befehl nach einigen Sekunden durch Drücken von Ctrl+C. Sie sehen eine Zusammenfassung, die einen Paketverlust von 100 % anzeigt. Dieses Timeout ist eine gängige Methode, um festzustellen, dass ein Host im Netzwerk nicht erreichbar ist.

PING 172.16.50.250 (172.16.50.250) 56(84) bytes of data.
^C
--- 172.16.50.250 ping statistics ---
23 packets transmitted, 0 received, 100% packet loss, time 22510ms

Diese Ausgabe bestätigt, dass eine IP-Adresse im Netzwerk aktiv sein muss, um erreichbar zu sein. Drücken Sie Ctrl+C, um den Befehl zu stoppen.

Multicast-Adressen mit ping 224.0.0.1 erkunden

In diesem letzten Schritt erkunden Sie eine andere Kategorie von IP-Adressen: Multicast. Bisher haben Sie mit Unicast-Adressen gearbeitet, bei denen die Kommunikation Eins-zu-Eins erfolgt (Ihre Maschine zum Loopback, Ihre Maschine zu einem öffentlichen Server usw.).

Multicast ist eine Eins-zu-Viele-Kommunikationsmethode. Ein einzelnes Paket wird von einer Quelle an eine spezielle Multicast-Adresse gesendet, und die Netzwerkinfrastruktur liefert es an alle Geräte, die sich für diese Adresse "abonniert" haben. Dies ist wesentlich effizienter als das Senden einzelner Pakete an jedes einzelne Ziel.

Der IP-Adressbereich von 224.0.0.0 bis 239.255.255.255 ist für Multicast (Klasse D) reserviert. Wir werden eine spezielle, bekannte Multicast-Adresse verwenden: 224.0.0.1. Dies ist die Gruppenadresse "all-hosts". Jeder Multicast-fähige Host im lokalen Netzwerksegment sollte auf Datenverkehr reagieren, der an diese Adresse gesendet wird.

Sehen wir uns an, was passiert, wenn Sie ihn anpingen. Führen Sie in Ihrem Terminal aus:

ping 224.0.0.1

Theoretisch sollte jeder Multicast-fähige Host im lokalen Netzwerk auf einen Ping an die "all-hosts"-Gruppe reagieren. Sie könnten Antworten von Ihrer eigenen Maschine erwarten. In vielen modernen Linux-Umgebungen werden ICMP-Echo-Anfragen an Multicast-Adressen jedoch aus Sicherheits- oder Netzwerk-Performance-Gründen standardmäßig ignoriert.

Beobachten Sie die Ausgabe. Sie werden wahrscheinlich keine Antworten sehen. Stoppen Sie den Befehl nach einigen Sekunden durch Drücken von Ctrl+C. Die Zusammenfassung zeigt einen Paketverlust von 100 %.

PING 224.0.0.1 (224.0.0.1) 56(84) bytes of data.
^C
--- 224.0.0.1 ping statistics ---
14 packets transmitted, 0 received, 100% packet loss, time 13312ms

Dieses Ergebnis demonstriert ein wichtiges Prinzip der realen Netzwerkinfrastruktur: Theoretische Standards (wie die Reaktion auf "all-hosts"-Multicast) werden in der Praxis nicht immer implementiert oder aktiviert. Systemkonfigurationen, Firewalls oder Kernel-Einstellungen können das erwartete Verhalten ändern. Drücken Sie Ctrl+C, um den Ping zu stoppen.

Zusammenfassung

In diesem Lab haben Sie grundlegende Konzepte der IP-Adressierung und Netzwerkerreichbarkeit in einer Linux-Umgebung mithilfe gängiger Kommandozeilen-Tools erkundet. Sie haben gelernt, wie Sie die Integrität des lokalen TCP/IP-Stacks durch Pingen der Loopback-Adresse (127.0.0.1) überprüfen und wie Sie die private IP-Adresse Ihres Systems für die lokale Netzwerkkommunikation mit dem Befehl ip a identifizieren.

Darüber hinaus haben Sie die Diagnose der Netzwerkkonnektivität geübt, indem Sie die Erreichbarkeit des öffentlichen Internets mit ping 8.8.8.8 getestet und die Reaktion beim Pingen einer nicht zugewiesenen lokalen IP-Adresse beobachtet haben. Das Lab endete mit der Erkundung spezieller Adresstypen, insbesondere der Verwendung von ping 224.0.0.1, um die Funktion von Multicast-Adressen für die Eins-zu-Viele-Kommunikation in einem Netzwerk zu verstehen.