Configurare e verificare Proxy ARP su Sophos Firewall
Proxy ARP è necessario su Sophos Firewall solo quando un dispositivo nel segmento IPv4 direttamente connesso cerca un indirizzo di destinazione aggiuntivo e il firewall deve rispondere al suo posto con il proprio indirizzo MAC. Questo può accadere, ad esempio, con un IP pubblico aggiuntivo che viene poi inoltrato tramite DNAT a un server interno.
Il punto decisivo è che Proxy ARP risolve solo l’individuazione del neighbor prima del vero percorso dati IP. Non crea una regola firewall, una regola NAT o una route di ritorno. Per questo motivo si verifica prima, con una cattura ARP, che manchi esattamente questa risposta. Solo allora si aggiunge una singola voce Proxy ARP e la si verifica insieme al servizio reale.
⚠️ Non attivare Proxy ARP in via preventiva per un intero intervallo di indirizzi pubblici. Prima della modifica documentare l’assegnazione del provider, l’interfaccia, lo stato ARP iniziale, il backup, un accesso di gestione indipendente e il rollback. Un indirizzo di destinazione errato o duplicato può attirare il traffico sul firewall sbagliato.
Proxy ARP in otto passaggi
- Chiarire con il provider o il team upstream se l’indirizzo IPv4 aggiuntivo viene cercato tramite ARP sul segmento WAN oppure instradato al firewall come prefisso.
- Escludere che l’indirizzo sia già utilizzato come alias, su un altro dispositivo o da un’architettura esistente.
- Eseguire una cattura ARP sull’interfaccia di ingresso prevista mentre si avvia una nuova connessione.
- Proseguire solo se la richiesta ARP per l’indirizzo di destinazione arriva e manca in modo dimostrabile la risposta necessaria del firewall.
- Nella Device Console, aggiungere una voce con
set proxy-arp addper un solo indirizzo IPv4. - Configurare o controllare separatamente la regola firewall, DNAT o la route e il percorso di ritorno.
- Verificare la risposta ARP, Firewall Rule ID, NAT Rule ID e il servizio reale con una nuova connessione.
- Ripetere lo stesso test dopo un failover HA o durante il rollback e rimuovere in modo mirato la voce con
set proxy-arp del.
Distinguere Proxy ARP, alias e routing
Cosa fa realmente Proxy ARP
Prima che un dispositivo IPv4 possa inviare un pacchetto a un neighbor nello stesso segmento Layer 2, deve conoscerne l’indirizzo MAC. A questo scopo invia una richiesta ARP. Con Proxy ARP, Sophos Firewall risponde a tale richiesta per un altro IP di destinazione utilizzando l’indirizzo MAC dell’interfaccia selezionata.
Il dispositivo upstream invia quindi i successivi frame Ethernet al firewall. Solo in seguito routing, NAT e regole firewall decidono cosa accade al pacchetto IP. Una risposta ARP riuscita non dimostra quindi ancora che il servizio pubblicato funzioni.
Il comando Device Console documentato da Sophos riguarda ARP e quindi IPv4. IPv6 utilizza Neighbor Discovery per individuare i neighbor. Da questo comando non si può dedurre una procedura Proxy NDP.
Quale variante corrisponde all’assegnazione del provider
- IP alias: l’indirizzo aggiuntivo viene associato localmente a un’interfaccia fisica del firewall. Questa variante è adatta quando il firewall deve possedere l’indirizzo o utilizzarlo specificamente per NAT o traffico di sistema. Configurare un IP alias su Sophos Firewall mostra la procedura completa.
- Proxy ARP: il firewall risponde per conto di un indirizzo IPv4 inoltrato o tradotto. Questo comando non aggiunge l’indirizzo come normale indirizzo di interfaccia.
- Prefisso instradato: il dispositivo upstream instrada un’intera rete verso l’indirizzo WAN o un next hop concordato. In questo caso normalmente non cerca tramite ARP sul segmento WAN ogni indirizzo di destinazione del prefisso. Una voce Proxy ARP manuale sarebbe la correzione sbagliata.
- Neighbor statico: associa un indirizzo MAC fisso a un neighbor direttamente raggiungibile. È la prospettiva opposta e non sostituisce Proxy ARP. La differenza è spiegata in Verificare la cache dei neighbor ARP e NDP.
Anche una regola DNAT non implica automaticamente la necessità di Proxy ARP manuale. Prima si verifica il percorso dati esistente. La voce CLI è giustificata solo quando l’architettura del provider e la cattura dimostrano realmente che manca la risposta ARP.
Esempio e valori da sostituire
L’esempio utilizza un’assegnazione IPv4 pubblica connessa direttamente. Un servizio HTTPS deve essere raggiungibile tramite l’indirizzo aggiuntivo 203.0.113.10:
- Interfaccia WAN:
Port2 - Indirizzo WAN del firewall:
203.0.113.9/29 - Gateway del provider:
203.0.113.14 - IP pubblico di destinazione aggiuntivo:
203.0.113.10 - Host di test esterno:
198.51.100.25 - Server interno:
10.20.40.20 - Servizio:
HTTPS
203.0.113.0/24 e 198.51.100.0/24 sono reti riservate alla documentazione. Non funzionano come indirizzi di produzione e devono essere sostituite completamente con l’assegnazione reale del provider e un host di test esterno autorizzato. Anche Port2 è solo un esempio; si utilizza esattamente l’interfaccia sulla quale la richiesta ARP arriva in modo dimostrabile.
La maschera /29 non viene inserita nel comando Proxy ARP. Serve solo a spiegare la rete di esempio. La voce stessa si applica intenzionalmente solo a 203.0.113.10. Si risponde per un intero intervallo solo quando proprietà, utilizzo e sintassi sono chiaramente documentati per ogni indirizzo e verificati sul build in uso.
Verificare il percorso del provider e ARP prima della modifica
Prima dell’intervento CLI si distinguono tre possibili risultati:
- Nessuna richiesta ARP raggiunge il firewall: il percorso del provider, la VLAN, la porta dello switch o l’ipotesi sull’assegnazione devono essere chiariti prima del passaggio Proxy ARP.
- La richiesta arriva e un dispositivo risponde già: non generare una seconda risposta. Prima identificare il proprietario dell’indirizzo MAC visibile.
- La richiesta arriva, ma nessuno risponde: solo questo risultato è compatibile con una risposta Proxy ARP mancante sul firewall.
Per la cattura, accedere tramite SSH o console locale e aprire Option 4: Device Console. Connettersi a Sophos Firewall tramite SSH spiega l’accesso e la distinzione tra Device Console e Advanced Shell.
Il seguente filtro BPF è in sola lettura e mostra solo il traffico ARP per l’indirizzo di esempio:
tcpdump 'arp and host 203.0.113.10'
Avviare quindi una nuova connessione a 203.0.113.10 dal percorso di test esterno autorizzato. Se il dispositivo upstream conserva ancora una voce in cache, aggiornare solo quella voce secondo la procedura documentata del router o del provider, oppure attenderne la scadenza. Svuotare tutte le cache ARP o riavviare un router è sproporzionato per la prima diagnosi.
Interfaccia, IP di destinazione e orario della cattura devono corrispondere al test. Una richiesta ARP su un’altra VLAN o interfaccia non viene risolta da una voce su Port2.
Aggiungere una singola voce Proxy ARP
Se la verifica preliminare è conclusiva, si aggiunge esattamente l’indirizzo confermato nella Device Console:
set proxy-arp add interface Port2 dest_ip 203.0.113.10
Le parti fisse sono set proxy-arp add interface e dest_ip. Port2 e 203.0.113.10 vengono sostituiti con l’interfaccia reale e l’indirizzo IPv4 confermato singolarmente.
Sophos documenta anche dst_iprange, ma la pagina della guida attuale non pubblica un esempio di intervallo completo e verificato. Perciò qui non viene ipotizzato alcun formato. Per gli intervalli pubblici un singolo indirizzo è inoltre il pilota più sicuro: limita l’impatto e consente test positivi e negativi inequivocabili.
Subito dopo il comando si genera un’altra richiesta ARP nuova e si ripete la cattura. È attesa una risposta con l’indirizzo MAC dell’interfaccia firewall prevista. Se risponde un altro MAC o compaiono più risposte, interrompere il rollout e risolvere prima il conflitto di indirizzi.
Implementare separatamente regola, NAT e percorso di ritorno
Proxy ARP attira il frame Ethernet verso il firewall. Il successivo percorso dati IP richiede comunque una configurazione propria e tecnicamente appropriata.
Per il server HTTPS interno dell’esempio sono necessari:
- una regola DNAT restrittiva da
203.0.113.10:443a10.20.40.20:443; - una regola firewall corrispondente dalla sorgente WAN autorizzata alla zona del server;
- logging durante la verifica;
- un percorso di ritorno del server attraverso Sophos Firewall;
- loopback, se necessario, solo come caso interno pianificato separatamente.
Pubblicare un server tramite DNAT tratta posizione delle regole, Original Destination, zona di destinazione, loopback e funzioni di protezione. NAT su Sophos Firewall spiega SNAT, DNAT, MASQ e PAT.
Se l’indirizzo pubblico aggiuntivo deve essere instradato verso un sistema downstream senza DNAT, il firewall necessita invece di una route inequivocabile e di regole adeguate. Una rete sovrapposta non deve essere nascosta con una route statica ipotizzata o un intervallo Proxy ARP. Il prefisso del provider, l’indirizzamento interno e il percorso di ritorno devono prima formare un progetto di routing coerente.
Verificare ARP e il servizio reale
La verifica comprende un controllo Layer 2 e un controllo IP/applicativo:
- Generare una nuova richiesta ARP per
203.0.113.10. - Nella cattura confermare la richiesta su
Port2e una sola risposta con il MAC firewall previsto. - Aprire una nuova connessione HTTPS dall’host di test
198.51.100.25. - In Log viewer, controllare le Firewall Rule ID e NAT Rule ID attese.
- Nel Packet Capture integrato, confrontare l’ingresso su
Port2e l’uscita verso il server. - Sul server confermare che la connessione arrivi e che la risposta ritorni attraverso il firewall.
- Verificare negativamente una porta non consentita e una sorgente non autorizzata.
- Se si utilizza HA, verificare una nuova connessione e un nuovo scambio ARP dopo un failover controllato.
Il successo è dimostrato solo quando sono corretti sia la risposta ARP sia il servizio reale. Un ping non basta: ICMP può essere gestito intenzionalmente in modo diverso da HTTPS in Device Access o nella regola firewall. Packet Capture su Sophos Firewall spiega filtri, Status, Reason, Rule ID e confronto delle interfacce; verificare sistematicamente le regole firewall mostra la verifica completa.
Risolvere i problemi in modo sistematico
Non arriva alcuna richiesta ARP
Verificare l’assegnazione del provider, il routing upstream, la VLAN, la porta dello switch e l’interfaccia di ingresso reale. Una voce Proxy ARP locale non può rispondere a una richiesta che non raggiunge mai l’interfaccia. Con un prefisso instradato è persino normale che non vi sia una richiesta ARP per ogni IP di destinazione; in tal caso si controllano route e next hop invece di Proxy ARP.
La richiesta ARP arriva, ma non esce alcuna risposta
Confrontare l’IP di destinazione e l’interfaccia del comando con la cattura. Escludere poi che l’interfaccia sia cambiata, che l’indirizzo contenga un errore o che il test sia stato eseguito da un altro segmento Layer 2. Non aggiungere un intervallo IP più ampio per far sembrare riuscito un test incerto su un singolo indirizzo.
Se la voce documentata sull’interfaccia confermata continua a non rispondere, raccogliere versione firmware, breve cattura e topologia esatta per Sophos Support. Interventi non documentati in Advanced Shell su ARP o parametri del kernel non sono un passaggio standard sicuro.
Rispondono più indirizzi MAC
Interrompere il test. Le cause frequenti sono un indirizzo IP duplicato, un vecchio dispositivo ancora attivo, un alias su un secondo firewall o un’altra voce Proxy ARP. Identificare prima il proprietario di ogni indirizzo MAC e risolvere il conflitto. Una regola firewall non può correggere risposte ARP concorrenti.
ARP è corretto, ma il servizio rimane irraggiungibile
Proxy ARP ha già svolto il proprio compito. In seguito verificare Firewall Rule ID, NAT Rule ID, ordine delle regole, zona di destinazione, servizio, gateway del server e percorso di ritorno. Utilizzare una nuova connessione per evitare di riusare una sessione precedente.
L’indirizzo è brevemente irraggiungibile dopo sostituzione o failover HA
Verificare nuovamente ARP e il servizio reale sul nodo attivo al momento dell’evento. Il dispositivo upstream può conservare ancora una vecchia associazione MAC. Aggiornare prima in modo controllato solo la voce interessata; risolvere problemi ARP dopo una migrazione del firewall mostra la procedura completa per vecchie cache del provider o del router.
Non si garantisce la prosecuzione senza interruzioni delle connessioni esistenti. Contano una nuova richiesta ARP, una nuova sessione applicativa e i log del nodo che ha effettivamente elaborato il traffico.
Rollback e gestione operativa
Prima della rimozione, documentare l’indirizzo pubblicato e il servizio che dipendono dalla voce. Durante una finestra di manutenzione, rimuovere esattamente lo stesso valore con del:
set proxy-arp del interface Port2 dest_ip 203.0.113.10
Generare poi una nuova richiesta ARP. Il firewall non deve più rispondere per questa voce manuale, purché nessun alias, peer HA o altro meccanismo legittimo gestisca lo stesso indirizzo. Ripristinare lo stato precedente documentato delle regole di test dipendenti e della configurazione NAT temporanea.
La voce deve comparire nella documentazione operativa, perché non è visibile come un normale indirizzo di interfaccia che spieghi perché il firewall risponde per l’IP aggiuntivo. Dopo una modifica delle interfacce, un dispositivo sostitutivo, un restore, un cambio firmware o un test HA, verificare nuovamente indirizzo di destinazione, interfaccia, risposta ARP e servizio reale.
Checklist
- Assegnazione del provider e modello ARP invece del modello di routing confermati.
- L’IP di destinazione appartiene in modo dimostrabile all’organizzazione e non è duplicato.
- La richiesta ARP arriva sull’interfaccia documentata.
- La risposta mancante è stata dimostrata tramite cattura prima della modifica.
- È stato inserito un solo indirizzo pilota con
dest_ip. - Regola firewall, NAT o route e percorso di ritorno verificati separatamente.
- Indirizzo MAC, Firewall Rule ID e NAT Rule ID attesi confermati.
- Sorgente non consentita e porta non consentita verificate negativamente.
- Failover HA o percorso sostitutivo verificati con una nuova connessione.
- Comando
delesatto e stato originale documentati.