6.5 DHCP, NAT und PAT
DHCP automatisiert die Netzwerkkonfiguration von Clients. NAT verändert Adressen zwischen unterschiedlichen Adressräumen, während NAPT beziehungsweise PAT zusätzlich Transportports übersetzt und dadurch viele interne IPv4-Verbindungen über wenige öffentliche Adressen führen kann. Die Verfahren lösen verschiedene Aufgaben und müssen getrennt von Routing, Firewallregeln und IPv6-Adresskonfiguration betrachtet werden.
Private IPv4-Adressbereiche
RFC 1918 reserviert drei IPv4-Bereiche für private Netze. Sie dürfen innerhalb von Organisationen geroutet werden, werden aber im globalen öffentlichen Internet nicht als gewöhnliche Ziel- oder Quelladressen weitergeleitet. Die alte Zuordnung zu den Klassen A, B und C ist nur noch historisch; geplant wird mit CIDR-Präfixen.
| Bereich | Präfix | Adressanzahl |
|---|---|---|
| 10.0.0.0 bis 10.255.255.255 | 10.0.0.0/8 | 16.777.216 |
| 172.16.0.0 bis 172.31.255.255 | 172.16.0.0/12 | 1.048.576 |
| 192.168.0.0 bis 192.168.255.255 | 192.168.0.0/16 | 65.536 |
Was NAT verändert
Network Address Translation verändert IPv4-Quell- oder Zieladressen beim Übergang zwischen Adressräumen. Das Gateway muss dabei auch abhängige Prüfsummen anpassen. Source NAT verändert typischerweise die Quelle ausgehender Pakete; Destination NAT verändert das Ziel, beispielsweise bei einer veröffentlichten internen Serveradresse.
Die Cisco-Begriffe Inside Local, Inside Global, Outside Local und Outside Global beschreiben die Sicht auf Adressen. In vielen einfachen Netzen sind Outside Local und Outside Global identisch. Die Begriffe sind hilfreich für Geräteausgaben, aber kein Ersatz für die klare Angabe, welche Adresse vor und nach der Übersetzung vorhanden ist.
| Begriff | Bedeutung |
|---|---|
| Inside Local | Adresse eines internen Hosts aus Sicht des internen Netzes |
| Inside Global | Adresse, mit der dieser interne Host außen dargestellt wird |
| Outside Global | tatsächliche globale Adresse eines externen Hosts |
| Outside Local | Adresse des externen Hosts, wie sie im internen Netz erscheint |
Statisches NAT, dynamisches NAT und PAT
Eine TCP-Verbindung wird an einem Beobachtungspunkt durch Protokoll, Quelladresse, Quellport, Zieladresse und Zielport unterschieden. PAT verwaltet für aktive Verbindungen passende Zuordnungen. Bei UDP verwendet das Gateway zeitlich begrenzte Zustände; für ICMP können andere Identifikatoren berücksichtigt werden.
Ports werden nicht zwingend nur aus einem historischen Bereich oberhalb 32767 gewählt. Die Implementierung bestimmt die externe Portauswahl und muss Konflikte vermeiden. Bei erschöpften Adressen oder Ports können keine neuen Zuordnungen angelegt werden.
| Verfahren | Zuordnung | Typischer Einsatz |
|---|---|---|
| statisches NAT | feste 1:1-Abbildung | dauerhaft veröffentlichte Adresse oder Kopplung überlappender Netze |
| dynamisches NAT | temporäre 1:1-Adresse aus einem Pool | ausgehende Verbindungen mit mehreren öffentlichen Adressen |
| NAPT / PAT | Adresse und TCP-/UDP-Port werden abgebildet | viele interne Verbindungen teilen eine öffentliche IPv4-Adresse |
| Portweiterleitung / DNAT | öffentliche Zieladresse und Port auf internen Dienst abbilden | gezielt eingehenden Dienst veröffentlichen |
NAT ist keine Firewall
Eine zustandsbehaftete PAT-Zuordnung führt dazu, dass eine unerwartete neue Verbindung von außen ohne Portweiterleitung meist keinem internen Host zugeordnet werden kann. Das ist ein Nebeneffekt des Übersetzungszustands, aber kein vollständiges Sicherheitskonzept. NAT prüft nicht automatisch Benutzerrechte, Anwendungsinhalte oder Schadsoftware.
Eine Firewall setzt ausdrücklich Regeln durch und protokolliert Entscheidungen. NAT und Firewall werden häufig auf demselben Gerät kombiniert, bleiben technisch jedoch verschiedene Funktionen. Die interne Adressstruktur zu verbergen bietet nur begrenzten Zusatznutzen und ersetzt weder Segmentierung noch Härtung.
Nutzen und Grenzen von NAT/PAT
| Nutzen | Grenze oder Folge |
|---|---|
| spart öffentliche IPv4-Adressen | erzeugt Zustand und begrenzt die Zahl gleichzeitiger Zuordnungen |
| interne Adressen bleiben bei Providerwechsel stabil | öffentliche Dienste und Abhängigkeiten müssen dennoch angepasst werden |
| kann überlappende private Netze verbinden | Adressübersetzung und Fehlersuche werden komplex |
| ermöglicht Portweiterleitung | eingehende Erreichbarkeit muss ausdrücklich geplant werden |
| verbirgt interne Adressen | ist kein Ersatz für Firewall und Zugriffsschutz |
| CGNAT spart Provideradressen | erschwert eingehende Dienste, Protokollierung und eindeutige Kundenzuordnung |
NAT-Konfiguration, Prüfung und Fehlersuche
Die konkrete Syntax hängt vom Hersteller ab. In Cisco-IOS-artigen Konfigurationen werden Schnittstellen als innen oder außen markiert, übersetzbare Quellen ausgewählt und statische Regeln, Pools oder Overload/PAT eingerichtet. Vor jeder Änderung müssen Richtung, Adressräume und erwarteter Datenfluss skizziert werden.
- Existiert vor NAT eine passende Route?
- Trifft die Auswahlregel wirklich den Quellverkehr?
- Wurde eine Zuordnung erzeugt und läuft ihr Timer noch?
- Ist der Rückweg über dasselbe übersetzende Gerät geführt?
- Sind Protokolle mit eingebetteten Adressen durch passende Verfahren unterstützt?
- Ist der Port- oder Adresspool erschöpft?
| Schritt | Cisco-IOS-artiges Beispiel beziehungsweise Prüfung |
|---|---|
| Innen/Außen festlegen | `ip nat inside` und `ip nat outside` an den richtigen Interfaces |
| statische Abbildung | `ip nat inside source static …` |
| dynamischer Pool | `ip nat pool …` plus passende Auswahlregel |
| PAT aktivieren | `ip nat inside source … overload` |
| Zuordnungen anzeigen | `show ip nat translations` |
| Statistik prüfen | `show ip nat statistics` |
| Fehler eingrenzen | Routing, ACL-Auswahl, Interface-Rolle, Rückweg und Übersetzungstabelle vergleichen |
NAT in IPv6-Netzen
IPv6 benötigt für gewöhnliche Endsystemadressierung kein PAT zur Adressersparnis. Globale IPv6-Adressen und eine zustandsbehaftete Firewall ermöglichen das Ende-zu-Ende-Adressmodell, ohne jedes interne System ungefiltert erreichbar zu machen.
Für besondere Übergänge existieren dennoch Übersetzungsverfahren. NAT64 übersetzt zwischen IPv6- und IPv4-Kommunikation und wird häufig mit DNS64 kombiniert. NPTv6 übersetzt IPv6-Präfixe zustandslos, ist aber kein portübersetzendes PAT. Diese Verfahren sind keine Begründung, IPv6 grundsätzlich wie ein privates IPv4-Netz mit NAT zu planen.
| Verfahren | Aufgabe |
|---|---|
| NAT64 | IPv6-Clients erreichen IPv4-Ziele über Protokollübersetzung |
| DNS64 | erzeugt passende synthetische AAAA-Antworten für NAT64 |
| NPTv6 | zustandslose Übersetzung zwischen IPv6-Präfixen |
| Firewall ohne NAT | steuert eingehende und ausgehende IPv6-Verbindungen anhand expliziter Regeln |
DHCPv4 verteilt mehr als eine Adresse
DHCPv4 vergibt Netzparameter als zeitlich begrenztes Lease. Neben der IPv4-Adresse können unter anderem Präfix beziehungsweise Subnetzmaske, Standardgateway, DNS-Server, Domain-Suchliste und weitere Optionen übertragen werden. Ein Client darf nicht annehmen, jede mögliche Option werde immer bereitgestellt.
Automatische beziehungsweise dynamische Vergabe wählt eine freie Adresse aus einem Pool. Eine Reservierung ordnet einem bekannten Client eine bestimmte Konfiguration zu. BOOTP arbeitete stärker mit festen Zuordnungen und gilt heute hauptsächlich als historischer Vorläufer; DHCP behielt Teile des Nachrichtenformats und der Relay-Logik bei.
| DHCPv4-Element | Bedeutung |
|---|---|
| Scope / Pool | Adressbereich und gemeinsame Optionen eines Netzes |
| Ausschluss | Adressen im Bereich, die nicht dynamisch vergeben werden |
| Reservierung | vorbestimmte Zuordnung für einen Client-Identifier beziehungsweise ein Gerät |
| Lease | befristetes Nutzungsrecht an einer Konfiguration |
| Option | zusätzlicher Parameter wie Router oder DNS-Server |
| Relay | leitet DHCP-Nachrichten über Routergrenzen zum Server weiter |
DORA: Discover, Offer, Request, Acknowledge
Ein neuer Client sendet DHCPDISCOVER, weil er Server und eigene IPv4-Konfiguration noch nicht kennt. Server können DHCPOFFER senden. Mit DHCPREQUEST wählt der Client ein Angebot und macht seine Auswahl auch für andere Server sichtbar. DHCPACK bestätigt das Lease; DHCPNAK kann eine ungültige Anforderung ablehnen.
Ein DHCP-Relay empfängt lokale Clientnachrichten und leitet sie als Unicast zum entfernten Server weiter. Es liefert Informationen über das Clientnetz, damit der Server den richtigen Pool auswählt. Ohne Relay erreicht ein Broadcast keinen Server in einem anderen IP-Netz.
Lease verlängern und freigeben
Ein Lease endet nicht erst plötzlich am Ablaufzeitpunkt. Der Client versucht zunächst bei T1, üblicherweise nach 50 Prozent der Lease-Zeit, den bisherigen Server per DHCPREQUEST zu erreichen. Bei T2, üblicherweise nach 87,5 Prozent, versucht er die Verlängerung breiter. Diese Standardwerte können durch den Server beeinflusst werden.
| Ereignis | Bedeutung |
|---|---|
| T1 / RENEWING | Client fragt bevorzugt den bisherigen Server nach Verlängerung |
| T2 / REBINDING | Client versucht jeden erreichbaren DHCP-Server zu nutzen |
| Ablauf | Adresse darf ohne gültiges Lease nicht weiterverwendet werden |
| DHCPRELEASE | Client gibt das Lease freiwillig zurück; Zustellung ist nicht garantiert |
| DHCPDECLINE | Client meldet eine angebotene Adresse als offenbar bereits benutzt |
DHCPv6 und SLAAC
DHCPv6 ist ein eigenes Protokoll und keine einfache Portvariante von DHCPv4. Es verwendet UDP 546 am Client und UDP 547 an Server beziehungsweise Relay. Stateful DHCPv6 kann Adressen und Präfixe vergeben; Stateless DHCPv6 liefert nur weitere Konfigurationsparameter. Prefix Delegation versorgt Router mit einem delegierten IPv6-Präfix.
SLAAC bildet Adressen aus Router Advertisements. DHCPv6 kann anstelle von oder zusätzlich zu SLAAC verwendet werden. Das Standardgateway wird bei IPv6 grundsätzlich über Router Advertisements gelernt, nicht als gewöhnliche DHCPv6-Gateway-Option. Die Flags in Router Advertisements und die Clientimplementierung beeinflussen das Verhalten.
| Verfahren | Adressvergabe | Weitere Parameter |
|---|---|---|
| SLAAC | aus Präfix des Router Advertisements | unter anderem Routerinformationen; DNS je nach RA-Option |
| Stateless DHCPv6 | nicht durch DHCPv6 | beispielsweise DNS- oder Domaininformationen |
| Stateful DHCPv6 | Server verwaltet IPv6-Adresszuordnung | weitere Optionen möglich |
| DHCPv6 Prefix Delegation | delegiert ein Präfix an einen Router | Router bildet daraus Netze für nachgelagerte Segmente |
DHCP absichern
Ein nicht autorisierter DHCP-Server kann falsche Gateways oder DNS-Server verteilen und Verkehr umleiten. DHCP-Starvation versucht, einen Pool durch viele vorgetäuschte Clients zu erschöpfen. Switchfunktionen wie DHCP Snooping können vertrauenswürdige Serverports festlegen und Bindings für weitere Schutzmechanismen erzeugen.
| Risiko | Gegenmaßnahme |
|---|---|
| Rogue DHCP | DHCP Snooping, kontrollierte Server-/Relaypfade und Monitoring |
| Pool-Erschöpfung | Port Security, Rate Limits, Snooping und ausreichend dimensionierte Pools |
| Adresskonflikt | Ausschlüsse, Reservierungen, Konflikterkennung und saubere statische Adressplanung |
| falscher Scope | Relayinformation, VLAN-Zuordnung und Poolauswahl prüfen |
| Manipulierte Optionen | Zugang zum lokalen Netz begrenzen und kritische Dienste zusätzlich authentisieren |
DHCP prüfen und Fehler finden
| Beobachtung | Prüfung |
|---|---|
| Client erhält keine Adresse | Link/VLAN, Discover, Relay, Serverdienst und freien Pool prüfen |
| Client nutzt 169.254.0.0/16 | DHCPv4 ist fehlgeschlagen; APIPA/Link-Local ist kein Server-Lease |
| Adresse stimmt, Gateway oder DNS nicht | Optionen im richtigen Scope und Client-Lease kontrollieren |
| nur andere Subnetze funktionieren nicht | Relay und Auswahl des Clientnetzes prüfen |
| Lease wird nicht verlängert | Unicast zu Server, T1/T2-Ablauf, Firewall und Serverbindung untersuchen |
| doppelte Adresse | statische Adressen, Ausschlüsse, Reservierungen und mehrere DHCP-Server abgleichen |
| IPv6 verhält sich unerwartet | Router Advertisements, M/O-Flags, SLAAC und DHCPv6 getrennt mitschneiden |
Quellen zur fachlichen Prüfung
- RFC Editor: RFC 1918 - Address Allocation for Private Internets
- RFC Editor: RFC 3022 - Traditional IP Network Address Translator
- RFC Editor: RFC 6888 - Common Requirements for Carrier-Grade NATs
- RFC Editor: RFC 6146 - Stateful NAT64
- RFC Editor: RFC 6296 - IPv6-to-IPv6 Network Prefix Translation
- RFC Editor: RFC 2131 - Dynamic Host Configuration Protocol
- RFC Editor: RFC 2132 - DHCP Options and BOOTP Vendor Extensions
- RFC Editor: RFC 8415 - DHCP for IPv6
- RFC Editor: RFC 4862 - IPv6 Stateless Address Autoconfiguration
PDF-Download nach Anmeldung
Zum Schutz der Unterrichtsunterlagen steht der PDF-Download ausschließlich angemeldeten Nutzern zur Verfügung.
