<style>
.reveal .slides {
background: url(https://hedgedoc.xinux.net/uploads/xinux-weiss.png) no-repeat;
background-position: right 10px bottom 10px;
background-size: 80px;
}
.reveal section { text-align: left; padding: 20px 40px !important; }
.reveal h2 { font-size: 34px !important; margin-bottom: 10px !important; }
.reveal ul li { font-size: 26px !important; line-height: 1.25 !important; margin-bottom: 6px !important; }
.reveal code { font-size: 24px !important; }
</style>
## Ziel: Zentrale Adressverwaltung mit DHCPv6
- **Maximale Kontrolle** über IP-Adressvergabe
- **Keine automatische Adressbildung** durch Hosts (A=0)
- **DHCPv6 verwaltet komplett** Adressen + Konfiguration
- **Flags im Router Advertisement**:
- **A=0**: Keine SLAAC-Adressbildung
- **M=1**: DHCPv6 für Adressvergabe
- **O=1**: Zusätzliche Konfiguration per DHCPv6
---
**Vorteile:**
- Zentrale Verwaltung aller Adressen
- Volle Kontrolle über Adresszuweisung
- Einheitliche Konfiguration aller Clients
---
## Phase 1: Router Discovery
**Host-Initialisierung:**
1. Link-Local-Adresse bilden (`fe80::/64`)
2. DAD durchführen für Link-Local
3. Router Solicitation senden
**Router Advertisement (RA):**
- Enthält Information:
-- A-Flag = 0 → Keine SLAAC
-- M-Flag = 1 → DHCPv6 für Adressen
-- O-Flag = 1 → Weitere Info per DHCPv6
- Host erkennt: "Ich brauche DHCPv6 für komplette Konfiguration"
---
## Phase 2: DHCPv6 Solicit/Advertise
**DHCPv6 Solicit (Host → Server)**
- Ziel: `ff02::1:2` (Alle DHCPv6-Server/Relays)
- Enthält: Client-DUID (Identifier)
- Frage: "Gibt es DHCPv6-Server?"
**DHCPv6 Advertise (Server → Host)**
- Nur von DHCPv6-Servern die antworten können
- Enthält: Server-DUID
- Signal: "Ich kann dir Adressen zuweisen"
---
## Phase 3: Adressanforderung (Request/Reply)
**DHCPv6 Request (Host → Server)**
- Explizite Anfrage für IPv6-Adresse
- Enthält gewünschte Konfigurationsparameter
- Client-DUID identifiziert den Host
**DHCPv6 Reply (Server → Host)**
- Zuweisung der IPv6-Adresse
- Enthält typischerweise:
- **IPv6-Adresse** + Präfix-Länge
- **Gültigkeitsdauer** (Preferred/Valid Lifetime)
- **DNS-Server**, Domänennamen
- Weitere Optionen
---
## Phase 4: Adressbestätigung und -verwaltung
**Renew/Rebind (Client-initiiert)**
- Client fragt Adressverlängerung an (bei 50% Lifetime)
- Bei keinem Reply: Versuch bei anderen Servern
- Bei Erfolg: Reply mit aktualisierten Zeiten
**Release (Client-initiiert)**
- Freiwillige Adressfreigabe
- Wird bei Herunterfahren gesendet
**Reconfigure (Server-initiiert)**
- Server kann Client zu Konfigurationsupdate auffordern
- Client muss dann Renew-Prozess starten
---
## Detaillierter Ablauf im Überblick
- Host-Start
- Link-Local + DAD
- RS → RA (A=0, M=1, O=1)
- DHCPv6 Solicit → Advertise
- DHCPv6 Request → Reply
- Adresse aktiv + regelmäßige Renews
---
## Zeitliche Abfolge
- RA liefert Netz-Parameter, aber keine Adresse
- DHCPv6 liefert komplette Konfiguration
- Beide Protokolle arbeiten zusammen
---
## Konfigurationsbeispiel
**Router Advertisement:**
- Präfix: 2001:db8:1000:1::/64
- A-Flag: 0 (keine SLAAC)
- M-Flag: 1 (DHCPv6 für Adressen)
- O-Flag: 1 (DHCPv6 für weitere Info)
- Router Lifetime: 1800 Sekunden
---
## DHCPv6 Reply
IPv6-Adresse: 2001:db8:1000:1::100/64
Valid Lifetime: 86400 Sekunden (1 Tag)
Preferred Lifetime: 14400 Sekunden (4 Stunden)
DNS-Server: 2001:db8::53
Domain: example.com
---
## M=1/O=1/A=0 DHCP + SLAAC
**(Stateful DHCPv6):**
- ✅ Zentrale Adressverwaltung
- ✅ Volle Kontrolle über Zuordnung
- ✅ Einheitliche DNS/Konfiguration
- ✅ Nachverfolgbarkeit der Clients
- ❌ Server-Infrastruktur benötigt
- ❌ Höhere Komplexität
---
## M=0/O=0/A=1 DHCP + SLAAC
**Reine SLAAC (A=1):**
- ✅ Einfache Implementierung
- ✅ Kein Server benötigt
- ✅ Schnelle Adressbildung
- ❌ Keine zentrale Kontrolle
- ❌ Begrenzte Konfigurationsmöglichkeiten
{"title":"IPv6 – Stateful DHCPv6 mit M/O-Flags","author":"Thomas Will","date":"2025-10-14"}