Was du machst
Ein Netzwerk besteht aus Routern, die Pakete weiterreichen, und Hosts, die sie senden und empfangen. Hier ist h1 ein Host, r1 und r2 sind Router, und h2 ist ein weiterer Host. Ein Router kennt nur die Netzwerke, mit denen er direkt verbunden ist. Du siehst dich im ersten Netzwerk-Lab um, schickst ein Paket, das nicht durchkommt, und findest heraus, warum. Du behebst es nicht: Das ist die eigentliche Aufgabe des Labs.
Bevor du anfängst
Notiz
Drücke oben in der Leiste dieser Lektion auf Lab starten. Dieses Lab ist eine ganze Ubuntu-Maschine nur für dich, mit einem kleinen Netzwerk darin. Sie braucht deshalb etwas länger zum Starten als ein Container. Jede Schaltfläche Ausführen tippt ihren Befehl in das Terminal der Maschine, einen nach dem anderen. Sagt einer, dass die Maschine noch startet, warte ein paar Sekunden und drücke ihn noch einmal. Willst du zuschauen oder eigene Befehle tippen, drücke in der Leiste auf Terminal öffnen (neuer Tab).
1. Lerne die Maschinen kennen
Alles hier ist in deiner einen Ubuntu-Maschine gebaut: Jeder Router und jeder Host ist ein eigener Netzwerk-Namespace mit eigenen Adressen. netlab status listet sie auf. r1 und r2 sind die Router, h1, h2 und mgmt die Hosts. Die Namen, die mit to- beginnen, sind die Netzwerkkabel, und die Zahlen sind die Adressen.
netlab statusHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
2. Sprich mit dem Router nebenan
sudo ip netns exec h1 führt den folgenden Befehl im eigenen Netzwerk von h1 aus. Hier wird die Adresse von r1 am Kabel zu r2 angepingt. Es kommt eine Antwort: h1 erreicht seinen eigenen Router, und der Router kennt beide seiner Kabel.
sudo ip netns exec h1 ping -c 2 -W 1 10.0.12.1Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
3. Versuche, das Netzwerk zu durchqueren
Jetzt fragst du nach dem fernen Host, 10.0.3.2. ping schickt ein kleines Paket und wartet auf eine Antwort. Nichts kommt durch, und der Router neben h1 sagt, warum: Destination Net Unreachable, „Ich kenne keinen Weg zu diesem Netzwerk.“
sudo ip netns exec h1 ping -c 2 -W 1 10.0.3.2Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
4. Frage den Router, was er weiß
Eine Route ist eine Zeile in der Tabelle eines Routers: „Um dieses Netzwerk zu erreichen, geh in diese Richtung.“ Das hier zeigt die Tabelle von r1. Sie hat zwei Zeilen, eine für jedes Kabel, an dem er hängt, und keine für das Netzwerk, in dem h2 liegt, 10.0.3.0/24. Deshalb ist das Paket stehen geblieben.
sudo ip netns exec r1 ip routeHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
5. Sieh, wo das Paket stehen bleibt
traceroute zeigt jeden Router, den ein Paket durchläuft. Die erste Zeile ist r1, und das !N dahinter heißt „Netzwerk nicht erreichbar“: Das Paket ist nicht weitergekommen.
sudo ip netns exec h1 traceroute -n -m 4 -w 1 10.0.3.2Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
6. Frage die Konsole des Routers
Die Router hier laufen mit FRRouting, einer freien Routing-Software, und vtysh ist ihre Konsole, die du an echten Geräten wiederfindest. show ip route ist dieselbe Tabelle, mit einer Legende: C heißt „connected“, also direkt verbunden.
sudo vtysh -N r1 -c "show ip route"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Jetzt das Lab
Tipp
Du hast herausgefunden, wo das Paket stehen bleibt und warum. Es zum Laufen zu bringen ist die Aufgabe dieses Labs. Öffne README.md in deinem Home-Ordner mit cat README.md im Terminal. Dort steht, was zu tun ist, aber keine Lösungen.
Für Lehrkräfte
Tipp
Diese Lektion ist ein kleines Beispiel für eine Lektion, die in einem Lab bearbeitet wird: Die Schritte und die Schaltflächen „Ausführen“ sind die Lektion, und das Lab ist die eigene Kopie jeder lernenden Person. Sie wird in einem VM-Lab bearbeitet: Jede lernende Person hat eine eigene Ubuntu-Maschine mit dem Netzwerk darin, und ein Klick auf „Ausführen“ tippt in deren Terminal und zeigt, was ausgegeben wurde. Das Lab selbst enthält eine Prüfung, die das fertige Netzwerk bewertet. Kopieren Sie die Lektion in Ihr eigenes Modul und ändern Sie sie, oder bauen Sie mit dem Menü Lab im Lektionseditor eine neue.