GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> OpenVPN

Konfigurieren Sie Ihren OpenVPN-Server unter Linux

OpenVPN erstellt einen verschlüsselten Tunnel zwischen zwei Punkten und verhindert, dass Dritte auf Ihren Netzwerkverkehr zugreifen. Indem Sie Ihren VPN-Server (Virtual Private Network) einrichten, 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 können?

Im ersten Artikel dieser Serie wurde ein Server für Ihr VPN eingerichtet, und im zweiten Artikel wurde gezeigt, wie Sie die OpenVPN-Serversoftware installieren und konfigurieren. Dieser dritte Artikel zeigt, wie man OpenVPN mit vorhandener Authentifizierung startet.

Mehr zur Sicherheit

  • Der defensive Programmierleitfaden
  • Webinar:Automatisierung der Systemsicherheit und Compliance mit einem Standardbetriebssystem
  • 10 Ebenen der Linux-Containersicherheit
  • SELinux-Malbuch
  • Weitere Sicherheitsartikel

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

  • Erstellen Sie eine Konfigurationsdatei.
  • Legen Sie den sysctl fest Wert net.ipv4.ip_forward = 1 um das Routing zu aktivieren.
  • Richten Sie den entsprechenden Besitz 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 startet.
  • Konfigurieren Sie Ihre Firewall.

Konfigurationsdatei

Sie müssen eine Serverkonfigurationsdatei in /etc/openvpn/server/ erstellen . Sie können ganz von vorne anfangen, wenn Sie möchten, und OpenVPN enthält mehrere Beispielkonfigurationsdateien, die Sie als Ausgangspunkt verwenden können. Schauen Sie in /usr/share/doc/openvpn/sample/sample-config-files/ nach um sie alle zu sehen.

Wenn Sie eine Konfigurationsdatei von Hand erstellen möchten, beginnen Sie entweder mit server.conf oder roadwarrior-server.conf (falls zutreffend) und legen Sie Ihre Konfigurationsdatei in /etc/openvpn/server ab . 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 Nerven sparen, indem Sie meine vorgefertigten Vorlagen für Server- und Client-Konfigurationsdateien und sysctl verwenden Datei, um das Netzwerk-Routing zu aktivieren. Diese Konfiguration umfasst auch die Anpassung zum Protokollieren von Verbindungen und Trennungen. Es führt 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.

Um meine vorgefertigten Konfigurationsvorlagen, Skripte und sysctl zu verwenden 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 Server- und Client-Konfigurationsdateivorlagen von meiner Website herunter
  • Lädt meine benutzerdefinierten Skripte herunter und platziert sie im richtigen Verzeichnis mit den richtigen Berechtigungen
  • Lädt 99-ipforward.conf herunter und legt es in /etc/sysctl.d ab um die IP-Weiterleitung beim nächsten Booten einzuschalten
  • Legt den Besitz für alles in /etc/openvpn fest

Wenn Sie zufrieden sind, dass Sie verstehen, was das Skript tut, machen Sie es ausführbar und führen Sie es aus:

$ chmod +x OVPNdownloads.sh
$ sudo ./OVPNdownloads.sh

Hier sind die Dateien, die kopiert werden (beachten Sie die Eigentümerschaft der Datei):

$ 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 Sie OVPNserver2020.conf und OVPNclient2020.ovpn um Ihre IP-Adressen aufzunehmen. Bearbeiten Sie außerdem OVPNserver2020.conf um die Namen Ihrer Serverzertifikate von früher einzuschließen. Später werden Sie eine Kopie von OVPNclient2020.ovpn umbenennen und bearbeiten zur Verwendung mit Ihren Client-Computern. Die Blöcke, die mit ***? beginnen zeigen Ihnen, wo Sie etwas bearbeiten können.

Dateieigentum

Wenn Sie das automatisierte Skript von meiner Website verwendet haben, ist der Dateibesitz bereits vorhanden. Wenn nicht, müssen Sie sicherstellen, dass Ihr System einen Benutzer namens openvpn hat das ist ein Mitglied einer Gruppe namens openvpn . Sie müssen den Besitz von allem in /etc/openvpn festlegen an diesen Benutzer und diese Gruppe. Dies ist sicher, wenn Sie sich nicht sicher sind, ob der Benutzer und die Gruppe bereits existieren, weil useradd weigert sich, einen Benutzer mit demselben Namen wie einem bereits existierenden zu erstellen:

$ sudo useradd openvpn
$ sudo chown -R openvpn.openvpn /etc/openvpn

Firewall

Wenn Sie sich entschieden haben, den Firewalld-Dienst in Schritt 1 nicht zu deaktivieren, lässt der Firewall-Dienst Ihres Servers möglicherweise standardmäßig keinen VPN-Datenverkehr zu. Mit dem firewall-cmd Befehl können Sie den OpenVPN-Dienst aktivieren, der die erforderlichen Ports öffnet und den Datenverkehr nach Bedarf weiterleitet:

$ sudo firewall-cmd --add-service openvpn --permanent
$ sudo firewall-cmd --reload

Sie brauchen sich nicht in einem Labyrinth von iptables zu verirren!

Starten Sie Ihren Server

Sie können jetzt Ihren OpenVPN-Server starten. Damit es nach einem Neustart automatisch startet, verwenden Sie den enable Unterbefehl von systemctl :

systemctl enable --now [email protected]

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


OpenVPN
  1. Installieren Sie OpenVPN auf Ihrem Linux-PC

  2. 9 Dinge, die Sie in den ersten 10 Minuten auf einem Linux-Server tun sollten

  3. 7 Schritte zur Sicherung Ihres Linux-Servers

  4. Konfigurieren Sie OpenVPN-Clients für die Verwendung eines bestimmten DNS-Servers

  5. Installieren und konfigurieren Sie den OpenVPN-Client unter Rocky Linux 8

Einrichten eines Linux-VPN-Servers mit OpenVPN – Schritt-für-Schritt-Anleitung

So konfigurieren Sie OpenVPN unter Ubuntu 16.04

So richten Sie einen OpenVPN-Server unter Ubuntu 22.04 ein und konfigurieren ihn

So überprüfen Sie Ihre Serverlast unter Linux

So konfigurieren Sie die FreeIPA-Replikation unter Rocky Linux/Alma Linux/Centos 8

So installieren Sie KernelCare auf Ihrem Linux-Server