Was du machst
Wenn ein Computer einem Netzwerk beitritt, braucht er eine Adresse und einen Weg, einen Namen wie files.lab in eine Adresse zu verwandeln. Meist erledigt ein einziges kleines Programm beides: DHCP verteilt Adressen und DNS beantwortet Namen. Hier ist dieses Programm dnsmasq, und es läuft auf einem Server, auf dem nichts eingerichtet ist. Du fragst es nach einer Adresse und nach einem Namen und siehst, wie es nein sagt. Du behebst es nicht: Die Konfiguration gehört zur eigentlichen 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 für dich allein, mit einem kleinen Netzwerk darin. Deshalb braucht es etwas länger als ein Container, bis es läuft. 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. Wenn du zuschauen oder eigene Befehle tippen willst, 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 Computer ist ein eigener Netzwerk-Namespace mit eigenen Adressen. dnslab status listet sie auf. Der server hat die Adresse 10.0.10.1, und pc1 und pc2 haben keine: Unter ihnen steht nichts. Dort steht auch, dass dnsmasq läuft.
dnslab 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. Frage nach einer Adresse
Ein Computer ohne Adresse fragt das ganze Netzwerk nach einer, und ein DHCP-Server antwortet. dnslab renew lässt pc1 fragen und wartet etwa drei Sekunden. Die Antwort ist, dass pc1 nichts bekommen hat: Niemand hat geantwortet, weil dnsmasq nicht gesagt wurde, dass es welche verteilen soll.
sudo dnslab renew pc1Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
3. Frage nach einem Namen
dig fragt einen DNS-Server nach einem Namen, hier den auf dem Server, 10.0.10.1. Du fragst vom Server selbst aus, weil pc1 keine Adresse hat, von der aus er fragen könnte. Im Kopf steht status: REFUSED und ANSWER: 0: dnsmasq weiß nichts über files.lab und hat keinen Ort, wo es nachsehen könnte.
sudo ip netns exec server dig +noall +comments @10.0.10.1 files.labHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
4. Lies die Konfiguration
dnsmasq liest seine Einstellungen aus Dateien in /etc/dnsmasq.d. Das Lab hat dir eine hinterlassen, lab.conf. Sie enthält drei Zeilen Kommentar und sonst nichts, und deshalb verteilt es nichts.
cat /etc/dnsmasq.d/lab.confHier 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 gesehen, was fehlt: Adressen zum Verteilen und Namen zum Beantworten. Den Server dazu zu bringen, beides zu tun, 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. Diese Lektion wird in einem VM-Lab bearbeitet: Jede lernende Person hat eine eigene Ubuntu-Maschine mit einem Server und zwei Clients darin, und ein Klick auf „Ausführen“ tippt in ihr Terminal und zeigt, was ausgegeben wurde. Das Lab selbst hat eine Prüfung, die dnsmasq aus der gespeicherten Datei neu startet und die Clients noch einmal fragen lässt. Kopieren Sie die Lektion in Ihr eigenes Modul und ändern Sie sie, oder bauen Sie mit dem Menü Lab im Lektionseditor eine ganz neue.