HOWTO: SNAT (Port Forwarding) auf einer WatchGuard Firewall
Dieser Artikel beschreibt die Einrichtung eines Port Forwardings (SNAT) auf einer WatchGuard Firewall.
Sollen einzelne Zugriffe von Extern ins interne Netz weitergeleitet werden, wird ein eingehendes NAT (Network-Address-Translation) benötigt. Bei üblichen Modem-Routern (Fritzbox etc.) wird dieses Vorgehen „Port Forwarding“ genannt.
Sehr häufig ist es notwendig, verschiedene Ports auf verschiedene interne Server weiterzureichen. WatchGuard hat dieses Vorgehen etwas abstrahiert, was erfahrungsgemäß zwar sehr praktisch ist, aber für Personen, die das erste Mal damit konfrontiert werden, etwas ungewöhnlich erscheint.
Zunächst muss man sich vorstellen, dass der Port Forward in zwei Aktionen aufgesplittet wird:
- das eingehende NAT
- die portbasierte Paket-Filter-Regel (bzw. Proxy-Filter-Regel)
Zunächst definieren wir also den eingehenden NAT in einer SNAT-Action. SNAT steht hierbei für Static NAT – es ist statisch eine eingehende IP der internen IP zugeordnet.
Im Policy Manager wird das über Setup => Actions => SNAT konfiguriert. In der Maske kann man anschließend das NAT konfigurieren:
Man sieht sehr schön, dass hier mehrere Regeln definiert werden können. Diese können mit Add hinzugefügt und mit Edit bearbeitet werden. In der eigentlichen Edit-Box hat man nun die Möglichkeit, die (Externe) IP-Adresse zu definieren, für die das NAT gelten soll. Any-External steht hierbei für „egal auf welchem externen Interface“. Hier kann man auch ein gezieltes Interface einstellen (z.B. „DSL“ oder „CompanyConnect“, wenn man die Interfaces so benannt hat). Ebenso erscheinen hier in der Interface-Maske die DMZ-Interfaces (genauer gesagt: alle Intefaces, die nicht vom Typ „Trusted“ sind. Wenn man statische IPs auf das externe Interface gebunden hat, so sind diese auch hier gelistet und können gewählt werden. Im typischen Fall mit einer einzigen IP auf dem externen Interface reicht hier das „Any-External“.
Nun wird die interne IP festgelegt, an die der Traffic weitergeleitet werden soll. In diesem Falle ist es die IP 10.0.2.21
Damit ist nun also die erste Hälfte konfiguriert: Traffic von Extern an die Firewall wird (sofern es die Policies erlauben, die wir im zweiten Schritt einrichten) an genau die dort hinterlegte IP weitergeleitet.
Als nächstes wird nun eine Policy erstellt, die den eingehenden Traffic erlaubt:
- im “From”-Feld wird „Any-External“ eingetragen
- im “To”-Bereich wird das „Any-External“ (Default bei den meisten neuen Regeln) entfernt und der SNAT hinzugefügt:
Im Ergebnis sehen wir dann den SNAT in der Policy:
Auch in der Übersichtsliste des Policy Managers ist der SNAT sehr schön dargestellt. Man sieht: das NAT kommt von der SNAT-Action Any-External => 10.0.2.21; der Port (hier 21) kommt von der FTP-Proxy-Policy.
Möchte man nun einen weiteren Port des gleichen Servers erreichbar machen (z.B. Port 80), erstellt man eine entsprechende HTTP-Policy und weist die gleiche SNAT-Action zu.
Wird der Server hausintern dann durch einen neuen Server mit neuer IP ersetzt, muss man lediglich die Ziel-IP im SNAT auf den neuen Server umbiegen und beide Policies sind aktualisiert. Dies ist der eigentliche Vorteil der SNAT-Actions bei mehrfacher Verwendung.
Um einen sog. „Exposed Host“ einzurichten, leitet man einfach „alle Ports“ entsprechend weiter – entweder mit der Policy „TCP-UDP“ (die alle TCP- und UDP-Ports enthält) oder mit einer Any Policy.
Sinnvoller ist es natürlich in den allermeisten Fällen, nur gezielte Ports freizuschalten.
HOWTO: Konfiguration einer WatchGuard Firebox für den Betrieb einer 3CX VoIP Telefonanlage - BOC IT-Security GmbH
Hi, wäre noch interessant, wie man es macht, dass ein externer Port auf einen anderen internen geleitet wird (PAT).