# DHCP Relay Agent: IP-Vergabe über VLAN-Grenzen hinweg
TL;DR / Management Summary Da DHCP auf Broadcasts (Layer 2) basiert, erreichen Anfragen normalerweise niemals den DHCP-Server, wenn dieser in einem anderen VLAN steht. Der DHCP Relay Agent (oft auch IP Helper Address genannt) löst dieses Problem: Ein Router oder L3-Switch nimmt den lokalen Broadcast entgegen und leitet ihn als Unicast-Paket an den zentralen DHCP-Server weiter. Ein Senior Admin bündelt so die gesamte Adressverwaltung auf einem Server (z.B. Windows DC), anstatt auf jeder Firewall-Schnittstelle einzelne Pools zu pflegen.
# 1. Warum DHCP Relay?
Zentralisierung statt Fragmentierung.
Ohne Relay müssten Sie:
- In jedem VLAN einen DHCP-Server betreiben.
- Statische IP-Listen an 20 verschiedenen Stellen pflegen.
- Mit Relay: Ein Server (z.B.
10.0.1.5) verwaltet alle Subnetze. Der Router am Rand jedes VLANs vermittelt.
# 2. Funktionsweise des Relay Agent
Vom Ruf zum Brief.
- Client (VLAN 10): Schickt
DHCP Discover(Broadcast). - Router/Relay: Hört den Broadcast auf dem Interface in VLAN 10.
- Encapsulation: Er packt die Anfrage in ein IP-Paket.
- Source: IP des Routers in VLAN 10.
- Destination: IP des DHCP-Servers (z.B.
10.0.1.5).
- Server: Sieht die “Relay Agent IP” (GIADDR) und weiß: “Ah, das Paket kommt aus VLAN 10, ich muss eine IP aus Pool 10 vergeben”.
# 3. Deep Dive: GIADDR & Scope Selection
Die Logik des Servers.
Das Feld GIADDR (Gateway IP Address) im DHCP-Header ist der Schlüssel.
- Der Server vergleicht die GIADDR mit seinen konfigurierten Scopes (Bereichen).
- Gibt es kein passendes Subnetz für die GIADDR, antwortet der Server nicht.
- Wichtig: Stellen Sie sicher, dass am Windows/Linux DHCP-Server für jedes VLAN ein Bereich existiert, auch wenn der Server physisch gar nicht in diesem VLAN steht.
# 4. Day-2 Operations: Firewall & Sicherheit
Den Relay-Traffic erlauben.
Ein häufiger Fehler ist das Blockieren des Relay-Traffics in der Firewall (OPNsense, Artikel 553).
- Regel 1: Erlauben Sie
UDP 67vom VLAN-Interface zur IP des DHCP-Servers. - Regel 2 (Rückweg): Erlauben Sie
UDP 67vom DHCP-Server zurück zum VLAN-Interface. - Sicherheit: Nutzen Sie DHCP Option 82, um zusätzliche Infos über den physischen Port des Clients mitzuschicken (Schutz vor Fälschungen).
# 5. Troubleshooting & “War Stories”
Wenn die Antwort im Datennirvana verschwindet.
# Top 3 Fehlerbilder
-
Symptom: Client bekommt keine IP, Relay-Dienst zeigt aber Traffic.
- Ursache: Der DHCP-Server hat keinen freien Bereich für das Subnetz der GIADDR oder die IP des Relays ist dort nicht in der Whitelist.
- Lösung: Log-Files am DHCP-Server prüfen (z.B.
C:\Windows\System32\dhcp\DhcpSrvLog...).
-
Symptom: “Loop detected” im Relay Log.
- Ursache: Das Relay-Interface wurde versehentlich auch auf dem Interface aktiviert, in dem der DHCP-Server selbst steht.
-
Symptom: Ping zum Server geht, aber DHCP-Relay nicht.
- Ursache: Fragmentierung durch kleine MTU im Pfad (Artikel 730). DHCP-Pakete mit vielen Optionen können groß sein.
# “War Story”: Der “Double-Jump” Fehler
Ein Admin konfigurierte ein DHCP-Relay am Core-Switch und ein zweites Relay an der Firewall (OPNsense). Das Ereignis: Clients erhielten keine IPs. Die Ursache: Das erste Relay leitete an das zweite weiter, dieses wiederum an den Server. Durch die doppelte Kapselung war die GIADDR des ersten Netzes überschrieben worden. Der Server sah nur die IP des zweiten Routers und vergab IPs aus dem falschen Pool. Lehre: Nutzen Sie pro VLAN nur einen Relay Agent. Er sollte so nah wie möglich am Client (meist am ersten L3-Hop) platziert werden.
# 6. Monitoring & Reporting
Statistiken des Vermittlers.
# Relay Stats (Shell)
Nutzen Sie auf dem Relay-Router:
# Beispiel Cisco
show ip dhcp relay statistics
- KPI:
Packets Forwardedvs.Replies Received. Wenn die Replies deutlich niedriger sind, blockiert eine Firewall den Rückweg.
# 7. Fazit & Empfehlung
DHCP Relay ist das Standard-Szenario in Enterprise-Netzwerken.
- Empfehlung: Nutzen Sie den Windows DHCP Server als zentrales Ziel für alle Relays. Er bietet die beste GUI für die Verwaltung hunderter Scopes.
- Wichtig: Verwenden Sie für die Relay-Konfiguration immer die Loopback-IP des Zielservers oder dessen statische LAN-IP, niemals dynamische Adressen.
# Anhang: Cheatsheet (Cisco vs. OPNsense)
| Aufgabe | Cisco (IOS) | OPNsense |
|---|---|---|
| Relay aktivieren | ip helper-address <IP> |
Services -> DHCPv4 -> Relay |
| Quellschnittstelle | interface Vlan 10 |
Tab: Interfaces |
| Debugging | debug ip dhcp server packet |
Log File (Filter: dhcrelay) |