Vai al contenuto
Avanet

Configurare e testare DHCP Relay su Sophos Firewall

Un DHCP Relay inoltra le richieste DHCP da una rete client a un server in un’altra rete. Su Sophos Firewall si apre Network > DHCP, si crea sotto Relay un agente per l’interfaccia client e si inserisce l’indirizzo IP del server DHCP.

Procedura rapida: selezionare l’interfaccia client, inserire il server DHCP, verificare sul server lo scope corretto e il percorso di ritorno, rinnovare il lease e acquisire lo scambio con port 67 or port 68. Relay through IPsec si attiva solo con IPsec policy-based, non con una VPN route-based.

L’esempio utilizza la rete client 10.20.0.0/24, l’interfaccia relay 10.20.0.1 e il server DHCP 172.16.16.17.

Prerequisiti e limiti

Il server DHCP deve disporre di uno scope per 10.20.0.0/24. Sophos Firewall non distribuisce direttamente il lease, ma utilizza l’indirizzo dell’interfaccia relay affinché il server scelga lo scope corretto. Se invece il firewall deve distribuire gli indirizzi direttamente nella rete client collegata, è più adatta la guida Configurare Sophos Firewall come server DHCP. Le opzioni DHCP vengono configurate sul server che assegna il lease.

Per la configurazione valgono questi limiti:

  • L’interfaccia relay deve trovarsi nella stessa subnet dei client e non può essere l’interfaccia del server DHCP.
  • Gli agenti relay possono essere configurati su interfacce fisiche e virtuali come VLAN, Wireless o Bridge, ma non su un Interface Alias.
  • Nella subnet del server DHCP non si configura alcun agente relay.
  • Per ogni subnet client si crea un agente relay separato.
  • Per ogni agente relay si possono configurare fino a otto server DHCP. La richiesta viene inviata a tutti e il client utilizza il primo Offer.
  • Server DHCPv4 e DHCPv4 Relay possono essere attivi contemporaneamente sullo stesso firewall, ma non sulla stessa interfaccia.
  • Server DHCPv6 e DHCPv6 Relay non possono essere attivi contemporaneamente sullo stesso firewall.
  • Tra client e relay sono necessarie le porte UDP 67 e 68; relay e server comunicano tramite UDP 67. Il server deve disporre di un percorso di ritorno verso l’IP relay 10.20.0.1.

Più destinazioni relay dovrebbero fornire allo stesso client scope e opzioni identici. Risposte differenti causano altrimenti un comportamento difficile da riprodurre.

Configurare DHCP Relay senza VPN

  1. Aprire Network > DHCP.
  2. Sotto Relay, fare clic su Add.
  3. Inserire un nome univoco come relay-clients-vlan20.
  4. Selezionare IP version.
  5. Sotto Interface, scegliere l’interfaccia client VLAN20 - 10.20.0.1.
  6. Sotto DHCP server IP, aggiungere il server 172.16.16.17.
  7. Lasciare disattivato Relay through IPsec e salvare.

Rinnovare quindi un lease con un client di test. Se il client non riceve un indirizzo, verificare prima che il server disponga di uno scope per 10.20.0.0/24 e conosca una route verso l’interfaccia relay. Per i problemi VLAN è utile configurare l’interfaccia VLAN di Sophos Firewall.

DHCP Relay tramite IPsec route-based

Da SFOS 21.0 Sophos documenta DHCP Relay tramite XFRM verso un server DHCP esterno dietro il firewall centrale. L’architettura documentata utilizza un tunnel route-based Any-to-Any. I Traffic Selector route-based non sono confermati per questa procedura.

Sono necessari:

  1. Connessioni IPsec Any-to-Any su entrambi i firewall.
  2. Interfacce XFRM indirizzate con gateway.
  3. Route statiche, SD-WAN o dinamiche dal relay al server DHCP e dal server all’IP relay 10.20.0.1.
  4. Accesso IPsec consentito sotto Administration > Device access per le interfacce WAN interessate.
  5. Una regola nella sede centrale da VPN alla zona del server con Source 10.20.0.1, Destination 172.16.16.17 e Service DHCP.

Nella filiale si configura l’interfaccia client come agente relay; Relay through IPsec rimane disattivato. La richiesta relay è traffico generato dal sistema e non richiede una propria regola firewall nella filiale. La configurazione del tunnel e delle route XFRM è descritta in dettaglio in Configurare IPsec Site-to-Site su Sophos Firewall.

⚠️ Questa procedura route-based vale per un server DHCP esterno dietro il firewall centrale. Un’interfaccia di Sophos Firewall configurata come server DHCP centrale non è supportata in questo scenario.

DHCP Relay tramite IPsec policy-based

Con IPsec policy-based si attiva Relay through IPsec nella filiale. Le subnet locali e remote della connessione IPsec devono includere l’interfaccia relay e il server DHCP. Se un server DHCP esterno si trova dietro il firewall centrale, sono necessarie due regole:

  • Da VPN alla zona del server: rete relay verso server DHCP, Service DHCP.
  • Dalla zona del server a VPN: server DHCP verso rete client, Service DHCP.

Per la procedura policy-based documentata, l’indirizzo sorgente del traffico relay generato dal sistema deve essere impostato sull’IP relay con sys-traffic-nat. I comandi seguenti vengono eseguiti nella Device Console dopo l’accesso SSH. In SFOS 22.0 non è necessaria alcuna system ipsec_route aggiuntiva per questo traffico generato dal sistema.

Prima della modifica, salvare lo stato attuale:

show advanced-firewall

⚠️ sys-traffic-nat add modifica la configurazione NAT globale per il traffico generato dal sistema. Destination e indirizzo sorgente devono corrispondere al tunnel IPsec e al percorso di ritorno.

Nell’esempio, l’indirizzo sorgente dell’interfaccia relay viene impostato per il traffico verso il server DHCP:

set advanced-firewall sys-traffic-nat add destination 172.16.16.17 snatip 10.20.0.1

Eseguire quindi nuovamente show advanced-firewall e verificare che sia presente esattamente questa voce. Il server deve poter raggiungere 10.20.0.1 attraverso il tunnel.

Rollback:

set advanced-firewall sys-traffic-nat delete destination 172.16.16.17 snatip 10.20.0.1

Altri casi particolari di routing policy-based e le procedure delle versioni SFOS precedenti sono descritti in Creare una IPsec Route su Sophos Firewall.

Quando la sede centrale è il server DHCP

Se con IPsec policy-based il firewall Sophos centrale opera come server DHCP, sotto Network > DHCP > Server si crea o modifica uno scope del server. Attivare Accept client request via relay, inserire un intervallo di lease da 10.20.0.0/24 e impostare 10.20.0.1 come gateway. Nell’agente relay, come DHCP server IP si inserisce l’interfaccia server del firewall centrale; nel precedente esempio NAT il suo indirizzo sostituisce quindi 172.16.16.17.

Visualizzare poi lo stato nella Device Console centrale:

system dhcp lease-over-IPSec show

⚠️ L’impostazione seguente agisce globalmente sui lease DHCP tramite IPsec. Attivarla solo sul firewall che assegna direttamente i lease.

Attivare e verificare quindi con il precedente comando show:

system dhcp lease-over-IPSec enable

Rollback:

system dhcp lease-over-IPSec disable

Testare il funzionamento e risolvere i problemi

Un agente relay salvato non dimostra che la configurazione funzioni. Rinnovare il lease su un client di test e impostare sotto Diagnostics > Packet capture > Configure un filtro ristretto nel campo Enter BPF string:

port 67 or port 68

Nel flusso dei pacchetti devono essere visibili in sequenza la richiesta del client, la richiesta inoltrata, il Server Offer e il percorso di ritorno. La procedura e i campi sono descritti in Packet Capture nel WebAdmin di Sophos Firewall.

Gli errori tipici si possono circoscrivere così:

  • Nessuna richiesta client visibile: verificare VLAN, porta dello switch, interfaccia client o client DHCP locale.
  • La richiesta raggiunge il firewall ma non viene inoltrata: verificare interfaccia relay, IP del server, route e, con IPsec policy-based, Relay through IPsec.
  • Il server riceve la richiesta ma non risponde: verificare lo scope per la subnet relay, l’autorizzazione del server e il firewall locale del server.
  • L’Offer raggiunge la sede centrale ma non il client: verificare route di ritorno, regole del firewall centrale, subnet IPsec e voce NAT.
  • Il client riceve una configurazione errata: determinare quale server risponde per primo e confrontare scope e opzioni DHCP su tutte le destinazioni relay.

Domande frequenti

Relay through IPsec deve essere attivato per ogni VPN?

No. L’opzione si attiva con IPsec policy-based. Nell’architettura route-based Any-to-Any documentata rimane disattivata.

Dove si configurano le opzioni DHCP quando si usa un relay?

Sul server DHCP che assegna il lease. Sophos Firewall inoltra soltanto i messaggi DHCP tra client e server.

Perché il client non riceve un lease anche se il server DHCP è raggiungibile?

Di solito manca uno scope adatto per la subnet relay o il percorso di ritorno verso l’interfaccia relay. Verificare quindi regole firewall, subnet IPsec e UDP 67/68.