FachgrundlageSprint 5fachsystematische Phase⏱ 8 h

Welche Dienste ein Client braucht, bevor sich jemand anmelden kann, wie DHCP, DNS, NTP, LDAP, HTTP und SMTP arbeiten, wo sie im OSI-Modell liegen und in welcher RFC sie stehen.

Sprint 5 · InputBrückenstufe 3

Eure Story: Ihr richtet DHCP, DNS, NTP, LDAP, Web und Mail ein und testet jeden Dienst, damit die Anmeldung in jeder Schicht klappt.

Input für eure Storycard. Holt euch die Karte, die eure Storycard gerade braucht. Grundlage für AB 1 bis 7.

Du gehst in der Szene DORA und eine DNS-Auflösung Schritt für Schritt durch, liest die Abschnitte zu den Diensten, die du einrichten wirst, und prüfst dich mit drei Fragen.

0 von 7 AB abgehakt AB-Liste öffnen

Dienste des Schulungszentrums im OSI-Modell mit Transportprotokoll und Port7 Anwendung6 Darstellung5 Sitzung4 Transport3 Vermittlung2 Sicherung1 BitübertragungDHCPDNSNTPKerberosLDAPHTTPSMTPIMAPTLS: LDAPS, HTTPS, IMAPS, STARTTLS (passt nicht sauber in eine Schicht)UDP67/68 DHCP · 53 DNS · 123 NTP · 88TCP53 · 88 · 389/636 · 80/443 · 25 · 993IPv4 10.30.0.0/24 · ICMP für ping und tracerouteEthernet · ARP · Switch · DHCP-Discover als BroadcastKupfer, Glasfaser, virtueller Adapter der VM
Das OSI-Modell mit den Diensten des Schulungszentrums: oben in Schicht 7 DHCP, DNS, NTP, Kerberos, LDAP, HTTP, SMTP und IMAP, darunter TLS, das sich nicht sauber einer Schicht zuordnen lässt, in Schicht 4 UDP und TCP mit den Ports, darunter IPv4, Ethernet und das Kabel. Eigene Darstellung für den Unterricht.

Die Szene: DORA und DNS Schritt für Schritt

Ein Client in Raum A wird eingeschaltet. Klick dich durch: Wie kommt er zu seiner Adresse, wie findet er den Domänencontroller? Achte bei jedem Schritt darauf, welche Schicht gerade arbeitet und wer an wen sendet. Mit dem Knopf oben rechts öffnest du die Szene im Vollbild.

Die Szene lädt. Ohne JavaScript siehst du sie nicht; den Ablauf findest du in den Abschnitten zu DHCP und DNS darunter.

Der wichtigste Satz auf dieser Seite: Die Anmeldung an der Domäne ist eine Kette: Adresse, Name, Zeit, Kerberos, Verzeichnis. Reißt ein Glied, sieht der Fehler am Platz fast immer gleich aus. Deshalb testest du jedes Glied einzeln.

Die Kette vor der Anmeldung

Schritt Dienst Was der Client braucht Fehlt es, dann …
1 DHCP Adresse, Maske, Gateway, DNS-Server, Domäne, NTP-Server Adresse aus 169.254.0.0/16, nichts geht
2 DNS den Domänencontroller über SRV-Einträge, dann seine Adresse „Domäne nicht erreichbar“, obwohl ping auf die Adresse geht
3 NTP dieselbe Zeit wie der Domänencontroller Kerberos lehnt ab, Anmeldung scheitert oder fällt auf zwischengespeicherte Daten zurück
4 Kerberos ein Ticket für Benutzer und Dienste keine Netzlaufwerke, keine Richtlinien
5 LDAP Gruppen, Richtlinien, Benutzerdaten Anmeldung ja, aber falsche Rechte
6 HTTP, SMTP Portal und Benachrichtigungen Trainer sehen keine Buchungen

Für das Einkreisen eines Fehlers heißt das: von unten nach oben testen. Erst die Adresse, dann den Namen, dann die Zeit, dann den Dienst. Wer mit dem Dienst anfängt, sucht oft an der falschen Stelle.

DHCP: vier Nachrichten und eine Frist

DHCPv4 (RFC 2131) läuft über UDP, der Client sendet von Port 68, der Server antwortet auf Port 67. Weil der Client noch keine Adresse hat, beginnt er mit einem Broadcast. Die vier Nachrichten heißen nach ihren Anfangsbuchstaben DORA:

Nachricht von, an Inhalt
DHCPDISCOVER Client 0.0.0.0, an 255.255.255.255 Ich brauche eine Adresse, hier ist meine MAC-Adresse.
DHCPOFFER Server, an den Client Ich biete dir diese Adresse mit diesen Optionen an.
DHCPREQUEST Client, als Broadcast Ich nehme das Angebot dieses Servers an.
DHCPACK Server, an den Client Bestätigt, die Adresse gehört dir für die Lease-Zeit.

Eine Adresse wird nur für eine Frist vergeben, die Lease-Zeit. Nach RFC 2131, Abschnitt 4.4.5, versucht der Client standardmäßig nach der Hälfte der Frist (T1) beim selben Server zu verlängern, nach 87,5 % (T2) bei jedem Server. Antwortet keiner, verliert er die Adresse am Ende der Frist.

Mit der Adresse kommen Optionen (RFC 2132): Router (Option 3), DNS-Server (6), Domänenname (15), NTP-Server (42). Eine Reservierung bindet eine Adresse fest an eine MAC-Adresse. Im Schulungszentrum verteilt Kea auf srv02 die Adressen.

DNS: Namen, Zonen und Wegweiser

DNS (RFC 1034 und 1035) übersetzt Namen in Adressen und zurück. Anfragen laufen meist über UDP Port 53, große Antworten und Zonentransfers über TCP Port 53. Eine Zone ist der Teil des Namensraums, für den ein Server zuständig ist, hier szt3.internal. Rückwärtsanfragen laufen über eine eigene Zone, für 10.30.0.0/24 heißt sie 0.30.10.in-addr.arpa.

Typ Bedeutung Beispiel im Schulungszentrum
A Name zu IPv4-Adresse srv02.szt3.internal zu 10.30.0.11
PTR Adresse zu Name 11.0.30.10.in-addr.arpa zu srv02.szt3.internal
CNAME Alias auf einen anderen Namen portal.szt3.internal als Alias für srv02
MX Mailserver einer Domäne Mail an @szt3.internal geht an srv02
SRV welcher Rechner einen Dienst anbietet, mit Port (RFC 2782) _ldap._tcp.szt3.internal zu srv01, Port 389

In einer Active-Directory-Domäne sind die SRV-Einträge die Wegweiser: Ein Windows-Client fragt nicht „wo ist srv01?“, sondern „wer ist Domänencontroller für szt3.internal?“, also nach _ldap._tcp.dc._msdcs.szt3.internal. Samba legt diese Einträge beim Einrichten der Domäne selbst an. Deshalb darf ein Client der Domäne nur DNS-Server fragen, die die Zone kennen. Namen außerhalb gibt Samba an einen Weiterleiter weiter.

NTP: Zeit von oben nach unten

NTP (Version 4, RFC 5905) gleicht Uhren über UDP Port 123 ab. Die Server bilden eine Hierarchie. Der Stratum-Wert sagt, wie weit ein Server von einer Referenzuhr entfernt ist: Stratum 1 hängt direkt an einer Referenzuhr, jeder Schritt nach unten zählt eins dazu, 16 heißt nicht synchronisiert. Stratum ist ein Abstand in der Hierarchie, keine Note für die Genauigkeit.

Im Schulungszentrum holt sich srv02 die Zeit mit chrony aus dem öffentlichen NTP-Pool und verteilt sie. Windows-Clients einer Domäne fragen dagegen über die Domänenhierarchie (w32time, Typ NT5DS) ihren Domänencontroller und erwarten signierte Antworten. Deshalb läuft auch auf srv01 chrony: Es holt die Zeit von srv02 und signiert über den Samba-Socket ntp_signd.

Warum das so wichtig ist: Kerberos-Tickets tragen Zeitstempel. Weicht die Uhr eines Clients mehr als die erlaubte Toleranz vom Domänencontroller ab, lehnt der KDC ab. In Windows-Domänen und bei Samba ist die Toleranz in der Standardeinstellung 5 Minuten.

LDAP: das Verzeichnis abfragen

LDAPv3 (RFC 4511) ist das Protokoll, mit dem Programme das Verzeichnis lesen und ändern, über TCP Port 389. Eine Abfrage hat eine Basis (wo im Baum, als Distinguished Name, z. B. OU=Trainer,OU=Benutzer,OU=Schulungszentrum,DC=szt3,DC=internal), einen Filter (z. B. (sAMAccountName=G_Trainer)) und eine Liste von Attributen.

Wer sich mit Benutzername und Passwort anmeldet (Simple Bind), schickt das Passwort im Klartext, wenn die Verbindung nicht verschlüsselt ist. Zwei Wege verschlüsseln: StartTLS schaltet auf Port 389 auf TLS um (RFC 4513), LDAPS spricht auf Port 636 von Anfang an TLS. Samba lehnt in der Standardeinstellung einen Simple Bind ohne Verschlüsselung ab.

HTTP und SMTP: die Nutzerdienste

HTTP (Semantik in RFC 9110) liefert das Schulungsportal. Methoden wie GET und POST sagen, was der Client will, Statuscodes wie 200, 301 oder 404, was passiert ist. HTTPS ist HTTP über TLS auf Port 443. Der Browser prüft dabei das Zertifikat: Steht der aufgerufene Name im Feld Subject Alternative Name, und ist es von einer Stelle ausgestellt, der er vertraut? Ein selbst signiertes Zertifikat verschlüsselt genauso gut, aber kein Browser kennt den Aussteller, also kommt eine Warnung.

SMTP (RFC 5321) transportiert Mail von Server zu Server, über TCP Port 25. Der Dialog ist lesbar: EHLO, MAIL FROM, RCPT TO, DATA, QUIT, jede Antwort mit einem dreistelligen Code. Welcher Server Mail für eine Domäne annimmt, steht im MX-Eintrag. Abgeholt wird Mail mit IMAP, verschlüsselt auf Port 993. Im Schulungszentrum übernimmt Postfix den Transport, Dovecot das Postfach, und nach außen geht nichts.

Netzwerkprotokolle, OSI-Modell und RFCs

Dienst OSI-Schicht Transport Port RFC
DHCPv4 7 UDP 67, 68 RFC 2131, Optionen RFC 2132
DNS 7 UDP, TCP 53 RFC 1034, RFC 1035, SRV RFC 2782
NTPv4 7 UDP 123 RFC 5905
Kerberos V5 7 UDP, TCP 88 RFC 4120
LDAPv3 7 TCP 389, LDAPS 636 RFC 4511, StartTLS RFC 4513
HTTP 7 TCP 80, HTTPS 443 RFC 9110
SMTP 7 TCP 25 RFC 5321
IMAP 7 TCP IMAPS 993 RFC 9051

Das OSI-Modell ist ein Ordnungsrahmen, kein Bauplan. Die Internetprotokolle wurden nach dem einfacheren TCP/IP-Modell entwickelt, deshalb passen manche Dinge nicht sauber in eine Schicht, etwa TLS oder ARP. Zum Einkreisen von Fehlern ist das Modell trotzdem das beste Werkzeug: Jede Schicht hat ihre Tests.

Eine RFC (Request for Comments) ist ein Dokument der IETF. Nicht jede RFC ist ein Standard; der Status steht oben im Dokument. Wörter wie MUST, SHOULD und MAY haben eine feste Bedeutung (RFC 2119, präzisiert in RFC 8174). Wer eine Fehlermeldung verstehen will, findet in der RFC oft den genauen Code, etwa die SMTP-Antwortcodes in RFC 5321, Abschnitt 4.2.

Testen mit Werkzeugen

Frage Linux Windows Schicht
Habe ich eine Adresse und ein Gateway? ip -br addr, ip route ipconfig /all 3
Kommen Pakete an, und über welchen Weg? ping, traceroute ping, tracert 3
Wird der Name aufgelöst? dig, host, nslookup nslookup, Resolve-DnsName 7
Ist der Port offen, lauscht der Dienst? ss -tulpn auf dem Server Test-NetConnection -Port 4
Stimmt die Zeit? chronyc tracking w32tm /query /status 7
Antwortet das Verzeichnis? ldapsearch nltest /dsgetdc: 7
Antwortet Web, stimmt das Zertifikat? curl -I, openssl s_client curl.exe -I 7
Nimmt der Mailserver an? swaks, telnet … 25 Test-NetConnection -Port 25 7

Ein Test hat immer drei Teile: was du eingibst, was du erwartest und was du siehst. Steht im Protokoll nur „geht“, kann niemand den Test wiederholen.

Warum ein zweiter DNS-Server von außen in einer Domäne schadet

Es klingt nach Ausfallsicherheit: Neben dem Domänencontroller noch den Resolver des Standorts als zweiten DNS-Server verteilen. Windows fragt aber nicht beide gleichzeitig. Antwortet der erste nicht schnell genug, fragt der Client den nächsten und bleibt eine Zeit lang bei ihm. Der Resolver außen kennt szt3.internal nicht und antwortet „gibt es nicht“. Für den Client ist das eine gültige Antwort, er sucht nicht weiter. Ausfallsicherheit für DNS in einer Domäne heißt deshalb: ein zweiter Domänencontroller, nicht ein fremder Resolver.

Wie Windows die Zeit in der Domäne holt

Der Dienst w32time arbeitet in einer Domäne standardmäßig mit dem Typ NT5DS: Ein Mitglied sucht sich über DNS einen Domänencontroller und holt dort die Zeit. Der Domänencontroller signiert seine Antwort mit dem Computerkonto des Clients; Windows nimmt unsignierte Antworten in dieser Betriebsart nicht an. Samba überlässt das Signieren dem NTP-Dienst, deshalb braucht chrony auf srv01 die Zeile ntpsigndsocket und Leserechte auf den Socket. Mit w32tm /query /configuration siehst du den Typ, mit w32tm /query /source die Quelle.

RFCs lesen, ohne sich zu verlaufen

Lies zuerst Status, Inhaltsverzeichnis und Abschnitt „Terminology“. Such dann gezielt nach dem Begriff aus deiner Fehlermeldung. Prüfe, ob eine neuere RFC die alte ersetzt („Obsoleted by“) oder ergänzt („Updated by“): HTTP etwa stand früher in RFC 2616, heute in RFC 9110 bis 9114. Und schau in die Errata, bevor du eine Zahl aus einer alten RFC übernimmst.

Die Begriffe dieser Fachgrundlage

Begriff Bedeutung Im Schulungszentrum
DORA die vier DHCP-Nachrichten Discover, Offer, Request, Ack jeder Client beim Einschalten
Lease befristete Vergabe einer Adresse Kea auf srv02 vergibt 10.30.0.100 bis 10.30.0.199
T1, T2 Zeitpunkte der Verlängerung, standardmäßig 50 % und 87,5 % der Lease Client verlängert bei srv02
Reservierung feste Zuordnung MAC-Adresse zu IP-Adresse Trainerplätze und Büro
DHCP-Option Zusatzangabe in der DHCP-Antwort Router, DNS-Server, Domäne, NTP-Server
Zone Teil des Namensraums mit einem zuständigen Server szt3.internal, 0.30.10.in-addr.arpa
SRV-Eintrag DNS-Eintrag, der einen Dienst mit Rechner und Port nennt _ldap._tcp und _kerberos._udp zeigen auf srv01
Weiterleiter DNS-Server, an den Anfragen für fremde Namen gehen Samba gibt sie an 10.30.0.1 weiter
Stratum Abstand eines NTP-Servers zur Referenzuhr srv01 eine Stufe unter srv02
Zeitversatz Unterschied zwischen zwei Uhren Kerberos verträgt höchstens 5 Minuten
NT5DS Windows-Zeitbezug über die Domänenhierarchie Windows-Clients holen die Zeit von srv01
Distinguished Name eindeutiger Pfad eines Eintrags im Verzeichnis OU=Trainer,OU=Benutzer,OU=Schulungszentrum,DC=szt3,DC=internal
StartTLS, LDAPS verschlüsseltes LDAP auf Port 389 nach Umschalten oder auf Port 636 Abfrage von srv02 an srv01
Subject Alternative Name Feld im Zertifikat mit den Namen, für die es gilt portal.szt3.internal
MX-Eintrag nennt den Mailserver einer Domäne Mail an @szt3.internal geht an srv02
Relay Weitergabe von Mail an fremde Domänen ist im Schulungszentrum gesperrt
Zum Nachlesen