OpenVPN Site to Site (VPN Gateway), Ubuntu Access Server

  • Hallo,


    ich habe mich nun für mein Site-to-Site VPN-Setup noch einmal an OpenVPN herangetraut. Der Zugriff auf das Access-Server-Netzwerk vom Client funktioniert auch (VLAN ist erreichbar). Allerdings bin ich nicht ganz sicher, wie ich nun alles für das Gateway benötige. Ich scheitere schon daran, wo ich in diesem Szenario die Routen eintragen muss. Und was ist das "Gateway" der Route? Ich habe hier ja keinen klassischen Router auf netcup-Seite. Ich habe ja nun zwei Netzwerkkarten am Access Server Host - dort eintragen?. Und was ist mit den anderen Hosts im VLAN?


    Ziel ist, dass das netcup VLAN (hier ist der Access Server) das clientseitige LAN erreichen kann.


    Kann mir das jemand für dieses Szenario erklären?


    https://openvpn.net/vpn-server-resources/site-to-site-routing-explained-in-detail/?_ga=2.254989249.85559496.1650893046-2033348984.1650893046


    Vielen Dank.

  • Vorweg: ich habe leider keine wesentliche Ahnung von OpenVPN. Allerdings nutze ich sehr ausgiebig und gerne https://www.zerotier.com/ , was vieles eleganter und einfacher macht, was man so machen will. Im Prinzip ist das controllerbasiertes VPN, das auf den Clientseiten eigentlich kaum Konfiguration benötigt. Routen kann man im Controller eintragen und diese werden auf die Clients gepusht.

    RS Ostern L OST22 (~RS "3000" G9.5) (8C,24GB,960GB) | RS Cyber Quack (1C,2GB,40GB)

  • Mir ist das Setup noch nicht ganz klar.


    Also du hast einen Server bei netcup, der den Internetzugang zur Verfügung stellt und auch der OpenVPN Server ist, auf den sich die VPN Clients verbinden (OpenVPN Transport Netz). Einige dieser Clients (Sites) bringen ein eigenes Netz mit. Einige nicht (Road Warriors). Dazu gibt es ein Netz, dass hinter einem netcup VLAN hängt (VLAN Netz).


    Im Grunde ist die Konfiguration recht einfach. Ich hab das bei mir über CCDs gelöst. Damit kann man serverseitig für jeden verbundenen Client eine spezifische Konfiguration ablegen, was sich natürlich besonders für Routing Informationen anbietet. In Kürze: ein Netz, dass ein Client über VPN erreichen können soll, wird mit


    Code
    push "route a.b.c.0 255.255.255.0"
    push "route-ipv6 x:y:z::/64"

    bekannt gegeben. Stellt ein Client selber ein Netz fürs VPN zur Verfügung, muss ein Eintrag


    Code
    iroute d.e.f.0 255.255.255.0

    in seiner CCD Konfig vorhanden sein.


    Sollen alle Clients Zugriff aufs VLAN Netz haben? Dann kannst du die entsprechenden Routen fürs VLAN direkt in die server.conf eintragen . Ansonsten kommen die Einträge in die ccd Konfig für die Clients, die den Zugriff haben sollen.


    Ebenfalls in die ccd Konfig kommt der Eintrag für die lokalen Netze der Sites. Stellt eine Site zum Beispiel das Netz 192.168.178.0/24 zur Verfügung, dann kriegt die ccd einen Eintrag "iroute 192.168.178.0 255.255.255.0".


    Über die geeignete Kombination aus iroute und push route kannst du auch dafür sorgen, dass die Clients ihre Netze gegenseitig erreichen können.

  • Vielen Dank für die Antwort. Das klingt interessant. Hast du das über netcup als Site-to-Site am laufen? Das ist ja dann aber jeweils point to point, so ich das bisher lese? Muss dann auf jedem Endgerät doch wieder ein Client installiert werden? Kannst du beschreiben, wie das - im Gegensatz zu herkömmlichem VPN - funktioniert?

  • Hast du das über netcup als Site-to-Site am laufen?

    Hatte ich über Jahre, bis auf das VLAN Netz. Inzwischen macht Wireguard den Job. Zwei Sites verbinden sich mit gegenseitigem Zugriff, und weitere Road Warrior können mobil Zugriff erhalten und in beide Netze.


    Das ist ja dann aber jeweils point to point, so ich das bisher lese?

    Was meinst du mit "jeweils point-to-point"? Jeder VPN Client verbindet sich auf den Server, und der routet dann zwischen den Netzen. Wenn das gemeint ist: Ja. Wobei ein einzelner Client natürlich einer großen Zahl von Endgeräten Zugriff geben kann.


    Kannst du beschreiben, wie das - im Gegensatz zu herkömmlichem VPN - funktioniert?

    Das ist ein herkömmliches VPN. Mehr können Wireguard, ipsec oder die kostenpflichtige Variante von OpenVPN auch nicht.

  • Vielen Dank für deine Antwort. Vielleicht zunächst noch einmal das Setup etwas sauberer aufbereitet:


    Es gibt zwei Standorte:

    - Standort A: Heimisches LAN mit Fritzbox, dahinter diverse Endpoints (derzeit kein VPN-Server). Das Subnet folgt dem Router, sagen wir 192.168.1.0/24 (das ist es nicht!).

    - Standort B: Netcup VLAN, dahinter derzeit zwei VPS. Diese habe auf der zweiten Netzwerkkarte jeweils das gleiche Subnet, sagen wir 100.100.1.1 und 100.100.1.2.


    Auf einem der VPS ist Ubuntu mit OpenVPN Access Server eingerichtet.

    Von Standort A kann ich auf Standort B zugreifen, aber nicht umgekehrt.


    Was ich bisher gemacht habe:


    - Im OpenVPN Access Server unter "VPN Settings" das Subnet von Standort B eingetragen.

    - Unter "User Permissions" dasselbe bei "Allow Access" eingetragen und alles angehakt.

    - Zudem dort unter "VPN Gateway" das Subnet von Standort A eingetragen.

    - Testweise (da ich das Site to Site Routing-Szenario noch nicht so ganz verstehe) auf der Fritzbox eine statische Route mit dem OpenVPN Netzwerk und der Fritzbox als Gateway eingetragen. Das war wahrscheinlich völliger Unsinn.


    Die Frage ist, was jetzt der nächste Schritt ist.

  • Hatte ich über Jahre, bis auf das VLAN Netz.

    Das ist genau das, was mir Kopfschmerzen bereitet. Ich weiß nicht, wie das funktioniert. Was habe ich hier als Gateway etc.?

    Da ich die Dokumentation bei Zerotier nicht wirklich übersichtlich finde, werde ich daran wahrscheinlich dann erst recht scheitern oder bräuchte spezifische Hilfe.

  • Das VLAN Netz ist das geringste Problem. Da der Server ja direkt Zugriff drauf hat, ist das genau ein "push route" Eintrag an der richtigen Stelle.


    - Standort A: Heimisches LAN mit Fritzbox, dahinter diverse Endpoints (derzeit kein VPN-Server). Das Subnet folgt dem Router, sagen wir 192.168.1.0/24 (das ist es nicht!).

    Was ist denn da der VPN Client? Die Fritzbox?


    Diese habe auf der zweiten Netzwerkkarte jeweils das gleiche Subnet, sagen wir 100.100.1.1 und 100.100.1.2.

    Ganz schlechtes Beispiel, da keine private IP. Irgendjemand wird es lesen und sich dann wundern, warum nichts funktioniert.



    Auf einem der VPS ist Ubuntu mit OpenVPN Access Server eingerichtet.

    Warum denn kein richtiges OpenVPN?


    Was ich bisher gemacht habe:

    Ich hab keine Ahnung, was man in diesem Access Server wo anklicken muss. Aber einige der Einträge lesen sich für mich wie kompletter Unsinn. Warum solltest du unter "VPN Gateway" das Subnetz von der Gegenseite eintragen? Das klingt völlig daneben.


    Das ganze wird ja am Ende zu den üblichen OpenVPN Konfigurationsdateien führen. Deren Inhalt brauche ich, dann kann ich dir sagen, was fehlt oder falsch ist. Du kannst sie ja anonymisieren.


    - Testweise (da ich das Site to Site Routing-Szenario noch nicht so ganz verstehe) auf der Fritzbox eine statische Route mit dem OpenVPN Netzwerk und der Fritzbox als Gateway eingetragen. Das war wahrscheinlich völliger Unsinn.

    In dieser Form auf jeden Fall. Ob man da was eintragen muss, kommt drauf an, was der VPN Client im Fritzbox Netz ist.


    Bei Zerotier solltest du dich vorab mit der Funktionsweise vertraut machen. Dort werden Meta-Informationen über die Infrastruktur des Anbieters ausgetauscht. Ich will das nicht grundsätzlich schlecht reden, aber man sollte sich darüber klar sein, wie viel Vertrauen man der Organisation entgegen bringen will. Mir kommt das nicht ins Haus. Aber ich kriege das auch von Hand hin, was Zerotier mir abnehmen könnte. ;)

  • Wird einem denn bei Zerotier erfahrungsgemäß gut im Forum geholfen? Weißt du dazu etwas? Bei OpenVPN ist der Vorteil halt die gute Dokumentation und große Community.


    Was genau meinst du mit Meta-Informationen? Welche denn? Wir reden hier schon davon, das on premise aufzusetzen ?

  • Wer der Client ist, ist im Grunde ja egal. Das wird beim OpenVPN Access Server über den "Gateway-User" gesteuert. In meinem Beispiel irgendein Windows Client. Der ist austauschbar.


    Unter "VPN Gateway" ist das private Subnetz des Clients einzutragen, welches ja der anderen Site bereitgestellt werden soll. Wie gesagt: Ich bin über die Funktionsweise auch etwas verwundert.

  • Wer der Client ist, ist im Grunde ja egal. Das wird beim OpenVPN Access Server über den "Gateway-User" gesteuert. In meinem Beispiel irgendein Windows Client. Der ist austauschbar.

    Solange es um die reine VPN-Verbindung geht, ja. Aber beim Routing ist die Frage natürlich entscheidend. Wenn der VPN Client nicht auf der Fritzbox ist, hast du plötzlich ein Gateway abseits des Defaut-Gateways im Netz. Das musst du in der Konfiguration natürlich berücksichtigen. Typische Symptome bei falschem oder fehlenden Routensetup können sein, dass die Verbindung in eine Richtung funktioniert, und in die andere nicht.

    Das ist der Teil, um den du dich bei Zerotier auch selber kümmern musst.


    Unter "VPN Gateway" ist das private Subnetz des Clients einzutragen, welches ja der anderen Site bereitgestellt werden soll. Wie gesagt: Ich bin über die Funktionsweise auch etwas verwundert.

    Mit der regulären OpenVPN Konfig kann man ja relativ einfach sicherstellen, dass alles da steht, wo es hingehört.

  • Hier einmal die Client-Config


    Ich vermute aber mal, das bringt dir nichts. Die Server Config liegt in SQL-Dateien.

  • Vielleicht abseits noch eine grundlegende Frage, dass ich da keinen Denkfehler habe:


    Langfristig ist geplant, Zuhause nur noch den Backup-Server sowie ein NAS, wo die Backups drauf laufen, stehen zu haben. Die Backups (auch von den Servern remote) sollen natürlich automatisch laufen. Wenn ich jetzt eine Dauerverbindung (VPN) von den Servern zuhause nach remote hätte, würde mir das ja trotzdem nichts bringen, weil die zu sichernden Geräte den Backup-Server nicht erkennen könnten? Oder wäre das doch möglich?


    Das könnte ich zwar mit den Lizenzen mit dieser Lösung nicht machen, aber mit einer anderen, ggf. nebenher laufenden VPN-Lösung.

  • Wird einem denn bei Zerotier erfahrungsgemäß gut im Forum geholfen? Weißt du dazu etwas? Bei OpenVPN ist der Vorteil halt die gute Dokumentation und große Community.


    Was genau meinst du mit Meta-Informationen? Welche denn? Wir reden hier schon davon, das on premise aufzusetzen ?

    Für den Support ist eigentlich das ZT Reddit am Besten, da ist das ZT Team auch selbst mit drin: https://www.reddit.com/r/zerotier/ . Ansonsten halt https://docs.zerotier.com/ , https://zerotier.atlassian.net/wiki/spaces/SD/overview , https://docs.zerotier.com/zerotier/manual/ (alles im Supportbereich der Website.


    Aber imho ist das eigentlich schon so easy, dass man für einen normalen Betrieb eigentlich kaum Support benötigt. Einfach den Client laufen lassen, einem Netzwerk joinen und man ist im "LAN" miteinander. Egal wo man ist und nahezu egal wie die Firewall konfiguriert ist.


    Meinst Du mit Meta Informationen meinen Beitrag? Für ZT braucht man einen Controller. Dieser kann Zerotier Central sein (dann kostets ab 50 Nodes Geld. Ein "Node" ist ein Gerät in einem ZT Netzwerk. Ist ein Gerät in mehreren Netzen, gilt es als mehrere Nodes), oder man setzt sich selbst https://github.com/key-networks/ztncui oder https://github.com/dec0dOS/zero-ui als Controller auf. Dann ist die Zahl der Geräte unlimitiert.


    Auch die eigenen Controller haben einen Uplink zu den ZT Root Servern, wodurch jede Client ID jederzeit jeder Netzwerk ID weltweit beitreten kann.

    RS Ostern L OST22 (~RS "3000" G9.5) (8C,24GB,960GB) | RS Cyber Quack (1C,2GB,40GB)

  • Langfristig ist geplant, Zuhause nur noch den Backup-Server sowie ein NAS, wo die Backups drauf laufen, stehen zu haben. Die Backups (auch von den Servern remote) sollen natürlich automatisch laufen. Wenn ich jetzt eine Dauerverbindung (VPN) von den Servern zuhause nach remote hätte, würde mir das ja trotzdem nichts bringen, weil die zu sichernden Geräte den Backup-Server nicht erkennen könnten? Oder wäre das doch möglich?

    Hierfür würde ich https://www.duplicati.com/ empfehlen. Setze ich auf meinem Netcup Server containerisiert ein. Ich sichere zwar verschlüsselt auf ein Business Google Drive (geht damit auch) , aber prinzipiell könnte Duplicati auch über ZT auf ein heimisches NAS sichern, ohne dass hierfür Portfreigaben erstellt werden müssen, denn ZT kann auch auf einem Synology NAS, einem Unraid Server und vielen weiteren NAS Lösungen installiert werden und bietet dann weltweit Zugriff auf die Ressourcen (wenn man im ZT Netzwerk ist) ohne Portfreigaben.

    RS Ostern L OST22 (~RS "3000" G9.5) (8C,24GB,960GB) | RS Cyber Quack (1C,2GB,40GB)

  • Vielen Dank für deine Anmerkungen.

    Ich schaue mir das später an.

    Ich muss aber dazu sagen, dass die Backups über einen Server mit Veeam (derzeit Zuhause) laufen und das Synology nur eine Repository ist.


    Allerdings erscheint mir Zerotier vielversprechend. Falls ich mit OpenVPN wirklich nicht weiterkomme, schaue ich mir das mal an. Wäre halt schön, weil ich perspektivisch auch mal mit OS Bereitstellung (Thunclient) experimentieren möchte und das extern dann in der Regel nur mit OpenVPN gehen dürfte (z.B. Openthinclient). Dafür reicht dann aber der parallele Access Server.

  • Also, wo genau stehen wir? Du hast die OpenVPN Konfigs auf beiden Seiten eingerichtet. Die Verbindung klappt vom Heimnetz auf den Server und das VLAN dahinter, aber nicht vom Server aufs Heimnetz.


    Frage: Wie ist das Routing aufgesetzt? Ist NAT aktiv auf der Serverseite? Und wie routet der VPN Client ins Heimnetz?

  • NAT ist nicht aktiv. Routen sind auf der Fritzbox gesetzt, VPN subnet sowie subnet von Standort B, jeweils an die IP des VPN Client als Gateway der Route. Das ist prinzipiell laut OpenVPN auch richtig. Funktioniert vom Heimnetz ins Remote-Netz, aber nicht umgekehrt.

  • Und woher weiß das Server- VLAN Netz, wo das Heimnetz zu finden ist? Dafür brauchst du ebenfalls eine statische Route, oder es muss übers Default Gateway abgewickelt werden, wenn das möglich ist. Außerdem muss die VPN Konfiguration das Subnetz beinhalten (iroute Einträge).

  • NAT ist nicht aktiv. Routen sind auf der Fritzbox gesetzt, VPN subnet sowie subnet von Standort B, jeweils an die IP des VPN Client als Gateway der Route. Das ist prinzipiell laut OpenVPN auch richtig. Funktioniert vom Heimnetz ins Remote-Netz, aber nicht umgekehrt.

    Das ist ja genau meine Frage. Was muss ich wo im Netcup VLAN machen - wo muss ich hier welche Routen eintragen? Ich habe hier ja keinen Router als Default Gateway.