Advertisements

Konfigurieren Sie Ihren OpenVPN-Server unter Linux

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.

Mehr zum Thema Sicherheit

Um einen OpenVPN-Server einzurichten, müssen Sie:

  • Erstellen Sie eine Konfigurationsdatei.
  • Stellen Sie die sysctl Wert net.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.

Konfigurieren Sie Ihren OpenVPN-Server unter Linux

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top