OpenVPN Setup mit Docker

OpenVPN Setup mit Docker


Heute gibt es eine Anleitung, für alle, die auch einen eigenen VPN-Tunnel einrichten wollen. Mit diesem OpenVPN Setup ist ein verschlüsseltes Surfen möglich.

OpenVPN ist eine freie Software zum Aufbau eines Virtuellen privaten Netzwerkes (VPN) über eine verschlüsselte TLS-Verbindung. Zur Verschlüsselung kann OpenSSL oder TLS benutzt werden. OpenVPN verwendet wahlweise UDP oder TCP zum Transport.

OpenVPN  Setup
VPN zum absichern vom Netzwerk

Die Anleitung stammt ursprünglich von einem englischsprachigen Blog (siehe Quelle)
Da habe ich mir gedacht, diese Anleitung mal auf Deutsch zu übersetzen, um auch selbst wieder die gleiche Konfiguration erstellen zu können, ohne groß nachzudenken.
Credits geht definitiv an den Ambar Blog sowie an das Github Repository.
Damit diese Anleitung funktioniert, muss Docker und Docker-compose installiert sein. Falls das bei euch noch nicht geschehen ist, erledigt das mit:

sudo apt install docker docker-compose

Danach wird eine docker-compose.yml mit folgendem Inhalt erstellt.

version: '2'

services:

  openvpn:

    cap_add:
   - NET_ADMIN

    image: kylemanna/openvpn

    container_name: openvpn

    ports:

       - "1194:1194/udp"

    restart: always

    volumes:

       - /var/openvpn:/etc/openvpn

docker-compose run --rm openvpn ovpn_genconfig -u udp://{vpn_server_address}

docker-compose run --rm openvpn ovpn_initpki

Hier muss {vpn_server_address} durch die Serveradresse, z. B. IP-Adresse (10.10.10.2) oder Domain (vpn.server.com) ersetzt werden.
In der folgenden GIF-Animation seht ihr, wie der Set-up Verlauf sich darstellt. Es muss eine Passphrase erstellt werden. Am leichtesten geht die mit pwgen.

pwgen -a -y 12

Danach wird die YML Datei ausgeführt mit

docker-compose up -d openvpn

Zertifikat für den OpenVPN Client erstellen

Um eine Verbindung zu Eurem OpenVPN-Server herzustellen, zu können, müsst Ihr dem Client die Zertifikatsdatei bereitstellen. Dies geht wiederum mit Docker-compose.

docker-compose run --rm openvpn easyrsa build-client-full {client_name} nopass


 
Sobald das Clientzertifikat generiert wurde, wird mit dem folgenden Befehl eine Konfigurationsdatei für den Client erstellt. Diese Datei muss anschließend an den Client gesendet werden, damit dieser sich verbinden kann. Mit cat openvpn.ovpn wird der Inhalt der Datei angezeigt. Den
Inhalt per Maus markieren und mit CTRG + C kopieren. Auf dem PC kann man den Inhalt dann mit CTRG +V in einer Textdatei einfügen. Diese Datei nach dem Speichern in
certificate.ovpn umbenennen.

docker-compose run --rm openvpn ovpn_getclient {client_name} certificate.ovpn

cat certificate.ovpn


Wenn alle Schritte wie beschrieben abgearbeitet wurden, sollte alles laufen und der Client kann sich mit dem Server verbinden.
Clients für Android und Apple könnt ihr euch besorgen, genau wie für Windows und Linux.

Alternativ:

Wer was anderes sucht kann auch meinen Bericht über ExpressVPN und NordVPN ansehen, sowie über Bitdefender.