Eigener VPN Dienst
Hallo,
kennt jemand für Linux eine kostenlose VPN Lösung, wo sich Linux Rechner auf meinen Online Server verbinden und sich dadurch die Port Weiterleitungen sparen kann?
Ich habe ca. 30 kleine Mini Linux Rechner verteilt bei Kunden stehen, und der Kunde soll nicht immer eine DynDNS einrichten müssen.
Ich würde gerne, wie andere auch, meinen Server online stellen und über den an die Linux Rechner "tunneln".
Die Linux Clients müssen also selbst den Connect an den Server aufbauen und halten.
Kennt jemand da etwas freies fertiges?
Danke!
kennt jemand für Linux eine kostenlose VPN Lösung, wo sich Linux Rechner auf meinen Online Server verbinden und sich dadurch die Port Weiterleitungen sparen kann?
Ich habe ca. 30 kleine Mini Linux Rechner verteilt bei Kunden stehen, und der Kunde soll nicht immer eine DynDNS einrichten müssen.
Ich würde gerne, wie andere auch, meinen Server online stellen und über den an die Linux Rechner "tunneln".
Die Linux Clients müssen also selbst den Connect an den Server aufbauen und halten.
Kennt jemand da etwas freies fertiges?
Danke!
Please also mark the comments that contributed to the solution of the article
Content-ID: 298625
Url: https://administrator.de/contentid/298625
Printed on: October 9, 2024 at 17:10 o'clock
18 Comments
Latest comment
Moin,
einfach OpenVPN?
Die Linux PCs sind dann einfach Clients und verbinden sich zu deinem Server.
VG
Val
einfach OpenVPN?
Die Linux PCs sind dann einfach Clients und verbinden sich zu deinem Server.
VG
Val
Moin.
Jedem Rechner kannst du per OpenVPN-Config eine feste IP verpassen (entweder nach User/Passwort-Kombination oder bei Login der Clients per Zertifikat(empfohlen).
Grundlagen dazu findest du hier:
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Tutorials zu OpenVPN
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Zu OpenVPN gibt es Anleitungen wie Sand am Meer, also erst mal die Suchfunktion benutzen.
Gruß jodel32
Jedem Rechner kannst du per OpenVPN-Config eine feste IP verpassen (entweder nach User/Passwort-Kombination oder bei Login der Clients per Zertifikat(empfohlen).
Die Rechner sollten nicht untereinander verbunden sein.
Kein Problem, per Default können sich die Clients untereinander nicht erreichen erst wenn du die Option Client-to-Client in der Server-Config aktivierst könnten diese miteinander kommunizieren.Grundlagen dazu findest du hier:
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Tutorials zu OpenVPN
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Zu OpenVPN gibt es Anleitungen wie Sand am Meer, also erst mal die Suchfunktion benutzen.
Gruß jodel32
aber kennst du eine Anleitung, damit jeder PC wie eine DynDNS einzeln ansprechbar ist?
Wenn du dir mal die Mühe gemacht hättest etwas über OpenVPN zu lesen hättest du gesehen das jeder Rechner im OVPN internen Netzwerk eine eigene individuele IP hat über die er angesprochen werden kann.Unter Linux gibt es noch das IKE Package (apt-get install ike) was dem weitverbreitetem Shrew Client identisch ist.
Fazit: mit SSL und IPsec ist die Lösung im Handumdrehen gemacht.
Ist ja auch egal, die brauchst du nicht
https://thomas-leister.de/internet/openvpn-statische-ips-clients-vergebe ...
Der Client soll nun eine Verbindung zum Server aufbauen und halten. Egal was für eine IP der Client lokal auch hat.
Die lokale IP für den Client mappt man über die Zugangsdaten des Clients in der Client Configuration Directive (ccd) filehttps://thomas-leister.de/internet/openvpn-statische-ips-clients-vergebe ...
Zitat von @unique24:
Aber in der Anleitung steht ab:
Die Konfigurationsdatei sollte wie folgt aufgebaut sein:
Anleitungen sind auch nicht nur dazu da um sie abzutippen, sondern auch sollen auch dazu anregen mal die Doku zu lesen Aber in der Anleitung steht ab:
Die Konfigurationsdatei sollte wie folgt aufgebaut sein:
"server" ist die Server IP? In meinem Fall also die öffentliche, da ich einen root Server vom Provider einsetze.
Nein das definiert nur das virtuelle VPN-Netz"push" ist für die Clients, oder? Soll diese Zeile entfernt werden?
Dies teilt dem Client mit das dieses Netz über den Tunnel erreicht wird. Dies trägt sich dann der Client in seine Routing-Tabelle ein. D.h. alle Anfragen die dann an dieses Subnetz gehen werden auf den Tunnel übertragen.Simpelste Routing-Grundlagen.
Für die feste Zuweisung von IPs an Clients hatte ich oben schon den Link gepostet die CCD is your friend
https://thomas-leister.de/internet/openvpn-statische-ips-clients-vergebe ...
http://wiki.openvpn.eu/index.php/Erster_Tunnel
Zitat von @unique24:
Jetzt wäre noch die Frage, wie schaffe ich es, das ein Handy im selben LAN ist, wie der Client:
Handy <=> Server <=> Client
Durch die richtigen Routing-Einträge.Jetzt wäre noch die Frage, wie schaffe ich es, das ein Handy im selben LAN ist, wie der Client:
Handy <=> Server <=> Client
Wenn sich dein Handy im Subnetz des Servers befindet trage auf deinem Default-GW (Router) eine statische Route für das VPN-Netz mit deinem OpenVPN-Server als Gateway ein, fertig. Wichtig: auf dem OpenVPN-Server muss das IP-Routing aktiviert werden, sonst funktioniert das nicht !!
Wenn dann das Handy eine Anfrage an das VPN-Subnetz macht leitet dein Router die Anfrage an den OpenVPN-Server und der direkt an den VPN-Client, simpelste Routing-Grundlagen die du dir besser erst mal aneignen solltest bevor du das auf Kundennetze anwendest !!
Zitat von @unique24:
Nun benötige ich für die Handy, Tablet und andere PC´s jeweils ein eigenes Client Zertifikat, richtig?
Jupp.Nun benötige ich für die Handy, Tablet und andere PC´s jeweils ein eigenes Client Zertifikat, richtig?
Soweit ich gelesen habe, kann ich ein Zertifikat für alle externen Geräte erstellen.
Kann man machen. Nachteil davon jedoch: Wenn bei nur einem Kunden das Zertifikat kompromittiert wird und abhanden kommt musst bei allen deinen Kisten das Zertifikat erneuern = nicht schön.Zum üben möchte ich die 2 Clients am Server über eine route "zusammen" hängen.
Der Client 1 (10.8.0.2) hat mit aktiver openvpn:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default homerouter.cpe 0.0.0.0 UG 0 0 0 eth0
10.8.0.1 * 255.255.255.255 UH 0 0 0 tun0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
Hier ist aber nur die IP 10.8.0.1 angeben ... muss ich nun das Ziel (10.8.0.3) hier hinzufügen?
Auf dem Client machst du gar nichts. Damit beide Clients miteinander kommunizieren dürfen musst du die Direktive client-to-client in der Server-Config aktivieren.Der Client 1 (10.8.0.2) hat mit aktiver openvpn:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default homerouter.cpe 0.0.0.0 UG 0 0 0 eth0
10.8.0.1 * 255.255.255.255 UH 0 0 0 tun0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
Hier ist aber nur die IP 10.8.0.1 angeben ... muss ich nun das Ziel (10.8.0.3) hier hinzufügen?
Es können aber mehrere externe Geräte zur selben Zeit mit dem internen Client verbunden sein.
Somit benötigt jeder externe Client eine andere IP, was CCD wieder zu einem Problem macht, oder?
Deswegen jedem Client seinen eigenen Namen mit eigenem Zertifikat, weil besser, sicherer, besser wartbar und vor allem übersichtlicher!Somit benötigt jeder externe Client eine andere IP, was CCD wieder zu einem Problem macht, oder?
Mit OpenSSL oder XCA sind die Zertifikate schnell erstellt, sollte also kein Problem darstellen .
Zitat von @unique24:
Jedoch:
Die Anzahl der externen Clients ist dynamisch und nicht von mir handlebar. Daher kann ich leider nicht für jeden ein eigenes cert erstellen.
Du musst sie doch einrichten oder nicht ?? Oder zumindest die Config schicken, da ist ein individuelles Zert doch ein Kinderspiel, zumal dafür eine Kommandozeile ausreicht X)Jedoch:
Die Anzahl der externen Clients ist dynamisch und nicht von mir handlebar. Daher kann ich leider nicht für jeden ein eigenes cert erstellen.
Es erfolgt "dahinter" noch eine User/Pass Abfrage über eine Webseite ... das reicht als Security.
Ich werde mal client-to-client googlen ...
Hatte ich doch oben schon gepostet, man müsste die Posts nur mal lesen ...Ich werde mal client-to-client googlen ...
aber ändert sich die Info, wenn ich nur ein cert für alle externe Clients erstelle?
Ja, nur ein Cert nur eine feste IP zuweisbar:http://michlstechblog.info/blog/openvpn-set-a-static-ip-address-for-a-c ...
Und noch dadurch noch offen:
die internen Clients nutzen CCD und die externen Clients nicht ... geht das überhaupt?
s.o. Dann hinterlege feste IPs direkt in den Client-Configs oder nutze Username-Passwort Kombination statt Zertifikate.die internen Clients nutzen CCD und die externen Clients nicht ... geht das überhaupt?
Du hast die Wahl, einfach mal die einschlägige Doku lesen die es millionenfach im Netz gibt, dann müssen wir dir hier nicht jeden Furz daraus vorlesen.
Viel Erfolg, ich bin jetzt raus.
Gruß jodel32
Daher kann ich leider nicht für jeden ein eigenes cert erstellen.
Das birgt aber die Gefahr das bei Passwort Weitergabe der User die ja bei statischen Passwörtern über kurz oder lang immer passiert, dein ganzes VPN kompromitiert ist und du alle naslang die Passwörter ändern und schlimmer noch allen Usern kommunizieren musst.Ob das in Summe dann weniger Aufwand ist sei mal dahingestellt.
Fakt ist aber das das dann generell ein VPN konterkariert und eigentlich vollkommen sinnfrei macht.
Stellt sich die Frage warum du nicht gleich die User/Pass Abrage offen ins Internet stellst um die Sache zu vereinfachen. Das VPN und die Diskussion hier darum kannst du dir dann eigentlich sparen wenn du ehrlich bist...
Du scheiterst wie so viele an diesem berühmten Break Event Point zwischen Bequemlichkeit und Sicherheit weil du nicht konsequent bist.
Was nützt dir also dann ein sinnfreies VPN was in Sekunden ausgehebelt ist. Das kannst du dir dann sinnvollerweise gleich sparen und den Webzugang per HTTPS öffentlich machen.