Einführung
Maple Yard bereitet eine Wochenendveranstaltung vor. Der Referenzplatz erhält seine Netzwerkeinstellungen bereits automatisch. Zwei neue Gästegeräte benötigen denselben Dienst, ohne Adressen zu belegen, die für Router oder feste Arbeitsplätze reserviert sind.
Du konfigurierst einen kleinen DHCP-Adressbereich, lässt beide Clients echte Leases beziehen und lädst das Veranstaltungsprogramm über das empfangene Gateway und DNS herunter. Vorausgesetzt werden nur grundlegende Terminaleingaben und das Wechseln zwischen benannten Tabs. Programmierung oder bisherige DHCP-Administration sind nicht erforderlich.
Bearbeite die Serverkonfiguration in Network Desk, führe Clientbefehle in Guest A und Guest B aus und beobachte die aktiven Knoten in Network Map. Dies sind isolierte Linux-Netzwerkknoten mit gemeinsamem Kernel. Ihre Verzeichnisse und Netzwerkzustände sind getrennt. Das Öffnen oder erneute Verbinden eines Tabs setzt den Kurs nicht zurück.
Platz für die neuen Geräte schaffen
In diesem Schritt wählst du einen sicheren dynamischen Adressbereich und lässt ihn vom DHCP-Server anbieten. Beginne in Network Map. Suche die Karte reference und wähle Request programme. Das Maple-Yard-Programm sollte erscheinen. Dies ist ein vorhandenes funktionierendes Beispiel, noch nicht dein neues Ergebnis.
Eine IPv4-Adresse kennzeichnet ein Gerät in diesem Netzwerk. Das /24 in 10.77.0.10/24 bedeutet, dass Adressen mit dem Anfang 10.77.0 zu diesem lokalen Subnetz gehören. Das Gateway leitet Verkehr zum Programmserver in einem anderen Subnetz. DNS übersetzt einen Namen wie programme.event.test in dessen Adresse. Eine empfangene Adresse allein beweist nicht, dass die weiteren Einstellungen nutzbar sind.
Wechsle zu Network Desk. Dieses Terminal beginnt in /home/labex/project/event-network. pwd zeigt das aktuelle Verzeichnis, cat eine Textdatei:
pwd
cat devices.tsv
Die MAC-Adresse ist die Identität des Geräts auf Verbindungsebene in diesem vorbereiteten Netzwerk. Sie unterscheidet sich von seiner IPv4-Adresse und dem lesbaren Tabnamen. Der Referenzplatz verwendet 10.77.0.10, Router und DNS verwenden 10.77.0.1. Lass diese festen Adressen unverändert. Der Gästebereich reicht von 10.77.0.100 bis einschließlich 10.77.0.109, mit der Maske 255.255.255.0, also demselben /24.
Lies die bearbeitbare Serverdatei:
cat dhcp.conf
Ihre Zeile conf-file bindet den vorbereiteten Referenzdienst ein. Behalte sie bei. dhcp-range legt erste Adresse, letzte Adresse, Subnetzmaske und Lease-Dauer fest. Eine Lease ist eine vorübergehende Zuweisung; 2h bedeutet zwei Stunden, kein dauerhaftes Eigentum.
Das folgende Here-Dokument schreibt die vollständige kleine Datei. > ersetzt deren bisherigen Inhalt. Das zitierte 'CONF' erhält den Block wörtlich; das abschließende CONF muss allein am Anfang seiner Zeile stehen. Kopiere den ganzen Block:
cat > dhcp.conf <<'CONF'
conf-file=/opt/labex/event-network/server-base.conf
dhcp-range=10.77.0.100,10.77.0.109,255.255.255.0,2h
CONF
--test prüft die Syntax, ohne einen weiteren Server zu starten. --conf-file wählt deine Datei:
dnsmasq --test --conf-file=dhcp.conf
Erwartet wird dnsmasq: syntax check OK.. Bei einem Fehler liest du die gespeicherte Datei mit cat, stellst den gezeigten Block wieder her und prüfst erneut. Starte einen funktionierenden Dienst nicht mit einem bekannten Syntaxfehler neu.
sudo führt diesen einzelnen Verwaltungsbefehl aus. systemctl restart lädt die geänderte Konfiguration in den Kursdienst namens event-dhcp:
sudo systemctl restart event-dhcp
Ein erfolgreicher Neustart gibt normalerweise nichts aus. Er fordert keine Leases für die Gäste an. Du hast vorbereitet, was der Server anbieten darf; die Clients müssen noch danach fragen. In diesem ersten Lab kündigt dnsmasq seine vorbereitete lokale Adresse als Standardgateway und DNS an. Im nächsten Lab lernst du, wie ausdrückliche Serveroptionen diese Werte steuern.
Jeden Gast eine Lease anfordern lassen
In diesem Schritt verbindest du beide neuen Clients durch echte DHCP-Anfragen. Wechsle zu Guest A. Dies ist die Administratorshell des isolierten Clients, bereits in seinem eigenen Arbeitsverzeichnis. Sein eth0 ist die Kursverbindung, nicht die Plattform-Schnittstelle. Führe diese Befehle nicht in Network Desk aus.
dhclient ist der bereitgestellte ISC-DHCP-Client. Der Kurs verwendet eine unveränderte lokale Kopie mit einem vorbereiteten Hook, der nur empfangene Optionen auf diesen isolierten Knoten anwendet. Er erfindet keine Adresse und ändert nicht den Plattform-Resolver. -4 wählt IPv4, -v zeigt den Austausch und -1 beendet diesen Bezugsversuch, falls kein Server antwortet. -cf client.conf wählt die bereitgestellten Einstellungen; -pf client.pid und -lf client.leases halten Prozess- und Lease-Zustand dieses Clients in dessen eigenem Verzeichnis. Die vorbereitete Lease-Datei ist anfangs leer; der Client schreibt seine tatsächlich empfangene Lease hinein. Behalte diese vorbereiteten Dateien bei.
Führe dies als eine Zeile aus:
dhclient -4 -v -1 -cf client.conf -pf client.pid -lf client.leases eth0
Achte auf DHCPDISCOVER, DHCPOFFER, DHCPREQUEST und DHCPACK. Beim ersten Austausch sucht der Client einen Server, erhält ein Angebot, fordert es an und erhält die Bestätigung. Eine bestehende Lease kann einen späteren Austausch verkürzen. Das abschließende bound to 10.77.0... kennzeichnet die zugewiesene Adresse. Die genaue Gästeadresse und Erneuerungszeit können innerhalb des Bereichs variieren.
ip -4 addr show zeigt die IPv4-Adressen der ausgewählten Schnittstelle:
ip -4 addr show dev eth0
Erwartet wird eine Adresse aus 10.77.0.100–10.77.0.109 mit /24.
Wechsle zu Guest B, der ein eigenes Verzeichnis und einen eigenen Clientzustand hat. Führe auch dort den vollständigen Befehl aus:
dhclient -4 -v -1 -cf client.conf -pf client.pid -lf client.leases eth0
ip -4 addr show dev eth0
Beide Adressen müssen im Bereich liegen und unterschiedlich sein. Bei No DHCPOFFERS received prüfst du zuerst den richtigen Tab und kehrst dann zu Network Desk zurück, um dhcp.conf zu lesen, dessen Syntax zu prüfen und event-dhcp neu zu starten. Wiederhole den Bezug nur auf dem noch wartenden Client. Lösche keine Lease-Dateien und setze die VM nicht wegen eines Tippfehlers zurück.
Lade die Seite in Network Map neu. Die beiden Gästekarten sollten jetzt ihre echten Adressen zeigen. Diese Beobachtung fordert keine Lease an und repariert auch keine.
Mit den Einstellungen das Programm abrufen
In diesem Schritt beweist du, dass jeder Client seine empfangene Konfiguration nutzen kann, und behältst eine echte Programmdatei. Beginne in Guest A.
ip route show default zeigt das Gateway für Ziele außerhalb dieses lokalen Subnetzes. /etc/resolv.conf enthält den DNS-Resolver dieses Clients:
ip route show default
cat /etc/resolv.conf
Erwartet werden Gateway 10.77.0.1 auf eth0 und nameserver 10.77.0.1. Der vorbereitete Router stellt auch DNS bereit. Das Programm liegt in einem anderen Subnetz; die Anfrage benötigt daher beide Einstellungen.
curl fordert eine HTTP-Ressource an. --noproxy '*' hält diese lokale Übung von externen Proxys fern; die Anführungszeichen erhalten * wörtlich. -f behandelt HTTP-Fehler als Fehlschläge, -s verbirgt die Fortschrittsanzeige und -S zeigt weiterhin Fehler. --max-time 5 begrenzt die Wartezeit auf fünf Sekunden. -o programme.txt speichert die Antwortbytes im aktuellen Clientverzeichnis:
curl --noproxy '*' -fsS --max-time 5 -o programme.txt http://programme.event.test:8080/programme.txt
cat programme.txt
Erwarteter Inhalt:
MAPLE YARD | Weekend programme
10:00 Welcome desk opens
11:00 Bicycle repair
13:00 Seed exchange
15:00 Community workshop
Wechsle zu Guest B und prüfe dessen unabhängig empfangene Einstellungen:
ip route show default
cat /etc/resolv.conf
Lade und lies auch dort das Programm:
curl --noproxy '*' -fsS --max-time 5 -o programme.txt http://programme.event.test:8080/programme.txt
cat programme.txt
Could not resolve host weist auf Namensauflösung hin; eine Zeitüberschreitung kann auf den Weg oder das Gateway hinweisen; Connection refused bedeutet, dass am gewählten Ziel kein Dienst Verbindungen auf diesem Port annimmt. Auch eine erfolgreiche HTTP-Antwort kann die falsche Ressource enthalten. Lies deshalb alle Programmeinträge.
Wenn eine Adresse vorhanden ist, die Anfrage aber scheitert, vergleiche Gateway und DNS mit den obigen Werten. Kehre zur richtigen Serverdatei zurück, statt Clienteinstellungen manuell zuzuweisen. Falls du eine Lease freigeben und erneut anfordern musst: -r gibt die aktuelle Lease dieses Clients frei und beendet seinen alten Clientprozess:
dhclient -4 -v -r -cf client.conf -pf client.pid -lf client.leases eth0
Verwende danach den bereits gelernten Bezugsbefehl und wiederhole den Download. Führe diese Wiederherstellung nur im Tab des betroffenen Gastes aus.
Lade abschließend Network Map neu. Wähle auf beiden Gästen und dem Referenzplatz Request programme. Alle drei müssen das vollständige Programm zurückgeben. Gespeicherte Dateien und echte Anfragen belegen eine nutzbare Konfiguration, zusätzlich zu einer plausibel aussehenden Serverdatei.

Vergleiche IPv4-Adresse, Gateway und DNS jeder Karte und lies danach die Programmantwort unter ihrem Button. Die zugewiesenen Gästeadressen können von diesem Beispiel abweichen.
Zusammenfassung
Du hast einen Bereich ohne feste Geräte gewählt, unterschiedliche echte DHCP-Leases bezogen, angewendetes Gateway und DNS gelesen und das vollständige Programm von beiden Clients heruntergeladen. Der Referenzplatz funktioniert weiterhin.
Dies sind vorübergehende Einstellungen in der aktuellen Trainings-VM. Sie garantieren weder Neustartbeständigkeit noch öffentlichen Internetzugriff oder Kompatibilität mit jedem DHCP-Client. Das nächste geführte Lab bereitet unabhängig eine neue Umgebung für eine Gerätereservierung und die Wiederherstellung der Konfiguration vor.



