wpnd3191
Goto Top

Pfsense Routing zwischen OpenVPN und IPsec Tunneln

Guten Tag liebe Gemeinde,

auch wenn ich neu hier bin, hoffe ich doch auf eure Hilfe in einem Thema.
Wir haben einen etwas größeren Kunden, der eine neue Firewall erhalten hat.
Der Aufbau des Kunden ist wie folgt.

Außenstellen -> OpenVPN -> Zentrale -> IPsec -> Cloud

Die Außenstellen greifen über das Internet ohne Tunnel auf die Cloud zu. Mittels Software auf jedem Client.
Ein Gerät wird jedoch aus der Cloud über den Tunnel angesprochen.
In den Außenstellen und der Zentrale wird PFsense eingesetzt. In der Cloud ist mir leider kein Geröt bekannt.
Für den Zugriff von Cloud auf Zentral Netz haben wir ein Netmap Netz erhalten. Ebenfalls ist es notwendig für die Außenstellen den Zugriff aus der Cloud mittels NAT erfolgt. Hierfür haben wir ebenfalls ein NAT Netz /24 zur verfügung gestellt bekommen. Allerdings wird das Netz aufgeteilt da nur ein Gerät aus der Cloud her angesprochen werden muss. Daher eine IP pro Außenstelle.
Mein Problem ist, dass ich die Verbindung zwischen Cloud und Außenstelle nicht hinbekomme.
Hier dazu ein Beispiel.

Außenstelle Reales Netz: 10.13.19.0/24
Außenstelle NAT IP: 172.221.3.22

Zentrale Reales Netz: 192.168.123.0/24
Netmap Netz: 172.221.1.0/24

Cloud Netz: 10.230.10.0/24

Das NAT soll an der Stelle die Zentale Firewall machen zwischen den beiden Netzen.
Im IPsec Phase 2 habe ich als lokales Netz das Zentral Netz, das NAT Netz und das entfernte Netz der Cloud definiert.

Ebenfalls habe ich eine zweite Phase 2 erstellt und hier das virtuelle NAT Netz für die Außenstellen und das Cloud Netz definiert.
Beide SAs werden auch aufgebaut, aber ich bekomme nur Traffic in richtung Zentrale.

Im OpenVPN Tunnel für die Außenstellen, habe ich aus der Sicht der Zentral Firewall das Remote Netz 10.13.19.0/24, als lokales Netz die NAT Adresse 172.221.3.22/32 definiert. Die Frage ist das so richtig ? Ich spalte ja das Netz dann auf und erkennt nicht mehr das dies Teil des IPsec Tunnels ist ?

Aussehen soll das ganze dann hinterher so.

Außenstellen -> OpenVPN -> Zentrale -> IPsec -> Cloud

10.13.19.100 -> OpenVPN -> Zentrale -> HideNAT (172.221.3.22) -> Cloud (10.230.10.0/24)
Aus der Sicht der Cloud
diese soll das Gerät 172.221.3.22 ansprechen.

Cloud (10.230.10.0/24) - IPsec -> Zentrale -> NAT -> OpenVPN -> 10.13.19.100


Testweise habe ich Outgoing NAT auf dem IPsec Interface erstellt mit der Quell Adresse der Außenstelle. Und umgekehrt.

Wie bekomme ich das am besten hin ?


Vielen Dank und schönes Wochenende.

Content-ID: 3516595523

Url: https://administrator.de/contentid/3516595523

Ausgedruckt am: 21.11.2024 um 20:11 Uhr

micneu
micneu 04.02.2024 um 15:40:16 Uhr
Goto Top
Was ist die Cloud AWS oder Google Cloud?
Nutzt ihr IPSec von der AWS (VPCs) oder ist da eine VM wo das IPSec konfiguriert ist?
Wir machen bei uns in der Firma IPSec zu den VPCs und haben überall Mehrer Phase 2 eingetragen (ich bin jetzt nicht ganz im Thema mein Kollege hat auch BGP-Konfiguriert)
wpnd3191
wpnd3191 04.02.2024 um 16:40:29 Uhr
Goto Top
Das kann ich nicht genau sagen, ist aber nix populäres.
Da hängt irgend ne Firewall hinter , die ipsec macht.
Da habe ich auch 2 Phase 2 hinterlegt.
Aber wie bekomme ich das Routing hin ?
aqui
aqui 04.02.2024 aktualisiert um 21:34:12 Uhr
Goto Top
Diese Threads sollten zur Problemlösung helfen:
IPsec und OpenVPN 1
IPsec und OpenVPN 2
wpnd3191
wpnd3191 05.02.2024 um 07:21:31 Uhr
Goto Top
Ja okay, Danke erstmal.
Danach habe ich gesucht.
Aber in dem Fall habe ich die besonderheit, dass ich ja NAT mache in richtung IPsec, kommend aus der OpenVPN Richtung.
Ich habe ein /24 Netz welches von der Firewall zum NAT aufgesplittet wird. Wie bewerkstellige ich das dann ?
Pro OpenVPN Client soll ja eine Adresse aus dem Netz genutzt werden ?
orcape
orcape 05.02.2024 um 08:50:05 Uhr
Goto Top
Pro OpenVPN Client soll ja eine Adresse aus dem Netz genutzt werden ?
Diese Einstellungen sollten alle in dem OpenVPN-Server Einstellungen, bzw. der CCD der pfSense erfolgen. Der OpenVPN-Server, bzw. die Client-Spezific-Overrides müssen die entsprechenden Routen kennen.
Dort muss also zwingend das IPSec-Netz mit erscheinen.
Topology Subnetz ist im OpenVPN-Server aktiviert? Dann sollte das mit den Einstellungen eines einelnen Clients kein Thema werden.
Im Gegenzug hast Du ja den Phase2 Eintrag für den OpenVPN-Client im IPSec-Tunnel hoffentlich bereits eingetragen.
Es funktioniert auch mit Sicherheit, denn beim mir geht das, allerdings mit OpenVPN-Einzelclient - pfSense - IPSec zu einer Fritte seit längerem problemlos. Wenn 's trivial wäre, würd 's jeder können. face-wink
wpnd3191
wpnd3191 05.02.2024 um 10:30:47 Uhr
Goto Top
Okay, ja das habe ich.
allerdings habe ich hier ja die NAT PRoblematik, da ich nicht direkt durch routen kann.
Daher habe ich im OpenVPN Server unter den Overrides je eine NAT Adresse pro Außenstelle als /24 hinterlegt, bei der local Adresse aus der sicht der Zentral PFsense, da diese ja NAT machen soll.
Richtig ?
Ebenfalls als lokales Netz das Cloud NEtz, welches in Richtung IPsec geht.

Die Frage ist, wie bekomme ich das NAT am besten hin ?
aqui
aqui 06.02.2024 um 10:22:53 Uhr
Goto Top
Per se supportet die pfSense auch ein NAT im IPsec Tunnel. Bekanntlich keine saubere und schöne Lösung, denn sie ist immer ein Indiz für eine schlampige IP Adressplanung aber technisch problemlos möglich. Netgate selber hat eine detailierte Doku dazu:
https://docs.netgate.com/pfsense/en/latest/vpn/ipsec/phase-2-nat.html
wpnd3191
wpnd3191 06.02.2024 aktualisiert um 11:51:16 Uhr
Goto Top
Ja gut, das kenne ich auch schon. HAbe ich auch schon implememtiert für das zentral Netz.
Dort funktioniert das ganze auch schon sauber.
Allerdings im zweiten Netz welches für die verschiedenen Außenstellen Netze gedacht ist nicht, da ich hier ja nicht nur ein NEtz, sondern viele verschiedene Subnetze habe. Ich habe als NAT Netz 172.221.3.0/24 erhalten, teile diese jedoch in je 1x Adresse pro OpenVPN Client auf. Die NAT Funktion kann ich hier ja nicht so einfach verwenden oder ?
Meine Idee war dann eher ein NAT auf dem IPsec "interface" zu erstellen.
Das funktioniert jedoch nicht sauber.

Ich hatte überlegt mittels 1:1 NAT auf dem IPsec Interface pro Außenstelle eine Regel zu erstellen.
Kann das funktionieren ? Ich muss das NAT ja zwangsläufig außerhalb des Tunnels durchführen lassen.
aqui
aqui 06.02.2024 um 14:56:02 Uhr
Goto Top
teile diese jedoch in je 1x Adresse pro OpenVPN Client auf.
Arbeitest du dort mit dem veralteten NET30 Verfahren oder mit dem modernen Subnet?? Siehe dazu hier.
wpnd3191
wpnd3191 06.02.2024 um 18:24:49 Uhr
Goto Top
Nein,
Also ich habe ein Subnetz fürs OpenVPN.
Jeder Client erhält aus dem Netz eine Adresse.
Vom Cloud Provider habe ich ein NAT Subnetz /24 für die Außenstellen erhalten. Diese SA steht auch so im ipsec Tunnel drin. Aber brauche ich pro Außenstelle eine Adresse aus diesem Netz welches dann NAT im OpenVpN machen soll.
Mit dieser einen NAT Adresse aus dem IPSec Tunnel muss ich dann in durch den OpenVPN Tunnel NATTEN
aqui
aqui 06.02.2024 aktualisiert um 18:52:28 Uhr
Goto Top
Also ich habe ein Subnetz fürs OpenVPN.
Das ist evident!
Jeder Client erhält aus dem Netz eine Adresse.
Da ist die Frage WIE?? Mit einen NET30 Pärchen oder als normale Subnet Adresse. Hast du den dir oben geposteten Abschnitt im Tutorial dazu gelesen und daraufhin deine OVPN Server Konfig angesehen?? Die Konfig dort entscheidet ob NET30 oder Subnet.
https://openvpn.net/community-resources/reference-manual-for-openvpn-2-5 ...
"topology" und "push topology" Kommando.

Nervig ist der "Zoo" mit 2 VPN Protokollen. Es wäre deutlich einfacher und technisch sinnvoller gewesen bei einem gemeinsamen VPN Protokoll (IPsec) zu bleiben. face-sad
Zumal das in die Jahre gekommene OVPN auch noch recht mies vom Durchsatz ist.
wpnd3191
wpnd3191 07.02.2024 um 07:12:40 Uhr
Goto Top
Guten Morgen,

Vielen Dank für die Rückmeldung.
Ja, der Client erhält die Adresse aus dem Subnetz. NICHT als /30.
Die gemischte Umgebung oblag leider nicht unserer Entscheidung.
Die Route bekomme ich gepushed.
Dennoch, wie muss die PFsense das NAT richtig machen ?
In beide Richtungen ?
aqui
aqui 08.02.2024 um 10:24:54 Uhr
Goto Top
Ja, der Client erhält die Adresse aus dem Subnetz.
OK, dann steht ja vermutlich auch topology subnet in deiner Server Konfig, oder? Steht es dort nicht fällt OVPN auf das alte NET30 Verfahren zurück.
In beide Richtungen ?
Ja, wenn es bidirektionales NAT sein muss, dann natürlich. Andernfalls ist es ja immer eine NAT Einbahnstrasse.
Die gemischte Umgebung oblag leider nicht unserer Entscheidung.
Von einem verantwortungsvollen Netzwerker mit entsprechendem KnowHow kommt das dann aber nicht. face-sad
aqui
aqui 25.02.2024 um 12:56:31 Uhr
Goto Top
wpnd3191
wpnd3191 28.03.2024 aktualisiert um 07:21:22 Uhr
Goto Top
Guten Morgen, leider war es das aktuell noch nicht. Das Thema ist weiterhin offen und immer noch nicht gelöst.
Die beiden Standorte sind nun sauber mittels IPsec verbunden und der Datenverkehr läuft auch sauber.
Die Außenstellen sind mittels Openvpn verbunden.
Ja, in der Config steht topology subnet. Jeder OpenVPN Client erhält eine IP Adresse aus dem großen Subnetz.
Die Frage steht weiterhin im Raum wie bekomme ich das bidirektionale NAT konfiguriert ?
Ich habe ein NAT Subnetz erhalten was in richtung IPsec geht. Aus diesem NAT erhält ebenfalls jede Außenstelle eine IP Adresse und darauf soll dann ein Gerät erreichbar gemacht werden.
Die Frage ist, wie bekomme ich das sauber konfiguriert.

Ich würde das NAT als 1:1 NAT auf dem OpenVPN Interface konfigurieren.
MAcht das Sinn ?
aqui
aqui 28.03.2024 aktualisiert um 10:49:09 Uhr
Goto Top
Jeder OpenVPN Client erhält eine IP Adresse aus dem großen Subnetz.
Wichtig ist die Routing Tabelle dieser Clients die der OpenVPN Server ihnen mitgibt, denn der muss den Clients logischerweise sagen das diese auch die IPsec Netze in den OpenVPN Tunnel geroutet werden müssen.
Auf der IPsec Seite muss man den IPsec Routern in der Phase 2 auch immer das OpenVPN Client IP Netz mitgeben so das diese ebenfalls das OpenVPN Netzwerk mit in ihren Tunnel routen.
Eigentlich eine simple und einfache Logik die ein fehlerfreies IP Routing ermöglicht wenn man auf beiden VPN Seiten diese Dinge beachtet!
Ein wichtiges Hilfsmittel ist dafür immer die Routing Tabelle bei aktivem OpenVPN Client!!
Wenn du dort einmal einmal bei aktivem OpenVPN ein route print (Winblows) eingibst MUSST du die IPsec IP Netze dort sehen und das deren next Hop Gateway das OpenVPN Tunnel Interface ist.
Ist das der Fall bei dir??

Wenn du natürlich in beiden Netzen bzw. VPN Welten doppelte IP Netze hast wird das ein sehr schweres Unterfangen, denn dann musst du zwangsweise Source- und Destination NAT machen zu beiden Welten. Das ist ein schweres Brot wenn man dort nicht sattelfest ist und dann sollte man sich reiflich überlegen ob man in dem Fall nicht doch eine neue und saubere IP Adressierung macht und doppelte IP Netze entfernt bzw. korrigiert um so ein sauber tansparentes IP Routing ohne NAT zu ermöglichen?!
aqui
aqui 08.04.2024 um 15:48:18 Uhr
Goto Top
Wenn es das denn nun war bitte deinen Thread dann auch als erledigt schliessen!
Wie kann ich einen Beitrag als gelöst markieren?