# OPNsense DHCP Relay: IP-Vergabe über VLAN-Grenzen hinweg
TL;DR / Management Summary DHCP-Anfragen (Broadcasts) enden normalerweise an der Grenze eines VLANs (Router). Mit DHCP Relay fungiert OPNsense als Vermittler: Sie nimmt die Anfrage im lokalen VLAN entgegen und leitet sie als Unicast an einen zentralen DHCP-Server (z.B. einen Windows Domain Controller, Artikel 494) weiter. Ein Senior Admin nutzt DHCP Relay, um die IP-Verwaltung an einer zentralen Stelle zu bündeln, anstatt auf jedem VLAN-Interface der Firewall einen eigenen DHCP-Pool zu pflegen.
# 1. Einführung & Funktionsweise
Broadcast zu Unicast.
Da Clients, die noch keine IP haben, nur via Broadcast kommunizieren können, erreichen sie den DHCP-Server nicht, wenn dieser in einem anderen Subnetz steht.
- Client: “Brauche IP!” (UDP Broadcast).
- Relay (OPNsense): Hört den Broadcast auf dem Interface LAN_VLAN10.
- Action: Packt die Anfrage in ein Unicast-Paket und schickt es an die IP des zentralen Servers (z.B.
10.0.0.5). - Server: Erkennt anhand der Relay-Agent-IP, aus welchem Subnetz die Anfrage kommt, und schickt eine passende IP zurück.
# 2. Einrichtung in der Praxis
Der Vermittler-Dienst.
# Schritt 1: Lokalen DHCP-Server deaktivieren
Sie können DHCP Server und DHCP Relay nicht gleichzeitig auf dem gleichen Interface betreiben.
Services -> DHCPv4 -> [Interface]: Deaktivieren.
# Schritt 2: Relay konfigurieren
Services -> DHCPv4 -> Relay.
- Interface(s): Wählen Sie alle Interfaces aus, auf denen OPNsense auf Anfragen “lauschen” soll.
- Destination server: Die IP Ihres zentralen DHCP-Servers (z.B. der Windows DC).
- Append circuit ID: Aktivieren (hilft dem Server bei der Identifizierung des Ports).
# 3. Deep Dive: DHCP Relay vs. IP Helper
Worte und Taten.
In der Cisco-Welt wird diese Funktion oft IP Helper Address genannt.
- Vorteil DHCP Relay: Es ist spezifisch für DHCP (Port 67/68).
- Vorteil IP Helper: Kann auch andere UDP-Broadcasts (wie Time, DNS, NetBIOS) weiterleiten.
- Empfehlung: Wenn OPNsense das Gateway für Ihre VLANs ist, nutzen Sie das integrierte Relay-Modul.
# 4. Day-2 Operations: Firewall-Regeln
Den Relay-Traffic erlauben.
Damit das Relay funktioniert, müssen Pakete fließen dürfen:
- VLAN Interface: Erlauben Sie
UDP 67/68vonAnyanAny(Broadcast). - LAN/Server Interface: Erlauben Sie den Traffic von der OPNsense-IP zum zentralen DHCP-Server.
# 5. Troubleshooting & “War Stories”
Wenn die Antwort nicht ankommt.
# Top 3 Fehlerbilder
-
Symptom: Client bekommt keine IP, Relay-Dienst läuft aber.
- Ursache: Der zentrale DHCP-Server kennt das Subnetz des Clients nicht (Scope fehlt).
- Lösung: Erstellen Sie am Windows DHCP Server einen neuen Bereich, der exakt zum Client-VLAN passt.
-
Symptom: Relay sendet Anfragen, aber bekommt keine Antworten.
- Ursache: Die Windows Firewall auf dem DHCP-Server blockiert UDP 67 von der IP der OPNsense.
- Lösung: IP der OPNsense in die Whitelist am Windows Server aufnehmen.
-
Symptom: “Loop” Warnungen im Log.
- Ursache: Das Relay-Interface wurde versehentlich auch auf dem Interface aktiviert, in dem der Server selbst steht.
# “War Story”: Der “Zirkuläre” Relay
Ein Admin wollte schlau sein und konfigurierte ein DHCP-Relay von VLAN 10 zu VLAN 20 und in einem anderen Menü ein Relay von VLAN 20 zurück zu VLAN 10. Das Ergebnis: Ein einzelnes Paket eines neuen Laptops löste eine unendliche Kette von Relay-Paketen aus. Innerhalb von Sekunden war die Firewall-CPU auf 100%, und das Netzwerk war durch “DHCP-Spam” lahmgelegt. Lehre: DHCP Relay ist ein unidirektionaler Pfad von den Clients zum Server. Prüfen Sie Ihre Topologie auf Schleifen!
# 6. Monitoring & Reporting
Status-Checks.
# Relay Logs
System -> Log-Files -> General (Filter: dhcrelay).
- Hier sehen Sie:
Forwarding request from 0.0.0.0 to 10.0.0.5. Wenn diese Zeile erscheint, arbeitet das Relay korrekt.
# 7. Fazit & Empfehlung
DHCP Relay ist das Standard-Werkzeug für sauberes IP-Management im Enterprise.
- Empfehlung: Nutzen Sie einen zentralen Windows DHCP-Server (für AD-Integration) oder ein IPAM-System und binden Sie alle VLANs via Relay an.
- Wichtig: Stellen Sie sicher, dass der zentrale Server hochverfügbar ist (Artikel 494), da sonst das gesamte Unternehmen keine IPs mehr bekommt.
# Anhang: Cheatsheet
| Aufgabe | Pfad / Befehl |
|---|---|
| Relay Aktivierung | Services -> DHCPv4 -> Relay |
| Dienst neustarten | pluginctl -s dhcrelay restart |
| Paket-Check (Shell) | tcpdump -i vtnet1 port 67 or port 68 |
| Log Pfad | /var/log/system/latest.log |