Przejdz do tresci
Avanet

NAT w Sophos Firewall: SNAT, DNAT, MASQ, PAT

NAT w Sophos Firewall szybko staje się mylący: nazwy są podobne, formularz reguły używa pól Original i Translated, a Log Viewer może pokazywać różne adresy w zależności od miejsca analizy.

Ten artykuł wyjaśnia najważniejsze typy NAT, pokazuje praktyczne przykłady i opisuje przykład DNAT z pasującą Firewall Rule.

NAT tłumaczy, ale nie zezwala

Network Address Translation zmienia adresy lub porty pakietu podczas przechodzenia przez Sophos Firewall. NAT sam nie decyduje, czy ruch jest dozwolony.

⚠️ NAT rule nie zezwala na ruch. Tłumaczy tylko adresy lub porty. Ruch przez firewall zawsze wymaga również pasującej Firewall Rule.

Typowe przypadki:

  • Klienci wewnętrzni wychodzą do Internetu przez publiczny WAN IP.
  • Serwer wewnętrzny jest publikowany przez publiczny IP.
  • Publiczny port jest tłumaczony na inny port wewnętrzny.
  • Nakładające się sieci są tłumaczone dla VPN.
  • Klienci wewnętrzni używają publicznej nazwy DNS serwera wewnętrznego.

Najważniejsze typy NAT

Typ NATCo jest tłumaczone?Typowe użycie
SNATSource IPKlienci lub serwery wewnętrzne wychodzą z określonym publicznym IP
MASQSource IP na IP interfejsu wyjściowegoStandard LAN do WAN
DNATDestination IPSerwer wewnętrzny jest dostępny przez publiczny IP
PATPort lub usługaPort zewnętrzny jest tłumaczony na inny port wewnętrzny
Loopback NATDostęp wewnętrzny przez publiczny IP lub FQDNKlienci wewnętrzni używają tej samej nazwy DNS co użytkownicy zewnętrzni
Reflexive RuleLustrzana Source NAT ruleOpublikowany serwer ma wychodzić z pasującą publiczną tożsamością

Original i Translated

Original opisuje ruch przed NAT, a Translated po translacji.

PoleZnaczenie
Original sourceAdres źródłowy przed NAT
Translated source (SNAT)Adres źródłowy po NAT
Original destinationAdres docelowy przed NAT
Translated destination (DNAT)Adres docelowy po NAT
Original serviceUsługa lub port przed NAT
Translated service (PAT)Usługa lub port po NAT

Przykłady praktyczne

SytuacjaPasujący NATPrzykład
Klienci LAN potrzebują InternetuMASQ lub SNAT10.10.10.80 wychodzi jako WAN IP firewall
Serwer web ma być dostępny z InternetuDNATPubliczny WAN IP wskazuje na 172.16.16.10
Port zewnętrzny różni się od wewnętrznegoPATZewnętrzny TCP 5555, wewnętrzny TCP 443
Użytkownicy wewnętrzni używają tego samego FQDNLoopback NATservice.example.com działa wewnątrz i z zewnątrz
Serwer publikowany ma wychodzić z konkretnym publicznym IPSNAT lub Reflexive RuleSerwer pocztowy wysyła z określonym publicznym IP
Sieci VPN się nakładająSNAT lub DNATLokalizacja A widzi lokalizację B przez sieć tłumaczoną

SNAT, MASQ, DNAT i PAT

SNAT zmienia adres źródłowy. Typowy przypadek to ruch wychodzący z LAN do Internetu. Wewnętrznie klient zachowuje prywatny IP, ale na zewnątrz widać WAN IP firewall lub zdefiniowany publiczny IP.

MASQ jest wygodną odmianą SNAT i zwykle tłumaczy Source IP na IP interfejsu wyjściowego. Sophos Firewall ma domyślną Default SNAT rule z MASQ; jeśli nie jest potrzebna, lepiej ją wyłączyć niż usuwać.

DNAT zmienia adres docelowy i służy do publikowania serwera wewnętrznego przez publiczny IP lub port. PAT zmienia usługę lub port przez Translated service (PAT).

ZewnętrznieWewnętrznie
TCP 5555TCP 443
TCP 20120TCP 22
TCP 8443TCP 443

Protokół musi pozostać zgodny: TCP do TCP, UDP do UDP.

Przykład: publikacja Synology przez DNAT

W przykładzie z zewnątrz używany jest Synology_5555, a wewnętrznie serwer nasłuchuje na HTTPS. NAT rule tłumaczy publiczny adres docelowy na serwer wewnętrzny i publiczną usługę na usługę wewnętrzną.

Sophos Firewall Add NAT rule z przykładem DNAT i PAT dla usługi Synology
Sophos Firewall - DNAT rule z usługą publiczną i portem wewnętrznym
Sophos Firewall Add firewall rule pasująca do DNAT rule ze źródłami WAN i strefą SERVER
Sophos Firewall - Firewall Rule pasująca do DNAT rule

Interfejsy administracyjne, takie jak NAS, RDP, SSH lub WebAdmin, należy wystawiać bezpośrednio tylko wtedy, gdy jest to naprawdę konieczne. Często lepszy jest VPN lub ZTNA.

DNAT rule pole po polu

PoleZalecenie
Rule nameJasna nazwa, np. DNAT_SYNOLOGY_5555.
DescriptionOpisać, dlaczego reguła istnieje i kto ją utworzył.
Rule positionReguły szczegółowe nad ogólnymi.
Original sourceMożna ograniczyć w NAT, ale zwykle czyściej robić to w Firewall Rule.
Original destinationPubliczny adres przed NAT. Lepiej użyć host object dla WAN IP niż bezpośrednio interfejsu WAN.
Original servicePubliczna usługa lub port, np. Synology_5555.
Translated source (SNAT)Zwykle Original; zmiana ukrywa prawdziwy client IP.
Translated destination (DNAT)Serwer wewnętrzny lub lista serwerów.
Translated service (PAT)Usługa lub port wewnętrzny, np. HTTPS; bez zmiany portu Original.
Inbound interfaceCzęsto Any lub WAN.
Outbound interfaceZwykle Any.

Pasująca Firewall Rule

DNAT rule nie wystarcza. Potrzebna jest Firewall Rule zezwalająca na ruch.

PoleZalecenie
Source zonesZwykle WAN.
Source networks and devicesUnikać Any, jeśli to możliwe; używać krajów, IP, sieci, FQDN hosts lub grup.
Destination zonesStrefa celu wewnętrznego, np. SERVER lub DMZ.
Destination networksPubliczny adres lub WAN host object z Original destination.
ServicesUsługa zewnętrzna z Original service.
Log firewall trafficWłączyć dla usług publikowanych.

💡 Usługi publiczne szybko trafiają pod skanowanie botów. Sophos Firewall Threat Feeds pomaga wcześnie blokować znane złośliwe IP, domeny lub URL.

Loopback, Reflexive Rules i kolejność

Loopback Rule jest potrzebna, gdy klienci wewnętrzni mają osiągać serwer wewnętrzny przez publiczny IP lub publiczny FQDN. Często prostszy jest Split DNS.

Reflexive Rule to automatycznie tworzona SNAT rule dla DNAT rule. Może być przydatna, gdy opublikowany serwer ma wychodzić z określonym publicznym IP. Dla zwykłych odpowiedzi na połączenie DNAT zwykle nie jest potrzebna.

Sophos przetwarza NAT rules od góry do dołu. Wygrywa pierwsze dopasowanie. Szczegółowe DNAT i SNAT powinny być nad ogólnymi regułami MASQ.

Load balancing i Health Check

Jeśli wiele serwerów wewnętrznych jest ustawionych jako Translated destination, firewall może rozdzielać ruch.

MetodaUżycie
Round robinProsty podział
First aliveSerwer główny z failover
RandomLosowy podział
Sticky IPTa sama kombinacja source-destination na tym samym serwerze
One-to-oneStałe mapowanie

Do sprawdzania dostępności serwera trzeba włączyć Health check.

Troubleshooting

  1. Otworzyć Log viewer i filtrować po Source IP, Destination IP i usłudze.
  2. Sprawdzić Firewall Rule ID i NAT Rule ID.
  3. Sprawdzić pozycję NAT rule.
  4. Sprawdzić pozycję Firewall Rule.
  5. Użyć Diagnostics > Packet capture.
  6. Sprawdzić nat_rule.log, firewall_rule.log i fwlog.log.
  7. Przy VPN lub XFRM sprawdzić też charon.log, strongswan.log i xfrmi.log.

Jeśli NAT rule nadal nie pasuje, pomagają Firewall rule nie pasuje: sprawdź kolejność, matching i logi oraz Packet Capture w WebAdmin. Nazwy usług i logi opisuje Sophos Firewall Troubleshooting: Services i logs. Logi dla supportu można wyeksportować przez Zapisz logi Sophos Firewall dla supportu i analizy.

Więcej informacji