OpenVPN Server aufsetzen
Heute zeige ich euch, wie ihr ganz einfach euren eigenen VPN-Server zu Hause einrichten könnt. Wir nutzen dafür OpenVPN, eine bewährte und stabile Lösung, die wir in einem Docker-Container betreiben werden. Klar, es gibt auch neuere Alternativen wie Wireguard, aber OpenVPN hat sich einfach über die Jahre bewährt. Lasst uns direkt loslegen!
Auf der Webseite des Projekts DockoVPN findet ihr alle wichtigen Informationen zur Nutzung und Einrichtung. Ein kleiner Hinweis: Standardmäßig generiert die Software nur temporäre Client-Zertifikate, was auf Dauer nicht wirklich praktikabel ist. Daher empfehle ich, die Docker-Compose-Option zu verwenden, um die Konfiguration zu vereinfachen und die Zertifikate dauerhaft zu speichern.
Der erste Schritt ist die Installation von Docker. Ich empfehle, Docker direkt aus den Repositories eurer Linux-Distribution zu installieren, um sicherzustellen, dass alles reibungslos funktioniert. Nach der Installation fügt ihr euren Benutzer zur Docker-Gruppe hinzu, damit ihr Docker-Befehle ohne Root-Rechte ausführen könnt.
Jetzt erstellen wir ein Verzeichnis für unser Docker-Projekt und legen die notwendige Docker-Compose-Datei an. Hier kommt ein wichtiger Schritt: Um die aktuelle IP-Adresse zu speichern, definiert ihr eine Umgebungsvariable in einer .env-Datei.
echo HOST_ADDR=$(curl -s https://api.ipify.org) > .env
Ich empfehle euch die Nutzung von DynDNS für den Zugriff auf euren VPN-Server. Denkt daran, dass ihr die Portweiterleitung in eurem Router konfigurieren müsst, damit der VPN-Server von außen erreichbar ist.
Sobald die Konfiguration abgeschlossen ist, starten wir den Docker-Container mit dem Befehl `docker compose up -d`. Der Container läuft jetzt im Hintergrund, und es wird ein Client-Zertifikat generiert, das wir für die Verbindung zum VPN-Server benötigen. Diese Konfigurationsdatei könnt ihr dann auf verschiedene Geräte wie Android, Linux, Windows oder iOS übertragen.
Ich zeige euch auch, wie ihr eine VPN-Verbindung über den NetworkManager einrichtet. Dazu installiert ihr einfach das 'network-manager-openvpn' Paket und importiert die zuvor erstellte Client-Konfiguration. So stellt ihr ganz einfach eine VPN-Verbindung unter Linux her.
Viel Spaß beim Ausprobieren! Es ist wirklich einfacher, als ihr denkt, und ich bin mir sicher, dass ihr euren eigenen sicheren VPN-Server schnell aufsetzen könnt. Solltet ihr Fragen oder Probleme haben, schaut gerne in unsere Community vorbei. Dort stehe ich euch zur Seite und helfe euch weiter.
TuxWiz
Hast du Lust, das Linux-Betriebssystem auf eine unterhaltsame Weise kennenzulernen? Dann schau unbedingt auf meinem YouTube-Kanal TuxWiz vorbei! ✨
Ich habe speziell für Einsteiger eine Playlist erstellt, die dich Schritt für Schritt durch die aufregende Welt von Linux und Freier Software führt. Also starte von Anfang an – du wirst sehen, wie viel Spass es macht!
Die Linux-Lernvideos bauen auf meiner Debian GNU/Linux basierenden Distribution SpaceFun auf. Viele der bei Einsteiger_innen beliebten Linux-Distros wie Mint, MX Linux oder Ubuntu stammen ebenfalls aus dieser kosmischen Familie. Falls du eine andere Distro nutzt, keine Sorge – die grundlegenden Mechanismen sind universell und lassen sich problemlos übertragen.
Ich freue mich auch, wenn du mir auf Mastodon folgst. Dort erfährst du immer sofort, wenn es etwas Neues zu entdecken gibt.
Mein Kanal auf YouTube: https://www.youtube.com/@tuxwiz
Die Einsteiger-Playlist: https://www.youtube.com/playlist?list=PLJlnbs0kQiZiWks57CPOoCOnUlFwbZWQp
Danke, klingt testenswert. Hast Du auch eine Anleitung für Wireguard?
Es ist in Planung. Ich möchte es mit Headscale kombinieren.
Als einfachere, kleinere, schnellere und modernere Methode würde mich WireGuard auch sehr interessieren. Hier gibt es einen Vergleich WireGuard vs. OpenVPN: https://digitalvalley.de/wirtschaft/verbraucher/wireguard-vs-openvpn-vpn-protokolle-verglichen-analyse/
Mir ist nicht ganz klar geworden welche Vorteile oder Unterschiede jetzt DockoVPN, gegenüber dem offiziellen OpenVPN-Docker Container hat. Auf der Docko-Webseite habe ich dazu leider nichts finden können. Also warum sollte man das Paket hier nicht nehmen: https://hub.docker.com/r/openvpn/openvpn-as
Lieber Robert, der Unterschied liegt hier in der Zielgruppe. DockOVPN ist auf Privatanwender ausgelegt, die sich eine einfache und zuverlässige Konfiguration ohne Overhead wünschen. Der OpenVPN Access Server ist eher ein Enterprise-Produkt mit Benutzerverwaltung und Weboberfläche. Soweit mir bekannt ist, wird es bei mehr als 3 Usern kostenpflichtig.
Es ist schade, dass man keine Infos zu den Unterschieden zum Original findet, auch nicht in der Doku & FAQ. Ja beim OpenVPN Server gibt es nur 2 kostenlose Verbindungen aber DockoVPN baut doch auf OpenVPN ... sie sagen selbst: "DockoVPN — is an OpenVPN server". Also wie kommt es dann dazu, dass sie es kostenlos anbieten können? wunder
Da muss ich dann doch widersprechen. WireGuard ist der legitime Nachfolger. Wesentlich moderner, schlanker, effizienter usw.
OpenVPN hat viel Vorarbeit geleistet um VPN einfacher zu gestalten, aber technisch ist es nicht mehr state of the art.
Wenn ich bedenke dass ich bei meinem OpenWRT nur ein QR Code scannen muss und direkt mit dem Handy im VPN bin. Ebenso die Einrichtung ist extrem easy.
Ich bin da definitiv anderer Meinung, es sollte "neu" nicht mehr auf OpenVPN gesetzt werden. Selbst in meinem Firmenumfeld wird bei neuen Implementierungen WireGuard genutzt.
Ich halte solche pauschalen Aussagen für eher schwierig. Es gibt durchaus Vor- und Nachteile beider Lösungen. WireGuard ist sehr auf Performance getrimmt, erlaubt aber nicht die gleiche Vielfalt an Konfigurationsmöglichkeiten. Auch setzt WireGuard ausschliesslich auf UDP. OpenVPN unterstützt sowohl UDP als auch TCP und kann über Port 443 (HTTPS) betrieben werden. Dadurch lässt es sich leichter in restriktiven Netzwerken einsetzen und kann Firewalls oder Zensurmassnahmen besser umgehen. Es gibt zwar Lösungen wie udptunnel um oder wstunnel um den UDP-Traffic von WireGuard in TCP zu kapseln, dabei handelt es sich jedoch um zusätzliche Layer und keine offiziellen Features von WireGuard selbst. Ein Video über Wireguard und Headscale ist noch in Planung.
Die genannten Punkte sind ja bewusst nicht umgesetzt worden von WG. :)
https://www.wireguard.com/known-limitations/
Sie wissen um genau diese Umstände sagen aber bewusst "wir haben uns auf die Kern-Element beschränkt und diese modern sowie effizient implementiert. Dazu dann "alles darüber hinaus, ist WG per design so aufgestellt, dass es ein anderer Layer übernimmt, falls notwendig", speziell der TCP Part.
Sind also mehr nach dem KISS Prinzip vorgegangen mit offenen Standards für Erweiterungen. Was ich sehr begrüße zu den Monolithen OpenVPN.
Also ja, UDP ist nicht so ohne weiteres mit Enterprise-FW zu verheiraten da die gerne DeepPackage-Inspction (sinnigerweise) betreiben. Und oft UDP pauschal blockieren.
Aber es gibt dafür auch moderne Lösungen nach dem KISS Prinzip. https://codeberg.org/eduVPN/proxyguard/src/branch/main
Ich bin da bei dir, dass extra Lösungen immer so ne sache sind bzgl. support usw.
Jedoch dafür das WG noch so jung ist, ist es genau richtig gewesen die Kern-Element und Design zu erledigen. Und "Extensions" nachträglich zu machen. Und für den privaten User ist WG in meinen Augen perfekt mittlerweile. Das TCP Scanning ist mehr was für Enterprise. :)