In diesem Tutorial werde ich einen OpenVPN-Server unter Docker mit CloudSigma einrichten. Da die Cloud-Standorte von CloudSigma über die ganze Welt verteilt sind, können Sie in jedem dieser Standorte einen Server erstellen und von dort aus auf die Inhalte zugreifen.
Erstellen der Maschine
Zuerst erstelle ich eine Maschine mit den folgenden Ressourcen:
20 GHz CPU
16 GB RAM
20 GB SSD
Ich hänge die Festplatte mit dem in der CloudSigma-Bibliothek verfügbaren Ubuntu 18.04-Image ein.
Ubuntu 18.04: Vorinstalliertes 64-Bit mit VirtIO-Treibern, Superuser, Python 2.7.15, Pip 18.0, OpenSSL 1.1.0i, Cloud-init und den neuesten Updates bis zum 30.09.2018.
Aktualisieren aller vorhandenen Repositories und Pakete auf der Maschine.
|
1 2 |
sudo apt update sudo apt upgrade |
Da unser System nun auf dem neuesten Stand ist, fahre ich mit der Installation von Docker fort. Weitere Informationen zu Docker finden Sie hier.
Docker installieren
Ich kann Docker installieren, indem ich die folgenden Befehle ausführe:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce |
OpenVPN
Da Docker nun erfolgreich installiert ist, kann ich damit beginnen, den OpenVPN Access Server darauf zum Laufen zu bringen. Es folgt der Befehl zum Erstellen eines neuen Docker-Containers für den OpenVPN Access Server mit der angegebenen Konfiguration.
|
1 2 3 4 5 6 7 8 |
docker create \ --name=openvpn-as \ -v <Pfad zu Daten>:/config \ -e PGID=<gid> -e PUID=<uid> \ -e TZ=<Zeitzone> \ -e INTERFACE=<Schnittstelle> \ --net=host --privileged \ linuxserver/openvpn-as |
Die folgenden Befehle werden auf der Seite des Docker-Images erwähnt.
Wo openvpn-as Konfigurationsdateien speichern soll:
|
1 |
-v /config |
Für GroupID:
|
1 |
-e PGID |
Verwendet für UserID:
|
1 |
-e PUID |
Für die Zeitzoneneinstellung:
|
1 |
-e TZ |
Einstellung der Schnittstelle für openvpn-as, Standard ist eth0:
|
1 |
-e INTERFACE |
WICHTIG, muss für die meisten Benutzer im Host-Modus betrieben werden:
|
1 |
--net=host |
WICHTIG, funktioniert nur im privilegierten Modus:
|
1 |
--privileged |
Um die Gruppen-ID und Benutzer-ID zu erhalten, führen Sie den folgenden Befehl aus:
|
1 |
id |
Ich gebe die Zeitzone als CET an.
Für die Schnittstelle führen Sie den folgenden Befehl aus:
|
1 |
ip r |
Die Schnittstelle wäre im Allgemeinen ens3 oder eth0. Für mein System ist es ens3.
Nachdem ich all diese Dinge hinzugefügt habe, führe ich den folgenden Befehl aus:
|
1 2 3 4 5 6 7 8 |
sudo docker create --name=openvpn-as \ --restart=always \ -v /home/docker/openvpn-as/config:/config \ -e INTERFACE=ens3 \ -e PGID=1004 -e PUID=1000 \ -e TZ=Europe/Warsaw \ --net=host --privileged \ linuxserver/openvpn-as |
Da wir das Image noch nicht auf unserem System haben, wird das Image vom Server heruntergeladen. Die Ausgabe wäre:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Konnte nicht zu finden Image 'linuxserver/openvpn-as:latest' lokal latest: Pulling von linuxserver/openvpn-as 56d9dc91333b: Pull abgeschlossen 1356b0cfc067: Pull abgeschlossen 155f3c53d4a5: Pull abgeschlossen 05088c205b6d: Pull abgeschlossen 112068b0fa4e: Pull abgeschlossen 2ff5dd4a0d9b: Pull abgeschlossen 7dd87385ca73: Pull abgeschlossen d966d969c7cd: Pull abgeschlossen 4439dbcda217: Pull abgeschlossen 5f960f89c64e: Pull abgeschlossen Digest: sha256:d65f743bcec24b6b6ad0b19f9d7876cd70d5237690a940301b2366d6d5767a80 Status: Heruntergeladen neueres Image für linuxserver/openvpn-as:latest f0a1eb5440b5a423f8f21081d8654aaba2c0bd9995d2dea88a979c97ea977e16 |
Starten des Containers mit diesem Befehl:
|
1 |
sudo docker start openvpn-as |
Einloggen
Nachdem ich es gestartet habe, gehe ich zum Admin-Panel des Access Servers.
Gehe zur URL: https://<<YourIpAddress>>:943/admin

Es wird nach dem Benutzernamen und Passwort gefragt, die standardmäßig wie folgt lauten:
Benutzername: admin
Passwort: password

Nachdem ich mich eingeloggt habe, wird gefragt, ob ich die EULA (Endbenutzer-Lizenzvereinbarung) akzeptiere. Ich klicke auf „Agree“ und wechsle zum Admin-Dashboard.

Aus Sicherheitsgründen wird empfohlen, das Passwort des Admin-Kontos zu ändern. Ich ändere es mit dem folgenden Befehl:
|
1 |
docker exec -it openvpn-as passwd admin |
Konfigurieren des DNS
Da unser Server nun läuft, möchten wir das DNS darin konfigurieren. Für weitere Informationen zu Domain Name Servern (DNS) klicken Sie bitte hier.
Einer der schnellsten DNS-Server ist der von Google. Ich werde diesen in meinem OpenVPN Access Server konfigurieren, damit meine Clients problemlos auf Websites surfen können.
Ich gehe in die VPN-Einstellungen und aktiviere unter DNS-Einstellungen „Have clients use specific DNS servers“.

Als Nächstes trage ich die folgenden Adressen in die Spalten für die DNS-Server ein:
Primärer DNS-Server: 8.8.8.8
Sekundärer DNS-Server: 8.8.8.4

Einstellungen speichern und auf „Update Running Server“ klicken. Dadurch wird der laufende Server aktualisiert.
Nachdem ich den Server erfolgreich konfiguriert habe, kann ich mich über mein System mit dem VPN verbinden.
Zugriff auf die Client-Benutzeroberfläche unter: https://<<YourIpAddress>>:943.
Geben Sie den Admin-Benutzernamen und das Passwort des Admins ein oder erstellen Sie einen neuen Benutzer im Bereich „User Management“ des Admin-Panels.
Sobald ich mich eingeloggt habe, werden mir verschiedene Optionen für unterschiedliche Betriebssysteme angezeigt. Ich wähle Windows aus und lade die Client-Software herunter.

Da sie nun installiert ist, kann ich sie über das Startmenü starten oder sie öffnet sich automatisch. Über die Systemleiste (System Tray) kann ich mich mit dem VPN verbinden, indem ich das zuvor eingerichtete Konto verwende.

Und ich bin mit dem VPN verbunden. Et voilà! So erstellt man einen VPN-Server unter Docker.
Kommentare
Noch keine Kommentare. Schreiben Sie den ersten.