05 März, 2019Docker-compose | Openvpn

Openvpn Setup mit Docker

  • Lars Müller
Lars Müller
Germany

Hallo zusammen,
Heute gibt es mal wieder eine kleine Anleitung. 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 selber wieder die gleiche Konfiguration erstellen zu können, ohne groß nachzudenken.
Credit geht defintiv an den Ambar Blog.
Damit diese Anleitung funktioniert muss Docker und Docker-Compose installiert sein. Falls das bei euch noch nicht geschehen ist, erledigt das mit

sudo apt-get 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 Setupverlauf sich darstellt. Es muss eine Passphrase erstellt werden. Am leichtesten geht die mit Linuxeigenen Passwortgenerator PwGen. Die folgende Zeile erstellt ein Passwort aus Groß und Kleinbuchstaben sowie Sonderzeichen und ist 12-stellig.

pwgen -a -y 12

 

Quelle: https://blog.ambar.cloud/tutorial-set-up-openvpn-with-docker-compose/

Danach wird die YML Datei ausgeführt mit

docker-compose up -d openvpn

Zertifikat für den 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

Quelle: https://blog.ambar.cloud/tutorial-set-up-openvpn-with-docker-compose/

Wenn alle Schritte wie beschrieben abgearbeitet wurden, sollte alles laufen und der Client kann sich mit dem Server verbinden.
Clients:
Android:

Apple:

Windows:
Openvpn Windows
Linux: openvpn Connect für Linux
 
Quelle: https://github.com/kylemanna/docker-openvpn, https://blog.ambar.cloud/tutorial-set-up-openvpn-with-docker-compose/

Wie hat dir der Artikel gefallen?

[ratings]

verwandte Beiträge
Comments

Comments powered by Talkyard.