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.
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.