Vai al contenuto
Avanet

Capire NAT su Sophos Firewall: SNAT, DNAT, MASQ, PAT

NAT è uno degli argomenti di Sophos Firewall che in pratica crea spesso confusione. I termini sono simili, la maschera usa Original e Translated, e nel Log Viewer si possono vedere indirizzi diversi a seconda del punto di osservazione.

Questo articolo spiega i principali tipi di NAT, mostra esempi pratici e descrive un esempio DNAT con la relativa Firewall Rule.

NAT traduce, non autorizza

Network Address Translation modifica indirizzi o porte di un pacchetto mentre attraversa Sophos Firewall. NAT da solo non decide se il traffico è consentito.

⚠️ Una NAT rule non autorizza il traffico. Traduce solo indirizzi o porte. Per il traffico attraverso la firewall serve sempre anche una Firewall Rule corrispondente.

Casi tipici:

  • Client interni usano l’IP WAN pubblico per accedere a Internet.
  • Un server interno viene pubblicato tramite un IP pubblico.
  • Una porta pubblica viene tradotta verso una porta interna diversa.
  • Reti sovrapposte vengono tradotte per connessioni VPN.
  • Client interni accedono a un server interno tramite il DNS name pubblico.

I principali tipi di NAT

Tipo NATCosa viene tradotto?Uso tipico
SNATSource IPClient o server interni escono con un IP pubblico definito
MASQSource IP verso l’IP dell’interfaccia in uscitaScenario standard LAN verso WAN
DNATDestination IPUn server interno diventa raggiungibile tramite IP pubblico
PATPorta o servizioUna porta esterna viene tradotta verso una porta interna diversa
Loopback NATAccesso interno tramite IP pubblico o FQDN pubblicoClient interni usano lo stesso DNS name degli utenti esterni
Reflexive RuleRegola Source NAT speculareUn server pubblicato deve usare un’identità pubblica coerente in uscita

NAT non risponde alla domanda “questo traffico è permesso?”, ma “come devono apparire indirizzo o porta durante l’elaborazione?”.

Leggere correttamente Original e Translated

CampoSignificato
Original sourceIndirizzo sorgente prima del NAT
Translated source (SNAT)Indirizzo sorgente dopo il NAT
Original destinationIndirizzo destinazione prima del NAT
Translated destination (DNAT)Indirizzo destinazione dopo il NAT
Original serviceServizio o porta prima del NAT
Translated service (PAT)Servizio o porta dopo il NAT

Nel troubleshooting conviene prima descrivere il pacchetto prima del NAT e poi definire come deve uscire dalla firewall.

Esempi pratici

SituazioneTipo NAT adattoEsempio
Client LAN devono accedere a InternetMASQ o SNAT10.10.10.80 esce con l’IP WAN della firewall
Un web server interno deve essere raggiungibile da InternetDNATIP WAN pubblico verso 172.16.16.10
Porta esterna diversa dalla porta internaPATEsterno TCP 5555, interno TCP 443
Utenti interni usano lo stesso FQDN degli utenti esterniLoopback NATservice.example.com funziona internamente ed esternamente
Server pubblicato con IP pubblico specifico in uscitaSNAT o Reflexive RuleMail server invia con IP pubblico definito
Reti VPN sovrapposteSNAT o DNATIl sito A vede il sito B tramite una rete tradotta

SNAT e MASQ

SNAT modifica l’indirizzo sorgente. Il caso classico è l’accesso Internet in uscita dal LAN. Internamente i client mantengono gli IP privati, verso l’esterno appare l’indirizzo WAN della firewall o un IP pubblico definito.

CampoEsempio
Original sourceLAN interna o rete server
Translated source (SNAT)MASQ o IP pubblico fisso
Original destinationAny
Translated destination (DNAT)Original
Original serviceAny o servizi definiti
Translated service (PAT)Original
Inbound interfaceInterfaccia interna o Any
Outbound interfaceInterfaccia WAN

MASQ è una variante comoda di SNAT. Di norma traduce la Source IP nell’IP dell’interfaccia in uscita, quindi spesso nell’IP WAN. Sophos Firewall contiene una Default SNAT rule con MASQ; se non serve, è meglio disattivarla invece di eliminarla.

Attenzione: nei route-based VPNs, MASQ può usare l’IP XFRM come source tradotta se si usano subnet Any o configurazioni Dual IP.

DNAT e PAT

DNAT modifica la destinazione. Si usa per pubblicare un server interno tramite un IP o una porta pubblica.

CampoEsempio
Original sourceAny o reti sorgente definite
Original destinationIP WAN o oggetto WAN host
Original serviceServizio esterno, per esempio HTTPS o Synology_5555
Translated destination (DNAT)Server interno
Translated service (PAT)Original o porta interna
Translated source (SNAT)Di solito Original
Inbound interfaceAny o interfaccia WAN
Outbound interfaceDi solito Any per DNAT

PAT modifica servizio o porta tramite Translated service (PAT).

EsternoInterno
TCP 5555TCP 443
TCP 20120TCP 22
TCP 8443TCP 443

Il protocollo deve rimanere coerente: TCP verso TCP, UDP verso UDP. TCP verso UDP non è una port forwarding valida.

Esempio pratico: pubblicare Synology con DNAT

Nell’esempio un servizio deve essere raggiungibile tramite un IP WAN pubblico. Dall’esterno si usa Synology_5555; internamente il server ascolta su HTTPS. La NAT rule traduce quindi destinazione pubblica e servizio pubblico verso server e servizio interni.

Sophos Firewall Add NAT rule con esempio DNAT e PAT per un servizio Synology
Sophos Firewall - regola DNAT con servizio pubblico e porta interna
Sophos Firewall Add firewall rule corrispondente alla regola DNAT con sorgenti WAN e zona SERVER
Sophos Firewall - Firewall Rule corrispondente alla regola DNAT

Interfacce di management come NAS, RDP, SSH o WebAdmin dovrebbero essere esposte direttamente solo quando è davvero necessario. Spesso VPN o ZTNA sono la soluzione migliore.

Regola DNAT campo per campo

CampoSignificato e raccomandazione
Rule nameNome chiaro, per esempio DNAT_SYNOLOGY_5555.
DescriptionDocumentare perché esiste la regola e chi l’ha creata.
Rule positionRegole specifiche sopra regole generali.
Original sourcePuò essere limitato nella NAT rule, ma spesso è più pulito gestire la restrizione nella Firewall Rule.
Original destinationIndirizzo pubblico prima del NAT. Meglio un host object per l’IP WAN rispetto all’interfaccia WAN diretta.
Original servicePorta o servizio pubblico, per esempio Synology_5555.
Translated source (SNAT)Di solito Original; cambiarlo solo se il server interno deve vedere la firewall come source.
Translated destination (DNAT)Server interno o lista di server.
Translated service (PAT)Servizio o porta interna, per esempio HTTPS; se non cambia, lasciare Original.
Inbound interfacePer DNAT spesso Any o WAN; nei contesti VPN spesso serve Any.
Outbound interfaceDi solito Any, perché routing e zona determinano il percorso.

Firewall Rule corrispondente

La DNAT rule non basta. Serve anche una Firewall Rule.

CampoRaccomandazione
Source zonesDi solito WAN.
Source networks and devicesEvitare Any se possibile; usare paesi, IP, reti, FQDN hosts o gruppi.
Destination zonesZona del target interno, per esempio SERVER o DMZ.
Destination networksIndirizzo pubblico o WAN host object da Original destination.
ServicesServizio esterno da Original service.
Log firewall trafficAttivare per servizi pubblicati.

💡 I servizi pubblici vengono spesso scansionati rapidamente da bot. Sophos Firewall Threat Feeds aiuta a bloccare in anticipo IP, domini o URL malevoli noti.

Loopback Rule e Reflexive Rule

Una Loopback Rule serve quando client interni devono raggiungere un server interno tramite IP pubblico o FQDN pubblico. Spesso Split DNS è più pulito: internamente service.example.com punta direttamente all’IP interno.

Una Reflexive Rule è una regola SNAT creata automaticamente per una DNAT rule. Può servire se il server pubblicato deve uscire con uno specifico IP pubblico. Per normali risposte a una connessione DNAT entrante non è in genere necessaria.

⚠️ Dopo modifiche a una DNAT rule, Loopback o Reflexive Rules generate automaticamente vanno controllate.

Server Access Assistant, Linked NAT Rules e ordine

Server Access Assistant può creare automaticamente DNAT, loopback, reflexive e Firewall Rules. È comodo, ma in produzione le regole manuali sono spesso più chiare.

Una Linked NAT Rule nasce da una Firewall Rule ed è una Source NAT rule. Può essere utile in casi specifici, ma troppe Linked NAT Rules rendono la tabella poco leggibile.

Sophos elabora le NAT rules dall’alto verso il basso. Vince la prima regola corrispondente. Regole DNAT specifiche e SNAT specifiche devono stare sopra regole MASQ generali.

Load balancing e Health Check

Se più server interni sono configurati come Translated destination, la firewall può distribuire il traffico.

MetodoUso
Round robinDistribuzione semplice senza persistenza sessione
First aliveServer primario con failover
RandomDistribuzione casuale
Sticky IPStessa combinazione source-destination sullo stesso server
One-to-oneMapping fisso tra destinazione originale e tradotta

Per verificare la disponibilità dei server, Health check deve essere attivato.

Verificare NAT e Firewall Rule insieme

Traffico funzionante richiede routing verso la firewall, NAT rule se necessaria, Firewall Rule, ritorno corretto, Security Profiles adatti e nessun blocco a monte.

Per DNAT è importante: le Firewall Rules usano la destination zone dopo NAT, ma il destination network prima del NAT.

Troubleshooting

  1. Aprire Log viewer e filtrare per Source IP, Destination IP e servizio.
  2. Controllare Firewall Rule ID e NAT Rule ID.
  3. Verificare la posizione della NAT rule.
  4. Verificare la posizione della Firewall Rule.
  5. Usare Diagnostics > Packet capture per vedere se i pacchetti arrivano ed escono.
  6. Analizzare nat_rule.log, firewall_rule.log e fwlog.log.
  7. In contesti VPN o XFRM controllare anche charon.log, strongswan.log e xfrmi.log.

Se la NAT rule non corrisponde, aiutano Firewall rule non corrisponde: controllare ordine, matching e log e Usare Packet Capture in WebAdmin. I nomi dei servizi e i log sono spiegati in Sophos Firewall Troubleshooting: Services e logs. Per il supporto, i log si possono esportare con Salvare i log Sophos Firewall per supporto e analisi.

Ulteriori informazioni