Hoppa till innehållet
Avanet

Förstå NAT i Sophos Firewall: SNAT, DNAT, MASQ, PAT

NAT är ett Sophos Firewall-ämne som snabbt kan bli förvirrande i praktiken. Begreppen liknar varandra, regelvyn använder Original och Translated, och Log Viewer kan visa olika adresser beroende på var man tittar.

Den här artikeln förklarar de viktigaste NAT-typerna, visar praktiska exempel och går igenom ett DNAT-exempel med motsvarande Firewall Rule.

NAT översätter, men tillåter inte

Network Address Translation ändrar adresser eller portar i ett paket medan det passerar Sophos Firewall. NAT avgör inte ensamt om trafiken är tillåten.

⚠️ En NAT rule tillåter inte trafik. Den översätter bara adresser eller portar. Trafik genom brandväggen behöver alltid även en matchande Firewall Rule.

Typiska scenarier:

  • Interna klienter går till internet via den publika WAN-IP:n.
  • En intern server publiceras via en publik IP.
  • En publik port översätts till en annan intern port.
  • Överlappande nät översätts för VPN-förbindelser.
  • Interna klienter når en intern server via dess publika DNS name.

Viktigaste NAT-typerna

NAT-typVad översätts?Typisk användning
SNATSource IPInterna klienter eller servrar går ut med en definierad publik IP
MASQSource IP till IP på utgående interfaceStandard LAN till WAN
DNATDestination IPIntern server görs nåbar via publik IP
PATPort eller serviceExtern port översätts till annan intern port
Loopback NATIntern åtkomst via publik IP eller publik FQDNInterna klienter använder samma DNS name som externa användare
Reflexive RuleSpeglad Source NAT rulePublicerad server ska använda rätt publik identitet utåt

NAT svarar alltså inte på “är trafiken tillåten?”, utan på “hur ska adressen eller porten se ut under behandlingen?”.

Original och Translated

FältBetydelse
Original sourceKälladress före NAT
Translated source (SNAT)Källadress efter NAT
Original destinationMåladdress före NAT
Translated destination (DNAT)Måladdress efter NAT
Original serviceService eller port före NAT
Translated service (PAT)Service eller port efter NAT

Vid troubleshooting beskriver man först paketet före NAT och definierar sedan hur brandväggen ska översätta det.

Praktiska exempel

SituationLämplig NAT-typExempel
LAN-klienter behöver internetMASQ eller SNAT10.10.10.80 går ut som brandväggens WAN-IP
Intern webbserver ska nås från internetDNATPublik WAN-IP pekar på 172.16.16.10
Extern och intern port skiljer sigPATExtern TCP 5555, intern TCP 443
Interna användare använder samma FQDN som externaLoopback NATservice.example.com fungerar internt och externt
Publicerad server ska gå ut med specifik publik IPSNAT eller Reflexive RuleMailserver skickar med definierad publik IP
VPN-nät överlapparSNAT eller DNATSite A ser site B via ett översatt nät

SNAT, MASQ, DNAT och PAT

SNAT ändrar källadressen. Det klassiska fallet är utgående internettrafik från LAN. Internt behåller klienterna sina privata IP-adresser, men externt syns brandväggens WAN-IP eller en definierad publik IP.

MASQ är en enkel SNAT-variant. Vanligtvis översätter MASQ Source IP till IP-adressen på utgående interface. Sophos Firewall har en Default SNAT rule med MASQ; om den inte behövs är det oftast bättre att inaktivera den än att radera den.

DNAT ändrar måladdress och används för att publicera en intern server via publik IP eller port. PAT ändrar service eller port via Translated service (PAT).

ExterntInternt
TCP 5555TCP 443
TCP 20120TCP 22
TCP 8443TCP 443

Protokollet måste stämma: TCP till TCP, UDP till UDP.

Exempel: publicera Synology med DNAT

I exemplet är Synology_5555 nåbar från utsidan. Internt lyssnar servern på HTTPS. NAT rule översätter därför publik destination till intern server och publik service till intern service.

Sophos Firewall Add NAT rule med DNAT och PAT exempel för en Synology service
Sophos Firewall - DNAT rule med publik service och intern port
Sophos Firewall Add firewall rule som matchar DNAT rule med WAN-källor och SERVER-zon
Sophos Firewall - Firewall Rule som matchar DNAT rule

Administrationsytor som NAS, RDP, SSH eller WebAdmin bör bara exponeras direkt när det verkligen behövs. Ofta är VPN eller ZTNA bättre.

DNAT rule fält för fält

FältRekommendation
Rule nameTydligt namn, till exempel DNAT_SYNOLOGY_5555.
DescriptionDokumentera varför regeln finns och vem som skapade den.
Rule positionSpecifika regler ovanför generella regler.
Original sourceKan begränsas i NAT, men ofta är det renare att sköta källbegränsning i Firewall Rule.
Original destinationPublik adress före NAT. Använd helst ett host object för WAN-IP istället för WAN-interface direkt.
Original serviceExtern service eller port, till exempel Synology_5555.
Translated source (SNAT)Vanligtvis Original; ändra bara om den interna servern ska se brandväggen som source.
Translated destination (DNAT)Intern server eller serverlista.
Translated service (PAT)Intern service eller port, till exempel HTTPS; utan portändring används Original.
Inbound interfaceOfta Any eller WAN.
Outbound interfaceVanligtvis Any.

Matchande Firewall Rule

En DNAT rule räcker inte. En Firewall Rule måste också tillåta trafiken.

FältRekommendation
Source zonesVanligtvis WAN.
Source networks and devicesUndvik Any när det går; använd länder, IP-adresser, nät, FQDN hosts eller grupper.
Destination zonesZon för det interna målet, till exempel SERVER eller DMZ.
Destination networksPublik adress eller WAN host object från Original destination.
ServicesExtern service från Original service.
Log firewall trafficAktivera för publicerade tjänster.

💡 Publika tjänster skannas ofta snabbt av botar. Sophos Firewall Threat Feeds hjälper till att blockera kända skadliga IP-adresser, domäner eller URL:er tidigt.

Loopback, Reflexive Rules och ordning

En Loopback Rule behövs när interna klienter ska nå en intern server via publik IP eller publik FQDN. Split DNS är ofta enklare och renare.

En Reflexive Rule är en automatiskt skapad SNAT rule för en DNAT rule. Den kan vara användbar om den publicerade servern ska gå ut med en specifik publik IP. För vanliga svar på en DNAT-anslutning behövs den normalt inte.

Sophos behandlar NAT rules uppifrån och ned. Första matchen vinner. Specifika DNAT- och SNAT-regler ska ligga ovanför generella MASQ-regler.

Load balancing och Health Check

Om flera interna servrar anges som Translated destination kan brandväggen fördela trafiken.

MetodAnvändning
Round robinEnkel fördelning
First alivePrimär server med failover
RandomSlumpmässig fördelning
Sticky IPSamma source-destination kombination på samma server
One-to-oneFast mappning

För att kontrollera serverns tillgänglighet måste Health check aktiveras.

Troubleshooting

  1. Öppna Log viewer och filtrera på Source IP, Destination IP och service.
  2. Kontrollera Firewall Rule ID och NAT Rule ID.
  3. Kontrollera NAT rule-position.
  4. Kontrollera Firewall Rule-position.
  5. Använd Diagnostics > Packet capture.
  6. Kontrollera nat_rule.log, firewall_rule.log och fwlog.log.
  7. Vid VPN eller XFRM, kontrollera även charon.log, strongswan.log och xfrmi.log.

Om NAT rule fortfarande inte matchar hjälper Firewall rule matchar inte: kontrollera ordning, matching och loggar och Använd Packet Capture i WebAdmin. Services och loggar beskrivs i Sophos Firewall Troubleshooting: Services och logs. För support kan loggar exporteras med Spara Sophos Firewall-loggar för support och analys.

Mer information