Ausgehende VPN Verbindungen fuer bestimmte Clients

Started by coffeemachine, November 02, 2024, 12:37:40 PM

Previous topic - Next topic
Hey Community,

ich versuche mal meinen Ansatz zu erklaeren und hoffe ihr habt ein paar Tipps was dann der wohlmoeglich beste Weg waere dieses umzusetzen.

Ich habe die Moeglichkeit ueber verschiedene VPNs (VyprVPN und private Systeme) nutzen zu koennen,  nun aber meine Frage wie kann ich bestimmten Clients zuweisen, ihren gesamten Datenverkehr zum Internet durch das VPN zu senden, weiterhin aber im internen Netzwerk erreichbar zu sein. Dies sollte aber auf der OPNsense Maschine passieren und nicht via Software-Client auf jedem einzelnen System.

Die selbst gehosteten Dienste sollen aber von den VPN Verbindungen unangetastet bleiben?


Besten Gruß Kaffeemaschine
war is peace. freedom is slavery. ignorance is strength.

Für diese Clients eigene allow Regeln auf LAN und dabei den Gateway auf den VPN-Tunnel setzen.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

... Und diese Regeln natürlich vor der default allow anordnen.
Für die Clients entweder eine Regel mit deren IP oder einfacher (falls auch für v6 zutreffend) ein alias mit deren MAC verwenden.
i am not an expert... just trying to help...

Damit die Regel nur für Ziel-IP außerhalb deines Netzes angewandt wird, braucht es noch einen entsprechenden Alias als Ziel.

Ich habe mir hierfür einen RFC 1918 Alias angelegt, der alle privaten Netzwerkbereiche enthält. Diesen verwende ich dann in der Gateway-(policy Routing)-Regel mit "invert" angehakt. Die Regel trifft dann nur auf Ziel-IPs im öffentlichen Adressraum zu und tut damit das Gewünschte.

Wenn du auch ein lokales IPv6 hast, musst du das auch in den Alias inkludieren, oder einen eigenen mit eigener Regel anlegen.

Um dieses auszuprobieren habe ich mir erst einmal ein altes Notebook gegriffen mit einer zweiten USB Netzwerkkarte ausgestattet und im Netzwerk konfiguriert. Zwar ist der WAN Anschluss mein eigentliches Netz, der LAN aber ein eigener Bereich mit nem Notebook und Smartphone als Client dahinter.

Ich bin der Einrichtung der OpenVPN Verbindung von VyprVPN gefolgt, somit wirft die OPNSense danach alles durch den Tunnel.

Dann habe ich einen Alias angepasst mit der MAC Adresse meines Smartphones und einen Alias mit der MAC meines Notebooks, auch die ausgehenden Regeln habe ich manuelle angelegt, mein Smartphone wird via VPN ins Netz gelassen mein Notebook in dem Falle nicht. Trage ich die MAC des Notebooks in den ersten Alias ein, laeuft auch dieses Problemlos dadrueber.

Das mit den Gateways habe ich jetzt noch nicht ganz verstanden, ebenfalls denke ich happert es an meinen Regeln. Ich nehme da gern den ein oder anderen Tipp, was ich uebersehe.



Mit sonnigem Gruß Kaffeemaschine
war is peace. freedom is slavery. ignorance is strength.

Ich verstehe das aktuelle Problem noch nicht wirklich... Oder die Frage...
Wenn Smartphone und Notebook gleich behandelt werden sollen, dann brauchst du auch nur einen alias.
Screenshots eer Regeln wären hilfreicher als Screenshots vom alias ;)
i am not an expert... just trying to help...

Quote from: coffeemachine on November 03, 2024, 12:28:13 PM
Das mit den Gateways habe ich jetzt noch nicht ganz verstanden
Das mit dem Gateway in der Firewall Regel? Das hast du bei deinem Test doch angewandt, oder?

Das nennt sich Policy Routing. Die Pass-Regel funktioniert grundsätzlich wie andere, ist aber um das Gateway erweitert, wodurch sie Traffic, auf welchen sie zutrifft auf das Gateway routet.
Ob sie zutrifft, hängt von Interface, Richtung, IP Version, Protokoll, Quell-IP und -Port und Ziel-IP und -Port ab.
Treffen alle Bedingungen zu, wird das Paket auf das gesetzte Gateway geroutet.

Quote from: coffeemachine on November 03, 2024, 12:28:13 PM
ebenfalls denke ich happert es an meinen Regeln. Ich nehme da gern den ein oder anderen Tipp, was ich uebersehe.

Zu beachten ist hier die Reihenfolge der Regeln. Die Regeln werden am Interface von oben nach unten geprüft. Trifft eine zu, wird sie angewandt und weitere werden ignoriert.
Floating Regeln und Regeln auf Interface Gruppen haben Vorrang gegenüber Interface-Regeln, werden also zuerst geprüft.

Trifft also ein Pass-Regel vor der Policy Routing-Regel zu, kommt letztere nicht zur Anwendung.

Quote from: viragomann on November 03, 2024, 08:40:29 PM
Das mit dem Gateway in der Firewall Regel? Das hast du bei deinem Test doch angewandt, oder?
An dem Punkt bin ich mir nicht ausreichend 'sicher' dies zu bestaetigen.  ;)
Ich bin an meinem Test-Aufbau damit noch am tuefteln.
war is peace. freedom is slavery. ignorance is strength.

Das nennt sich dann Policy based routing und ist hier beschrieben: https://docs.opnsense.org/manual/firewall.html#policy-based-routing

Trifft ein Paket auf die Bedingungen zu, wird es auf das gesetzte Gateway geroutet.
Die Bedingungen sind:
Interface
IP Version
Protokoll
Quell IP
Quell Port
Ziel IP
Ziel Port

Wenn du den oben von mir vorgeschlagenen Alias (private IP Ranges) als Ziel einsetzt und da invert anhakst, trifft die Regel für alle Ziel IPs zu, die keine privaten Netze sind, also nur Ziel IPs im Internet, und das ist doch was du möchtest, so wie ich es verstanden habe.

November 09, 2024, 04:47:17 PM #9 Last Edit: November 09, 2024, 05:31:58 PM by coffeemachine
Quote from: viragomann on November 09, 2024, 09:36:14 AM
Das nennt sich dann Policy based routing und ist hier beschrieben: https://docs.opnsense.org/manual/firewall.html#policy-based-routing

Wenn du den oben von mir vorgeschlagenen Alias (private IP Ranges) als Ziel einsetzt und da invert anhakst, trifft die Regel für alle Ziel IPs zu, die keine privaten Netze sind, also nur Ziel IPs im Internet, und das ist doch was du möchtest, so wie ich es verstanden habe.
Also ich stehe noch total auf dem Schlauch, wenn die VPN Verbindung Aktiv ist unter "Firewall", "NAT" -> "Outbound" habe ich den 'Hybrid Modus' aktiv, fuege dann eine Regel hinzu, dann packt er alles durch das VPN. (siehe Bild)
Ich habe dies eingeschraenkt mit Mac Adressen im Alias, was bei zwei Clients auch funktioniert, nur der dritte geht nicht ueber den normalen Anschluss mehr raus, also ohne VPN.
Jetzt suche ich aber auch noch danach das Gateway einzurichten, sehr gut waer dann ja dies im statischen DHCP entsprechend zu verteilen.
Grundsaetzlich moechte ich einen Bereich an IP-Adressen oder bestimmte IP Adressen immer dazu noetigen durch einen VPN Tunnel (Anbieter VyprVPN)  ins Internet zu kommunizieren. Die Systeme welche aber Dienste bereitstellen Wolke, VPN, TVHeadend sollten aber ueber den eigentlichen Anschluss heraus gehen.
Also ich habe es irgendwie hin bekommen, mit den Regeln so zu agieren das Alias_1 (Smartphone) sowohl ueber das VPN als auch ueber WAN kommuniziert, die gleiche Regel mit Alias_2 der ueber WAN nicht nicht ueber VPN raus soll, klappt so nicht.

Beste Aufgabe(n) bei dem biestigen Wetter hier im Norden! :-)
war is peace. freedom is slavery. ignorance is strength.

Quote from: coffeemachine on November 09, 2024, 04:47:17 PM
Also ich stehe noch total auf dem Schlauch, wenn die VPN Verbindung Aktiv ist unter "Firewall", "NAT" -> "Outbound" habe ich den 'Hybrid Modus' aktiv, fuege dann eine Regel hinzu, dann packt er alles durch das VPN.
Das ist eine NAT Regel, die macht nur NAT, S-NAT im Fall von Outbound, die routet aber keinen Traffic und kann damit nicht verantwortlich sein, dass der Traffic über die VPN geht.
Die ist jedoch nötig, wenn Traffic über ein Interface rausgeht, wo es kein Route retour zu ursprünglichen Quell-IP gibt, also typischerweise ins Internet.

Das Routing muss anderswo gesetzt sein. Schau mal in die Routingtabelle.
Geht die Route auf den VPN-Server, aber die NAT-Regel fehlt, scheitert jegliche Verbindung ins Internet.

Typischerweise pushen VPN Dienste die Standardroute auf den Client, was heißt, dass nach Verbindungsaufbau der gesamte Upstream-Traffic zum VPN-Server geht.
Wenn du das nicht möchtest, weil du per Policy Routing nur bestimmte Quell-IPs über die VPN routen möchtest, musst du in den VPN Client Einstellungen "Don't pull routes" anhaken.

QuoteIch habe dies eingeschraenkt mit Mac Adressen im Alias, was bei zwei Clients auch funktioniert, nur der dritte geht nicht ueber den normalen Anschluss mehr raus, also ohne VPN.
Also ist das gar nicht das Problem?

Die OPNsense sieht die richtige MAC?
Schau mal in die ARP Tabelle.

QuoteJetzt suche ich aber auch noch danach das Gateway einzurichten, sehr gut waer dann ja dies im statischen DHCP entsprechend zu verteilen.
Welches Gateway?
OPNsense ist dein Gateway für die lokalen Geräte, oder nicht?

Quote from: viragomann on November 09, 2024, 05:37:10 PM
OPNsense ist dein Gateway für die lokalen Geräte, oder nicht?
Bisher war dies sowohl in der produktiven Umgebung als auch im Test-Aufbau, nun habe ich mal alles zurueck gesetzt denn durchs falsche Verstaendniss der Regeln bzw. entsprechenden Punkte.

Wie waer denn jetzt eurer Vorgehen, Reihenfolge dies so umzusetzen?
war is peace. freedom is slavery. ignorance is strength.

Fantastisch mit euren Hinweisen, konnt ich mir das Wissen aneignen, das VPN einzurichten, das Gateway anzulegen und entsprechende Regeln und Aliase anzulegen, direkt bestimmte Geraete durchs VPN zu bringen.

Es funktioniert bisher hervorragend.

Vielen Lieben Dank fuer die Hilfe, Kaffeemaschine
war is peace. freedom is slavery. ignorance is strength.