Zum Inhalt springen
Avanet

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 67 und 68 benötigt; Relay und Server kommunizieren über UDP 67. Der Server benötigt einen Rückweg zur Relay-IP 10.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

  1. Network > DHCP öffnen.
  2. Unter Relay auf Add klicken.
  3. Einen eindeutigen Namen wie relay-clients-vlan20 eintragen.
  4. IP version auswählen.
  5. Unter Interface das Client-Interface VLAN20 - 10.20.0.1 wählen.
  6. Unter DHCP server IP den Server 172.16.16.17 hinzufügen.
  7. 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:

  1. Any-to-Any-IPsec-Verbindungen auf beiden Firewalls.
  2. Adressierte XFRM-Interfaces mit Gateway.
  3. Statische, SD-WAN- oder dynamische Routen vom Relay zum DHCP-Server und vom Server zurück zur Relay-IP 10.20.0.1.
  4. Erlaubter IPsec-Zugriff unter Administration > Device access für die beteiligten WAN-Interfaces.
  5. Eine Regel in der Zentrale von VPN zur Serverzone mit Source 10.20.0.1, Destination 172.16.16.17 und Service DHCP.

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:

  • VPN zur Serverzone: Relay-Netz zu DHCP-Server, Service DHCP.
  • Serverzone zu VPN: DHCP-Server zum Client-Netz, Service DHCP.

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 add verä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?

Nein. Die Option wird bei policy-based IPsec aktiviert. Beim dokumentierten route-based Any-to-Any-Aufbau bleibt sie deaktiviert.

Wo werden DHCP-Optionen bei einem Relay konfiguriert?

Auf dem DHCP-Server, der die Lease ausstellt. Die Sophos Firewall leitet die DHCP-Nachrichten nur zwischen Client und Server weiter.

Warum erhält der Client trotz erreichbarem DHCP-Server keine Lease?

Meist fehlt ein passender Scope für das Relay-Subnetz oder der Rückweg zum Relay-Interface. Danach sollten Firewall-Regeln, IPsec-Subnetze und UDP 67/68 geprüft werden.