OpenVPN erstellt einen verschlüsselten Tunnel zwischen zwei Punkten und verhindert, dass Dritte auf Ihren Netzwerkverkehr zugreifen. Durch die Einrichtung Ihres Virtual Private Network (VPN)-Servers werden Sie Ihr eigener VPN-Anbieter. Viele beliebte VPN-Dienste verwenden bereits OpenVPN. Warum also Ihre Verbindung an einen bestimmten Anbieter binden, wenn Sie die vollständige Kontrolle haben?
Der erste Artikel dieser Serie richtet einen Server für Ihr VPN ein und der zweite Artikel zeigt, wie Sie die OpenVPN-Serversoftware installieren und konfigurieren. Dieser dritte Artikel zeigt, wie Sie OpenVPN mit aktivierter Authentifizierung starten.
Um einen OpenVPN-Server einzurichten, müssen Sie:
- Erstellen Sie eine Konfigurationsdatei.
- Stellen Sie die
sysctl
Wertnet.ipv4.ip_forward = 1
Routing zu ermöglichen. - Richten Sie die entsprechenden Eigentümer für alle Konfigurations- und Authentifizierungsdateien ein, um den OpenVPN-Server-Daemon unter einem Nicht-Root-Konto auszuführen.
- Stellen Sie OpenVPN so ein, dass es mit der entsprechenden Konfigurationsdatei beginnt.
- Konfigurieren Sie Ihre Firewall.
Konfigurationsdatei
Sie müssen eine Server-Konfigurationsdatei erstellen in /etc/openvpn/server/
. Sie können bei Null anfangen, wenn Sie möchten, und OpenVPN enthält mehrere Beispielkonfigurationsdateien, die als Ausgangspunkt verwendet werden können. Schau mal rein /usr/share/doc/openvpn/sample/sample-config-files/
sie alle zu sehen.
Wenn Sie eine Konfigurationsdatei von Hand erstellen möchten, beginnen Sie mit entweder server.conf
oder roadwarrior-server.conf
(sofern zutreffend) und platzieren Sie Ihre Konfigurationsdatei in /etc/openvpn/server
. Beide Dateien sind ausführlich kommentiert, also lesen Sie die Kommentare und entscheiden Sie, welche für Ihre Situation am sinnvollsten ist.
Sie können Zeit und Ärger sparen, indem Sie meine vorgefertigten Vorlagen für Server- und Client-Konfigurationsdateien verwenden und sysctl
Datei, um das Netzwerk-Routing zu aktivieren. Diese Konfiguration umfasst auch die Anpassung zum Protokollieren von Verbindungen und Trennungen. Es hält Protokolle auf dem OpenVPN-Server in /etc/openvpn/server/logs
.
Wenn Sie meine Vorlagen verwenden, müssen Sie sie bearbeiten, um Ihre IP-Adressen und Hostnamen zu verwenden.
So verwenden Sie meine vorgefertigten Konfigurationsvorlagen, Skripte und sysctl
Um die IP-Weiterleitung zu aktivieren, laden Sie mein Skript herunter:
$ curl
https://www.dgregscott.com/ovpn/OVPNdownloads.sh >
OVPNdownloads.sh
Lesen Sie das Skript, um eine Vorstellung davon zu bekommen, was es tut. Hier ist ein kurzer Überblick über seine Aktionen:
- Erstellt die entsprechenden Verzeichnisse auf Ihrem OpenVPN-Server
- Lädt Vorlagen für Server- und Client-Konfigurationsdateien von meiner Website herunter
- Lädt meine benutzerdefinierten Skripte herunter und legt sie mit den richtigen Berechtigungen im richtigen Verzeichnis ab
- Downloads
99-ipforward.conf
und legt es in/etc/sysctl.d
um die IP-Weiterleitung beim nächsten Booten einzuschalten - Legt die Eigentumsrechte für alles fest in
/etc/openvpn
Wenn Sie sicher sind, dass Sie die Funktion des Skripts verstanden haben, machen Sie es ausführbar und führen Sie es aus:
$ chmod +x OVPNdownloads.sh
$ sudo ./OVPNdownloads.sh
Hier sind die kopierten Dateien (beachten Sie den Dateibesitz):
$ ls -al -R /etc/openvpn
/etc/openvpn:
total 12
drwxr-xr-x. 4 openvpn openvpn 34 Apr 6 20:35 .
drwxr-xr-x. 139 root root 8192 Apr 6 20:35 ..
drwxr-xr-x. 2 openvpn openvpn 33 Apr 6 20:35 client
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 server
/etc/openvpn/client:
total 4
drwxr-xr-x. 2 openvpn openvpn 33 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 34 Apr 6 20:35 ..
-rw-r--r--. 1 openvpn openvpn 1764 Apr 6 20:35 OVPNclient2020.ovpn
/etc/openvpn/server:
total 4
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 34 Apr 6 20:35 ..
drwxr-xr-x. 2 openvpn openvpn 59 Apr 6 20:35 ccd
drwxr-xr-x. 2 openvpn openvpn 6 Apr 6 20:35 logs
-rw-r--r--. 1 openvpn openvpn 2588 Apr 6 20:35 OVPNserver2020.conf
/etc/openvpn/server/ccd:
total 8
drwxr-xr-x. 2 openvpn openvpn 59 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 ..
-rwxr-xr-x. 1 openvpn openvpn 917 Apr 6 20:35 client-connect.sh
-rwxr-xr-x. 1 openvpn openvpn 990 Apr 6 20:35 client-disconnect.sh
/etc/openvpn/server/logs:
total 0
drwxr-xr-x. 2 openvpn openvpn 6 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 ..
Hier ist die 99-ipforward.conf
Datei:
# Turn on IP forwarding. OpenVPN servers need to do routing
net.ipv4.ip_forward = 1
Bearbeiten OVPNserver2020.conf
und OVPNclient2020.ovpn
um Ihre IP-Adressen aufzunehmen. Bearbeiten Sie auch OVPNserver2020.conf
um Ihre Serverzertifikatnamen von früher einzuschließen. Später benennen und bearbeiten Sie eine Kopie von OVPNclient2020.ovpn
zur Verwendung mit Ihren Client-Computern. Die Blöcke, die mit beginnen ***?
zeigen Ihnen, wo Sie bearbeiten müssen.
Dateieigentum
Wenn Sie das automatisierte Skript von meiner Website verwendet haben, ist das Dateieigentum bereits vorhanden. Wenn nicht, müssen Sie sicherstellen, dass Ihr System über einen Benutzer namens . verfügt openvpn
das ist ein Mitglied einer Gruppe namens openvpn
. Sie müssen die Eigentumsrechte für alles festlegen in /etc/openvpn
zu diesem Benutzer und dieser Gruppe. Dies ist sicher, wenn Sie sich nicht sicher sind, ob der Benutzer und die Gruppe bereits vorhanden sind, da useradd
weigert sich, einen Benutzer mit demselben Namen wie einem bereits vorhandenen Benutzer zu erstellen:
$ sudo useradd openvpn
$ sudo chown -R openvpn.openvpn /etc/openvpn
Firewall
Wenn Sie sich in Schritt 1 entschieden haben, den Firewall-Dienst nicht zu deaktivieren, lässt der Firewall-Dienst Ihres Servers möglicherweise standardmäßig keinen VPN-Datenverkehr zu. Verwendung der firewall-cmd
Befehl können Sie den OpenVPN-Dienst aktivieren, der die erforderlichen Ports öffnet und den Verkehr nach Bedarf weiterleitet:
$ sudo firewall-cmd --add-service openvpn --permanent
$ sudo firewall-cmd --reload
Sie müssen sich nicht in einem Labyrinth von iptables verirren!
Starten Sie Ihren Server
Sie können nun Ihren OpenVPN-Server starten. Damit es nach einem Neustart automatisch startet, verwenden Sie die enable
Unterbefehl von systemctl
:
systemctl enable --now openvpn-server@OVPNserver2020.service
Letzte Schritte
Der vierte und letzte Artikel in diesem Artikel zeigt, wie Sie Clients einrichten, um sich aus der Ferne mit Ihrem OpenVPN zu verbinden.
Dieser Artikel basiert auf dem Blog von D. Greg Scott und wird mit Genehmigung weiterverwendet.