PFsense Outbound NAT (S-NAT)
Hallo zusammen,
seit kurzem bin ich umgestiegen von der Sophos UTM zur PFsense. Soweit läuft alles wie ich es möchte. Nur mit dem Outbound-NAT habe ich so meine Schwierigkeiten.
Es besteht ein Ipsec S2S VPN zu einem anderem Standort. Das lokale LAN-Netz hat die 192.168.80.0/24, das entferne LAN (über IPsec angebunden) die 192.168.90.0/24.
Zu der Pfsense besteht eine OpenVPN Verbindung (Quell-Netz 10.55.66.0/24), greife ich nun per RDP auf einen Server (192.168.90.20) im entfernten LAN von über die OpenVPN Verbindung zu, benötige ich eine NAT-Outbound Rule, dass die Absender-IP im 192.168.80.0/24 Netz liegt.
Mit der Sophos UTM war das kein Problem...

Ich denke, das dürfte bei der PFSense auch kein Problem sein.... Hier habe ich erstmal auf "Hybrid Outbound NAT" gestellt.
Wo liegt hier der Fehler, oder habe ich etwas Grundlegendes vergessen?
Grüße
seit kurzem bin ich umgestiegen von der Sophos UTM zur PFsense. Soweit läuft alles wie ich es möchte. Nur mit dem Outbound-NAT habe ich so meine Schwierigkeiten.
Es besteht ein Ipsec S2S VPN zu einem anderem Standort. Das lokale LAN-Netz hat die 192.168.80.0/24, das entferne LAN (über IPsec angebunden) die 192.168.90.0/24.
Zu der Pfsense besteht eine OpenVPN Verbindung (Quell-Netz 10.55.66.0/24), greife ich nun per RDP auf einen Server (192.168.90.20) im entfernten LAN von über die OpenVPN Verbindung zu, benötige ich eine NAT-Outbound Rule, dass die Absender-IP im 192.168.80.0/24 Netz liegt.
Mit der Sophos UTM war das kein Problem...

Ich denke, das dürfte bei der PFSense auch kein Problem sein.... Hier habe ich erstmal auf "Hybrid Outbound NAT" gestellt.
Wo liegt hier der Fehler, oder habe ich etwas Grundlegendes vergessen?
Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 672256
Url: https://administrator.de/forum/pfsense-outbound-nat-s-nat-672256.html
Ausgedruckt am: 05.04.2025 um 05:04 Uhr
16 Kommentare
Neuester Kommentar
Das Interface ist falsch da muss das WAN-Interface rein, dort wo der Traffic per IPSec raus geht. Und die Quelle solltest du auch festlegen, sonst wird jeglicher RDP Traffic zum Ziel genattet auch der vom LAN der Sense.
Des weiteren muss natürlich der OpenVPN Client wissen daß er das 192.168.90.0/24 Netz über den Tunnel erreichen kann .
Aber wieso überhaupt NAT? Lege einfach ein weitere Phase2 im IPSec Tunnel an welche das OpenVPN Netz inkludiert (auf beiden Seiten, geht natürlich nur wenn du auch Einfluss auf die Gegenseite hast), fertig ...
Btw. RDP läuft mittlerweile auch über UDP wenn es so konfiguriert ist ...
Des weiteren muss natürlich der OpenVPN Client wissen daß er das 192.168.90.0/24 Netz über den Tunnel erreichen kann .
Aber wieso überhaupt NAT? Lege einfach ein weitere Phase2 im IPSec Tunnel an welche das OpenVPN Netz inkludiert (auf beiden Seiten, geht natürlich nur wenn du auch Einfluss auf die Gegenseite hast), fertig ...
Btw. RDP läuft mittlerweile auch über UDP wenn es so konfiguriert ist ...
benötige ich eine NAT-Outbound Rule, dass die Absender-IP im 192.168.80.0/24 Netz liegt.
Nein, das ist falsch und zeigt das du die IPsec Verbindung falsch oder in Bezug auf die OpenVPN Anbindung fehlerhaft konfiguriert hast. NAT im Tunnel ist immer kontraproduktiv.Kollege @BiberMan hat es oben schon gesagt:
Hier musst du lediglich eine 2te Phase 2 mit dem internen OpenVPN IP Netz (10.55.66.0) dazukonfigurieren das der Traffic mit in den Tunnel geroutet wird dann kannst du dir die unnötige und überflüssige NAT Frickelkei sparen. Negativ dazu kommt das das NAT das Routing in eine Einbahnstrasse verwandelt.
Beim OpenVPN musst du zusätzlich einen Routing Eintrag in die Client Konfig bringen sofern du mit Split Tunneling statt mit einem Redirect arbeitest. Siehe dazu Beispiele im OpenVPN Tutorial.
Vielleicht auch einmal Zeit über die Ablösung des wenig performanten und skalierenden OpenVPN nachzudenken. Wenn du so oder so alles auf IPsec hast, dann ist es unsinnig noch zusätzlich mit einem 2ten separaten VPN Protokoll zu arbeiten. Zumal man mit der pfSense das in allen Betriebssystemen und Endgeräten so oder so vorhandene onboard VPN mit entweder L2TP oder IKEv2 nutzen kann und sich so den Zoo mit überflüssigen VPN Protokollen und überflüssiger Client Software ersparen kann.
PfSense VPN mit L2TP (IPsec) Protokoll für mobile Nutzer
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
Ein Beispiel für das Setup mit 2 Phase 2 SAs findest du unter anderen hier:
PFSense mit Fritzboxen verbinden
Routingprobleme über OpenVPN auf Fritzbox
usw.
Nein ... Du solltest hier nur eine IP nutzen die an der pfSense selbst anliegt, die pfSense hat hier IMHO eine Beschränkung. Pack da die 192.168.80.10/32 rein, dann lüppt dat sofern deine Firewall den Traffic auch durchlässt.
Bei meiner PFSense hat die LAN Schnittstelle die IP-Adresse 192.168.80.10
Gute Admins mit sauberem IP Adresskonmzept setzen üblicherweise die Default Gateway IPs auf die höchste oder niedrigste Adressen im lokalen IP Netz. Bei einem anderen Anwendungsfall kann ich die entfernte Seite nicht bearbeiten
Irgendwie unlogisch denn irgendeiner muss dort vor Ort ja den Peer auf deine Firewall konfigurieren mit den SAs und dem Passwort etc.Dem musst du lediglich sagen das er außer der .80.0 als 2te Phase 2 noch das 10.55.66.0er Netz eintragen soll und gut iss. Wo ist das Problem?
Noch pfiffiger wäre es das lokale LAN als /25 zu setzen und die 2te "obere" Hälfte als das OpenVPN Client Netz zu verwenden. Dem Administrator am anderen Ende gibst du dann einfach die /24 Maske zu dem Netz und hast dann beide mit einer einzigen SA abgedeckt.
Sollten 126 Hosts im LAN nicht reichen nimmst du zwei aufeinander folgende /24 Netze. In deinem Falle dann die .80.0 und .81.0 und verwendest das .81er als VPN Client Netz.
Dem Admin am anderen Ende gibst du dann als .80.0er Maske die /23 mit und fertig ist der Lack.
So brauchst du pfiffigerweise eben nur einen einzigen Phase 2 SA wenn man ein sinnvolles IP Adresskonzept für den VPN Betrieb gemacht hat! Gewusst wie... 😉
- Hast du denn den Traffic auf dem OpenVPN Interface der Sense überhaupt erlaubt?
- Hast du auf dem OpenVPN Client eine Route in das fremde Netz (192.168.90.0/24) aktiv?
Und wie immer ins solchen Fällen. Erst mal die Firewall durchlässig machen, erst danach einschränken und im Zweifel einfach mit tcpdump/Wireshark sniffern.
Bedenke auch das das Ziel den Traffic auch aus fremden Netzen in seiner Client-Firewall zulassen muss!
Windows bspw. blockt per Default bei den meisten Protokollen Traffic aus fremden Subnetzen.
Zitat von @touro411:
Man sieht auch in den Firewalllogs, dass der RDP Traffic von 10.x.x.x zu 192.168.90.x geht
OKHast du denn den Traffic auf dem OpenVPN Interface der Sense überhaupt erlaubt?
JaMan sieht auch in den Firewalllogs, dass der RDP Traffic von 10.x.x.x zu 192.168.90.x geht
Hast du auf dem OpenVPN Client eine Route in das fremde Netz (192.168.90.0/24) aktiv?
Klar..Und wie immer ins solchen Fällen. Erst mal die Firewall durchlässig machen, erst danach einschränken und im Zweifel einfach mit tcpdump/Wireshark sniffern.
Also in der SSH Konsole der PFsense tcdump erstellen?Bedenke auch das das Ziel den Traffic auch aus fremden Netzen in seiner Client-Firewall zulassen muss!
Windows bspw. blockt per Default SMB/ICMP Traffic aus fremden Subnetzen
Das ganze hat mit der Sophos UTM funktioniert, an der entfernten FW ist das 192.168.80.0/24 komplett freigegeben...Windows bspw. blockt per Default SMB/ICMP Traffic aus fremden Subnetzen
Zitat von @touro411:
Es sieht so aus, als ob der betreffende Datenverkehr nicht über den Tunnel läuft, sondern "raus ins Internet" geht...
14:53:20.961425 PPPoE [ses 0x21e1] IP (tos 0x0, ttl 127, id 29866, offset 0, flags [DF], proto TCP (6), length 52)
192.168.80.10.60421 > 192.168.90.20.3389: Flags [S], cksum 0x2a90 (correct), seq 3012653218, win 65535, options [mss 1358,nop,wscale 8,nop,nop,sackOK], length 0
Es sieht so aus, als ob der betreffende Datenverkehr nicht über den Tunnel läuft, sondern "raus ins Internet" geht...
Normal, IPSec geht ja über das WAN-Interface raus nur halt "ipsec encapsulated" nachdem die Pakete die POSTROUTING Stage verlassen haben dafür sind ja die Phase2-Policies da, diese greifen immer erst nach dem Postrouting und sagen dem Router welche Pakete er duch den IPSec Prozess jagen soll...
Zitat von @touro411:
In der Routingtabelle auf der PFSense ist das 192.168.90.0/24 Netz nicht enthalten!? Müsste doch eigentlich drin sein,
Nein Irrtum! Das ist normal das da keine Routen auftauchen. IPSec selbst basiert rein auf Policies, nicht auf der Routingtabelle!In der Routingtabelle auf der PFSense ist das 192.168.90.0/24 Netz nicht enthalten!? Müsste doch eigentlich drin sein,
Die Encapsulation findet wie gesagt nach dem POSTROUTING statt, also erst nach der Routing Entscheidung und durch die Policies wird dem Router gesagt welche Pakete er danach durch den IPSec Prozess jagen und damit in IPSec Pakete einpacken soll und welche nicht.
Dieses Schaubild zeigt das schön: