OPNsense Forum

International Forums => German - Deutsch => Topic started by: Der_Affenkoenig on September 24, 2023, 01:04:23 PM

Title: Zwei VPNs miteinander verbinden
Post by: Der_Affenkoenig on September 24, 2023, 01:04:23 PM
Hallo,
ich bräuchte mal kurz Hilfe um zwei VPN-Tunnel miteinander zu verbinden.
Habe OpnSense jetzt erst seit 1-2 Wochen im Gebrauch, von daher bin ich da recht unerfahren, was man überall einstellen muss und kann und soll, und bin deshalb noch etwar ratlos, was die Problemlösung diesbezüglich angeht.

Ich möchte gerne von mobiler Seite her (mit dem Notebook von der Arbeit, Unterwegs,...) auf mein Heimnetz zu greifen, und möchte dies über VPN regeln.

Da ich zu Hause hinter einer doppelten NAT vom ISP sitze, fällt die Option weg, mich vom Notebook aus direkt in mein Heimnetzwerk zu verbinden (da ich nicht an meinen Router von außen gelange).

Deshalb hab ich mir überlegt, das ganze zu realisieren mit einer Zwischenstation, die als Vermittler dienen soll.
Zu diesem Zweck hab ich mir für ~5€ im Monat einen externen Server mit fester IP angemietet (4cores, 8GB RAM 120GB Speicher).

Hab da auch jetzt soweit schon VPN-Verbindgunen laufen (eine P2P vom Server zum Heimnetz und eine Remote-Verbindung vom Notebook zum Server), aber das läuft nicht so, wie ich das möchte.
Ich kann zwar vom Notebook aus auf den Server zugreifen (sowohl Firewall an sich als auch an Gegenstellen im Netz dahinter), und auch von dem Server aus auf mein Heimnetzwerk (und umgekehrt in beiden Fällen), aber nicht vom Notebook aus aufs Heimnetzwerk.

Da bin ich kein Profi drin, was ich da jetzt noch setzen müsste, bzw. ob es irgendwo einen Haken gibt, den ich setzetn müsste, hoffe ich mal, das mir jemand weiterhelfen kann.

Muss ich da irgendwo eine Route eintragen, oder müsste das nicht automatisch bekannt sein?
Muss da irgend ein bestimmter Haken für gesetzt sein?
Oder muss ich noch irgend eine extre Regel anlegen?



Setup:
(http://www.affenkoenig.eu/wspace/Netzwerk.jpg)

Seite A:
Notebook mit Windows 10
VPN-Verbindung über OpenVPN-Connect-Client
Verbunden mit Internet über WLAN oder Handy-Hotspot (IPv4)
     Transfernetz: 172.16.1.0/24
     lokales netz: DHCP / Dynamisch


Seite B:
OpnSense auf nem externen Server mit fester öffentlicher IP (178.254.x.x)
     lokales Netz: 192.168.100.0/24
1. Server: peer-to-peer Server
     transfernetz: 172.16.0.0/24
2. Server: Remote Server
     transfernetz: 172.16.1.0/24

Seite C:
OpnSense auf nem eigenständigen PC
     lokales Netz: 192.168.0.0/24
     transfernetz: 172.16.0.0/24




Da bin ich kein Profi drin, was ich da jetzt noch setzen müsste, bzw. ob es irgendwo einen Haken gibt, den ich setzetn müsste, hoffe ich mal, das mir jemand weiterhelfen kann.
Title: Re: Zwei VPNs miteinander verbinden
Post by: Monviech (Cedrik) on September 24, 2023, 02:01:31 PM
Als Alternative, wie wäre es mit IPv6 fürs VPN? Durch den IPv6 Tunnel kannst du ohne Probleme deine IPv4 Netze tunneln. Die Mobilfunkanbieter haben alle IPv6. NAT existiert hier nicht. Der Endpunkt kann dann deine Opnsense direkt sein ohne Cloud Relay Server.

Hier ein Tutorial für Fritzbox+Opnsense:

https://docs.opnsense.org/manual/how-tos/ipv6_fb.html

Edit: Natürlich musst du dann überall IPv6 haben, also am Client immer Mobilfunk verwenden oder dein Arbeitgeber ist modern und hat schon IPv6 im LAN/WLAN.


Edit 2, Antwort auf die eigentliche Frage:

Du hast hier wahrscheinlich ein Routingproblem (IP Adressen als Beispiel):

Seite A:
Laptop VPN Netz 1 Virtual IP: 172.16.1.2
Static Route: 192.168.0.0/24 next hop 172.16.1.1
^
| 172.16.1.0/24
v
Seite B:
VPN Netz 1: 172.16.1.1
VPN Netz 0: 172.16.0.1
Static Route: 192.168.0.0/24 next hop 172.16.1.2
^
| 172.16.0.0/24
v
Seite C:
VPN Netz 1: 172.16.0.2
LAN Netz: 192.168.0.1
^
| 192.168.0.0/24
v
Client IP: 192.168.0.2
Default Route: 0.0.0.0/0 next hop 192.168.0.1

Erklärung:
Hinroute:
Laptop Site A 172.16.1.2 sendet ein Paket mit Destination IP Client Site C 192.168.0.2. Das Paket wird durch die Statische Route an Site B 172.16.1.1 gesendet. SiteB hat eine statische Route und kennt das Ziel des 192.168.0.0/24 Netzes und sendet das Paket an Site C 172.16.0.2 weiter. Site C hat als lokales Netz das LAN 192.168.0.0/24 anliegen und sendet das Paket an Client Site C 192.168.0.2.

Rückroute:
Der Client Site C versucht jetzt eine Antwortpacket zu schicken. Die Antwort kommt am Router Site C an. Dieser kennt aber kein Netz 172.16.0.0/24 da es nicht lokal anliegt und es keine statische Route dahin gibt. Das Paket wird verworfen.

Alle Router und alle Clients müssen immer den nächsten Router kennen, der das Netz kennt was sie suchen. Ansonsten werden die Pakete verworfen.

Einfachste Lösung:
Keine getrennten VPN Netze machen, sondern den VPN Server in der Cloud als Stern nehmen, an dem sich alle Peers im selben Netz anmelden. Dann haben alle 3 Geräte eine IP aus dem Netz 172.16.1.0/24 , z.B. Site A Laptop 172.16.1.1, Site B OPNsense 172.16.1.2, Site C OPNsense 172.16.1.3 und können direkt miteinander kommunizieren. Dann muss nur die Route zum 192.168.0.0/24 Netz vom OpenVPN Server an den Client gepushed werden und die Firewallregeln stimmen, und dann geht alles.
Title: Re: Zwei VPNs miteinander verbinden
Post by: micneu on September 24, 2023, 03:10:12 PM
schau dir mal tailscale an. das hat man in 30 minuten am laufen wenn man wie du noch nicht viel erfahrung hat und es kostet nichts.
Title: Re: Zwei VPNs miteinander verbinden
Post by: Monviech (Cedrik) on September 24, 2023, 03:18:01 PM
Quote from: micneu on September 24, 2023, 03:10:12 PM
schau dir mal tailscale an. das hat man in 30 minuten am laufen wenn man wie du noch nicht viel erfahrung hat und es kostet nichts.

Stimme ich zu, war wohl oben etwas zu technisch. xD