Sophos Firewall DHCP Relay einrichten und testen
Ein DHCP Relay leitet DHCP-Anfragen aus einem Client-Netz an einen Server in einem anderen Netz weiter. Auf der Sophos Firewall öffnet man Network > DHCP, legt unter Relay einen Agent für das Client-Interface an und trägt die IP-Adresse des DHCP-Servers ein.
Kurzablauf: Client-Interface auswählen, DHCP-Server eintragen, passenden Scope und Rückweg auf dem Server prüfen, Lease erneuern und den Austausch mit port 67 or port 68 mitschneiden. Relay through IPsec wird nur bei policy-based IPsec aktiviert, nicht bei route-based VPN.
Das Beispiel verwendet das Client-Netz 10.20.0.0/24, das Relay-Interface 10.20.0.1 und den DHCP-Server 172.16.16.17.
Voraussetzungen und Grenzen
Der DHCP-Server muss einen Scope für 10.20.0.0/24 besitzen. Die Sophos Firewall verteilt die Lease nicht selbst; sie verwendet die Adresse des Relay-Interfaces, damit der Server den richtigen Scope auswählt. Soll die Firewall Adressen direkt im angeschlossenen Client-Netz verteilen, passt stattdessen Sophos Firewall als DHCP-Server einrichten. DHCP-Optionen werden auf dem Server gepflegt, der die Lease ausstellt.
Für die Konfiguration gelten diese Grenzen:
- Das Relay-Interface liegt im selben Subnetz wie die Clients und darf nicht das Interface des DHCP-Servers sein.
- Relay-Agenten sind auf physischen und virtuellen Interfaces wie VLAN, Wireless oder Bridge möglich, nicht aber auf einem Interface Alias.
- Im Subnetz des DHCP-Servers wird kein Relay-Agent angelegt.
- Für jedes Client-Subnetz wird ein eigener Relay-Agent angelegt.
- Pro Relay-Agent lassen sich bis zu acht DHCP-Server hinterlegen. Die Anfrage geht an alle; der Client verwendet das erste Offer.
- DHCPv4-Server und DHCPv4-Relay können gleichzeitig auf derselben Firewall laufen, aber nicht auf demselben Interface.
- DHCPv6-Server und DHCPv6-Relay können auf derselben Firewall nicht gleichzeitig aktiv sein.
- Zwischen Client und Relay werden UDP
67und68benötigt; Relay und Server kommunizieren über UDP67. Der Server benötigt einen Rückweg zur Relay-IP10.20.0.1.
Mehrere Relay-Ziele sollten für denselben Client identische Scopes und Optionen ausliefern. Unterschiedliche Antworten führen sonst zu einem schwer reproduzierbaren Verhalten.
DHCP Relay ohne VPN einrichten
Network > DHCPöffnen.- Unter Relay auf Add klicken.
- Einen eindeutigen Namen wie
relay-clients-vlan20eintragen. - IP version auswählen.
- Unter Interface das Client-Interface
VLAN20 - 10.20.0.1wählen. - Unter DHCP server IP den Server
172.16.16.17hinzufügen. - Relay through IPsec deaktiviert lassen und speichern.
Danach eine Lease mit einem Testclient erneuern. Erhält der Client keine Adresse, zuerst prüfen, ob der Server einen Scope für 10.20.0.0/24 besitzt und eine Route zum Relay-Interface kennt. Bei VLAN-Problemen hilft Sophos Firewall VLAN-Interface konfigurieren.
DHCP Relay über route-based IPsec
Seit SFOS 21.0 dokumentiert Sophos DHCP Relay über XFRM zu einem externen DHCP-Server hinter der zentralen Firewall. Der belegte Aufbau verwendet einen route-based Any-to-Any-Tunnel. Route-based Traffic Selectors sind für diesen Ablauf nicht bestätigt.
Vorausgesetzt werden:
- Any-to-Any-IPsec-Verbindungen auf beiden Firewalls.
- Adressierte XFRM-Interfaces mit Gateway.
- Statische, SD-WAN- oder dynamische Routen vom Relay zum DHCP-Server und vom Server zurück zur Relay-IP
10.20.0.1. - Erlaubter IPsec-Zugriff unter
Administration > Device accessfür die beteiligten WAN-Interfaces. - Eine Regel in der Zentrale von
VPNzur Serverzone mit Source10.20.0.1, Destination172.16.16.17und ServiceDHCP.
Am Aussenstandort wird das Client-Interface als Relay-Agent eingetragen; Relay through IPsec bleibt deaktiviert. Die Relay-Anfrage ist dort systemgenerierter Traffic und benötigt keine eigene Firewall-Regel. Die Konfiguration des Tunnels und der XFRM-Routen ist unter Site-to-Site IPsec auf Sophos Firewall einrichten ausführlich beschrieben.
⚠️ Dieser route-based Ablauf gilt für einen externen DHCP-Server hinter der zentralen Firewall. Ein Interface der Sophos Firewall als zentraler DHCP-Server wird dafür nicht unterstützt.
DHCP Relay über policy-based IPsec
Bei policy-based IPsec wird am Aussenstandort Relay through IPsec aktiviert. Lokale und entfernte Subnetze der IPsec-Verbindung müssen Relay-Interface und DHCP-Server abdecken. Liegt ein externer DHCP-Server hinter der zentralen Firewall, werden dort zwei Regeln benötigt:
VPNzur Serverzone: Relay-Netz zu DHCP-Server, ServiceDHCP.- Serverzone zu
VPN: DHCP-Server zum Client-Netz, ServiceDHCP.
Für den dokumentierten policy-based Ablauf muss die Quelladresse des systemgenerierten Relay-Traffics mit sys-traffic-nat auf die Relay-IP festgelegt werden. Die folgenden Befehle werden nach dem SSH-Login in der Device Console ausgeführt. Unter SFOS 22.0 ist für diesen systemgenerierten Traffic keine zusätzliche system ipsec_route nötig.
Vor der Änderung den aktuellen Zustand sichern:
show advanced-firewall
⚠️
sys-traffic-nat addverändert die globale NAT-Konfiguration für systemgenerierten Traffic. Destination und Quelladresse müssen zum IPsec-Tunnel und zum Rückweg passen.
Für das Beispiel wird die Quelladresse des Relay-Interfaces zum DHCP-Server festgelegt:
set advanced-firewall sys-traffic-nat add destination 172.16.16.17 snatip 10.20.0.1
Anschliessend show advanced-firewall erneut ausführen und prüfen, ob genau dieser Eintrag vorhanden ist. Der Server muss 10.20.0.1 über den Tunnel erreichen können.
Rollback:
set advanced-firewall sys-traffic-nat delete destination 172.16.16.17 snatip 10.20.0.1
Weitere policy-based Routing-Sonderfälle und ältere SFOS-Abläufe erklärt IPsec Route auf Sophos Firewall erstellen.
Wenn die Zentrale selbst DHCP-Server ist
Arbeitet die zentrale Sophos Firewall bei policy-based IPsec selbst als DHCP-Server, wird unter Network > DHCP > Server ein Server-Scope erstellt oder bearbeitet. Accept client request via relay aktivieren, eine Lease-Range aus 10.20.0.0/24 eintragen und 10.20.0.1 als Gateway setzen. Am Relay-Agent wird als DHCP server IP das Server-Interface der zentralen Firewall eingetragen; im vorherigen NAT-Beispiel ersetzt dessen Adresse entsprechend 172.16.16.17.
Danach den Zustand in der zentralen Device Console anzeigen:
system dhcp lease-over-IPSec show
⚠️ Die folgende Einstellung wirkt global auf DHCP-Leases über IPsec. Nur auf der Firewall aktivieren, die selbst die Leases ausstellt.
Aktivieren und danach mit dem vorherigen show-Befehl prüfen:
system dhcp lease-over-IPSec enable
Rollback:
system dhcp lease-over-IPSec disable
Funktion testen und Fehler beheben
Eine erfolgreiche Relay-Konfiguration erkennt man nicht allein am gespeicherten Agent. Mit einem Testclient wird die Lease erneuert und unter Diagnostics > Packet capture > Configure im Feld Enter BPF string ein enger Filter gesetzt:
port 67 or port 68
Im Paketfluss sollten nacheinander Client-Anfrage, weitergeleitete Anfrage, Server-Offer und Rückweg sichtbar sein. Die Bedienung und Felder erklärt Packet Capture im Sophos Firewall WebAdmin.
Typische Fehler lassen sich so eingrenzen:
- Keine Client-Anfrage sichtbar: VLAN, Switch-Port, Client-Interface oder lokalen DHCP-Client prüfen.
- Anfrage erreicht die Firewall, wird aber nicht weitergeleitet: Relay-Interface, Server-IP, Route und bei policy-based IPsec Relay through IPsec prüfen.
- Server erhält die Anfrage, antwortet aber nicht: Scope für das Relay-Subnetz, Server-Autorisierung und lokale Server-Firewall prüfen.
- Offer erreicht die Zentrale, aber nicht den Client: Rückroute, zentrale Firewall-Regeln, IPsec-Subnetze und NAT-Eintrag prüfen.
- Client erhält eine falsche Konfiguration: Ermitteln, welcher Server zuerst antwortet, und Scopes sowie DHCP-Optionen auf allen Relay-Zielen vergleichen.
Häufige Fragen
Muss Relay through IPsec bei jedem VPN aktiviert werden?
Wo werden DHCP-Optionen bei einem Relay konfiguriert?
Warum erhält der Client trotz erreichbarem DHCP-Server keine Lease?
67/68 geprüft werden.