Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Adressen und Namen automatisch vergeben (DHCP, DNS)

Nach dieser Lektion: Ich kann erklären, wie ein Host eine Adresse und einen Namen bekommt.

Lektion, 55 Min.6 BefehleDHCP-und-DNS-Lab: dnsmasq für ein kleines Netzwerk im Browser konfigurieren

Einstecken, und alles läuft

Eine neue Kollegin steckt ihren Laptop an die Wanddose und öffnet die Firmenseite. Niemand hat eine Adresse getippt. Niemand hat einen Server eingetragen.

Zwei kleine Dienste haben das in unter einer Sekunde erledigt. Einer leiht dem Laptop eine Adresse. Der andere macht aus einem Namen eine Zahl.

Diese Lektion öffnet beide.

Am Ende dieser Lektion

Notiz

Ich kann erklären, wie ein Host eine Adresse und einen Namen bekommt.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
DHCPder Dienst, der Geräten auf Anfrage Adressen leiht
Leaseeine Adresse, die für eine feste Zeit geliehen ist12 Stunden
Scopeder Adressbereich, den ein DHCP-Server verleihen darf10.0.10.100 bis 10.0.10.150
Reservierungeine feste Adresse für ein Gerät, erkannt an seiner Hardware-Adresse
DNSder Dienst, der einen Namen in eine Adresse verwandelt
Recordeine Angabe, die ein DNS-Server über einen Namen führt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein Gerät ohne Adresse bittet um eine

Ein neues Gerät hat noch keine Adresse und weiß nicht, wo der Server steht. Also schickt es seine erste Nachricht an alle im Netz. Das ist ein Broadcast.

Ein DHCP-Server antwortet. Beide sprechen in vier Schritten, die man sich als Discover, Offer, Request und Acknowledge merkt.

Ein Beispiel: die vier Schritte

SchrittAbsenderWas er sagt
DiscoverGerätGibt es hier einen DHCP-Server?
OfferServerSie dürfen diese Adresse haben
RequestGerätIch nehme diese Adresse, bitte
AcknowledgeServerSie gehört Ihnen bis zu dieser Zeit

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Den Server und zwei Clients kennenlernen

Befehl
dnslab status

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

pc1 um eine Adresse bitten lassen

Befehl
sudo dnslab renew pc1

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Was die Antworten sagen

Der erste Run zeigt, dass server eine Adresse hat und pc1 und pc2 keine.

Der zweite Run wartet etwa drei Sekunden. Dann gibt er pc1 was given nothing: no DHCPOFFER came back aus. Das Discover ging hinaus, und kein Offer kam zurück.

Eine Adresse wird geliehen, nicht geschenkt

Ein Lease gilt eine feste Zeit. Das Gerät muss ihn verlängern, bevor er endet. Verschwindet es, geht die Adresse zurück in den Vorrat.

Der Scope ist der Vorrat, aus dem der Server verleihen darf. Eine Reservierung bindet eine feste Adresse an eine Hardware-Adresse, ein Drucker bekommt so immer dieselbe.

Ein Beispiel: eine Zeile der Lease-Datei

FeldBeispielBedeutung
Ablauf1761300000Wann der Lease endet, in Sekunden seit 1970. Null heißt nie
Hardware-Adresse02:00:00:00:00:0aWer den Lease hält
Adresse10.0.10.101Was verliehen wurde
Namekasse1Der Name, den das Gerät nannte, oder ein Stern
Client-ID01:02:00:00:00:00:0aEine zweite Kennung oder ein Stern

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Die Hardware-Adresse eines Clients lesen

Befehl
sudo ip netns exec pc1 ip -o link show eth0

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Konfigurationsdatei des Servers lesen

Befehl
cat /etc/dnsmasq.d/lab.conf

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Warum der Server nichts verleiht

Der erste Run gibt eine Zeile mit link/ether 02:00:00:00:00:01 aus. Mit dieser Hardware-Adresse unterscheidet der Server pc1 von pc2.

Der zweite Run zeigt drei Zeilen Kommentar und sonst nichts. Ohne Scope hat dnsmasq keine Adressen zum Verleihen.

DNS macht aus einem Namen eine Adresse

Menschen merken sich Namen. Router brauchen Zahlen. Ein DNS-Server führt Records, die beides verbinden.

Ein Gerät fragt seinen eingestellten DNS-Server. Der antwortet aus seinen Records oder fragt einen anderen Server und merkt sich die Antwort eine Weile.

DHCP sagt dem Gerät, welchen DNS-Server es nutzen soll.

Ein Beispiel: gängige Record-Typen

TypEr beantwortetBeispiel
AWelche IPv4-Adresse hat dieser Name?dateien.lab ist 10.0.10.20
AAAAWelche IPv6-Adresse hat dieser Name?dateien.lab ist eine lange Hexzahl
CNAMEIst dieser Name ein anderer Name?www ist dasselbe wie shop
MXWelcher Server nimmt Mail für diese Domain an?mail.example.org
PTRWelchen Namen hat diese Adresse?10.0.10.20 ist dateien.lab
TXTWelche Notiz hängt daran?Ein kurzer Text

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Den Server nach einem Namen fragen

Befehl
sudo ip netns exec server dig +noall +comments @10.0.10.1 files.lab

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die DNS-Serverliste von pc1 lesen

Befehl
cat /etc/netns/pc1/resolv.conf

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein häufiger Fehler

Warnung

Viele glauben, DHCP und DNS seien ein Dienst. Sie tun Verschiedenes. DHCP leiht Geräten Adressen. DNS beantwortet Fragen zu Namen. Ein Programm kann beides leisten, wie dnsmasq hier, und es bleiben zwei Aufgaben.

Weiterführend: einer Verlängerung zusehen

Sobald Ihre Konfiguration im Lab funktioniert, führen Sie sudo dnslab renew pc1 zweimal aus, mit einer Minute Abstand.

Lesen Sie jedes Mal die Lease-Datei des Servers mit sudo cat /run/dnslab/dnsmasq.leases. Bekommt pc1 dieselbe Adresse? Was hat sich in seiner Zeile geändert, und warum? Prüfen Sie die Datei mit Ihrer Funktion aktive_leases.

Über dieses Lab und seinen Quellcode: DHCP-und-DNS-Lab: dnsmasq für ein kleines Netzwerk im Browser konfigurieren

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.