GNU/Linux >> LINUX-Kenntnisse >  >> Rocky Linux

So richten Sie den Pritunl VPN-Server unter Rocky Linux 8 ein

Pritunl ist ein Open-Source-VPN- und IPsec-Server mit Benutzerverwaltung und horizontaler Skalierung für kleine und große Organisationen. Es gibt dem Benutzer die Wahl, OpenVPN- und Wireguard-Protokolle zu verwenden. Es verfügt über eine einfach zu bedienende GUI-Oberfläche und unterstützt Clients auf den meisten Geräten und Plattformen. Der gesamte Datenverkehr zwischen Clients und dem Server wird verschlüsselt. Pritunl basiert auf MongoDB, einer zuverlässigen und skalierbaren Datenbank, die schnell bereitgestellt werden kann und über eine integrierte Unterstützung für die Replikation verfügt, wodurch die Bereitstellung des Pritunl-Clusters einfach wird.

In diesem Tutorial erfahren Sie, wie Sie den Pritunl VPN-Server auf Rocky Linux 8 installieren. Wir werden auch untersuchen, wie Sie mit einem Linux-Client eine Verbindung zum VPN herstellen.

Voraussetzungen

  1. Ein System mit Rocky Linux 8 zum Hosten des Pritunl-Servers.

  2. Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.

  3. Ein Domänenname, der auf den Server verweist.

  4. Ein System, auf dem Rocky Linux 8 als Client ausgeführt wird.

  5. Stellen Sie sicher, dass alles aktualisiert ist.

    $ sudo dnf update
    
  6. Installieren Sie alle Voraussetzungen.

    $ sudo dnf install nano
    

Schritt 1 – Firewall konfigurieren

Rocky Linux verwendet Firewalld Firewall. Überprüfen Sie den Status der Firewall.

$ sudo firewall-cmd --state
running

Dies zeigt an, dass es erfolgreich ausgeführt wird.

Die Firewall arbeitet mit verschiedenen Zonen und die öffentliche Zone ist die Standardzone, die wir verwenden werden. Listet alle Dienste und Ports auf, die auf der Firewall aktiv sind.

$ sudo firewall-cmd --permanent --list-services

Es sollte die folgende Ausgabe zeigen.

dhcpv6-client mdns ssh

HTTP- und HTTPS-Ports zulassen.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Überprüfen Sie den Status der Firewall erneut.

$ sudo firewall-cmd --permanent --list-all

Sie sollten eine ähnliche Ausgabe sehen.

public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: cockpit dhcpv6-client http https ssh
  ports: 
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Laden Sie die Firewall neu, um die Änderungen zu aktivieren.

$ sudo firewall-cmd --reload

Schritt 2 – MongoDB installieren

Pritunl basiert auf der MongoDB-Datenbank, also müssen wir diese zuerst installieren. Rocky Linux wird nicht mit MongoDB ausgeliefert, daher müssen wir das offizielle Repository von MongoDB verwenden.

Hinweis: MongoDB 5.0 funktioniert nur auf neueren Prozessoren. Wenn Ihr Server auf älterer Hardware läuft, sollten Sie sich für eine ältere Version von MongoDB entscheiden oder auf einen neueren Server wechseln.

Erstellen und öffnen Sie die Datei /etc/yum.repos.d/mongodb-org-5.0.repo zum Bearbeiten.

$ sudo nano /etc/yum.repos.d/mongodb-org-5.0.repo

Fügen Sie den folgenden Code ein.

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden, sobald Sie fertig sind.

Installieren Sie MongoDB.

$ sudo dnf install mongodb-org

Aktivieren und starten Sie den MongoDB-Dienst.

$ sudo systemctl enable mongod --now

Schritt 3 – Pritunl Server installieren

Der erste Schritt besteht darin, das offizielle Repository für Pritunl zu erstellen. Erstellen und öffnen Sie die Datei /etc/yum.repos.d/pritunl.repo zum Bearbeiten.

$ sudo nano /etc/yum.repos.d/pritunl.repo

Fügen Sie den folgenden Code ein.

[pritunl]
name=Pritunl Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/8/
gpgcheck=1
enabled=1

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden, sobald Sie fertig sind.

Installieren Sie zuerst das Epel-Repository, das von Pritunl benötigt wird.

$ sudo dnf install epel-release

Fügen Sie die für Pritunl benötigten GPG-Schlüssel hinzu und importieren Sie sie.

$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
$ gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp

Installieren Sie Pritunl.

$ sudo dnf install pritunl

Überprüfen Sie die Pritunl-Version.

$ pritunl version
pritunl v1.30.2960.4

Aktivieren und starten Sie den Pritunl-Dienst.

$ sudo systemctl enable pritunl --now

Limit für offene Dateien erhöhen

Führen Sie die folgenden Befehle aus, um das Limit für offene Dateien auf dem Server zu erhöhen. Dadurch werden Verbindungsprobleme bei hoher Auslastung vermieden. Wenn Sie MongoDB auf einem separaten Server installiert haben, müssen Sie diese Befehle auf diesem Server ausführen.

$ sudo sh -c 'echo "* hard nofile 64000" >> /etc/security/limits.conf'
$ sudo sh -c 'echo "* soft nofile 64000" >> /etc/security/limits.conf'
$ sudo sh -c 'echo "root hard nofile 64000" >> /etc/security/limits.conf'
$ sudo sh -c 'echo "root soft nofile 64000" >> /etc/security/limits.conf'

Schritt 4 – Zugriff auf und Konfiguration von Pritunl

Sie können Pritunl starten, indem Sie http://<serverIP>/ eingeben in Ihrem Browser. Moderne Browser versuchen, auf die HTTPS-Version jeder Website zuzugreifen, daher müssen Sie den vom Browser ausgegebenen Datenschutzfehler umgehen.

Sie erhalten den folgenden Bildschirm, wenn Sie die URL zum ersten Mal starten.

Der MongoDB-URI wird automatisch abgerufen. Führen Sie für den Setup-Schlüssel den folgenden Befehl aus.

$ sudo pritunl setup-key
eacbd641982048fd9a60cdf09f7ebaa3

Geben Sie den generierten Schlüssel auf der Website ein und klicken Sie auf Speichern Taste. Es aktualisiert die Datenbank und öffnet den Anmeldebildschirm.

Führen Sie den folgenden Befehl aus, um Standard-Anmeldeinformationen zu generieren.

$ sudo pritunl default-password
[undefined][2021-11-08 22:34:55,255][INFO] Getting default administrator password
Administrator default password:
  username: "pritunl"
  password: "krZQLlH9U7P1"

Geben Sie die Anmeldeinformationen ein und melden Sie sich an. Sie erhalten den folgenden Einrichtungsbildschirm.

Geben Sie ein sicheres Passwort ein, um das Standardpasswort zu ersetzen. Geben Sie eine Domain unter Lets Encrypt Domain ein Feld. Pritunl generiert und richtet automatisch ein SSL-Zertifikat für die Domain ein.

Sie können den Server jetzt mit dem Domänennamen starten, indem Sie https://pritunl.example.com eingeben in Ihrem Browser.

Schritt 5 – Organisation, Server und Benutzer hinzufügen

Der nächste Schritt besteht darin, eine Organisation für Ihr VPN hinzuzufügen. Klicken Sie auf Benutzer und klicken Sie auf Organisation hinzufügen Schaltfläche.

Klicken Sie auf Hinzufügen Schaltfläche, um fortzufahren.

Der nächste Schritt besteht darin, einen Benutzer hinzuzufügen. Es gibt zwei Möglichkeiten. Sie können Benutzer entweder einzeln oder in großen Mengen hinzufügen. Wir werden vorerst einen einzelnen Benutzer hinzufügen. Klicken Sie auf Benutzer hinzufügen Schaltfläche.

Das PIN-Feld ist optional und wird verwendet, wenn Sie die Zwei-Faktor-Authentifizierung verwenden möchten. Die PIN besteht nur aus Zahlen.

Nachdem die Organisation und die Benutzer festgelegt wurden, gehen Sie zu den Servern und klicken Sie auf Server hinzufügen Schaltfläche.

Hafen :Sie können jeden Port hinzufügen, den der Server verwendet. Stellen Sie sicher, dass der angegebene Port für den gesamten eingehenden Datenverkehr in der Sicherheitsgruppe geöffnet ist.

DNS: Sie können entweder Google DNS oder OpenDNS hinzufügen.

Virtuelles Netzwerk: Sie können in diesem Feld eine private IP-Adresse hinzufügen, aber stellen Sie sicher, dass keine andere Ressource diese verwendet. Clients werden IP-Adressen aus diesem Bereich zugewiesen.

Virtuelles WG-Netzwerk: WireGuard-Netzwerkadressen für das private Netzwerk, die WireGuard-Clients zugewiesen werden. Es sollte denselben CIDR-Block wie das virtuelle Netzwerk haben.

WireGuard aktivieren: Wenn diese Option aktiviert ist, wird WireGuard anstelle von OpenVPN verwendet. Wir werden jedoch OpenVPN für unser Tutorial verwenden, also lassen Sie es deaktiviert.

WG-Port: Dieser Port wird für die WireGuard-Verbindungen verwendet. Es darf nur verwendet werden, wenn wir die WireGuard-Option aktiviert haben.

Google Authenticator aktivieren: Aktivieren Sie diese Option, um die Bestätigung in zwei Schritten zu verwenden. Wenn diese Option auf dem Server aktiviert ist, müssen alle Clients unter diesem Server das OTP überprüfen, bevor sie sich jedes Mal mit dem VPN verbinden.

IPv6 aktivieren :Aktiviert IPv6-DNS-Server. Clients erhalten private IPv6-Adressen.

Klicken Sie auf Hinzufügen Schaltfläche zum Beenden.

Klicken Sie auf Organisation hinzufügen Schaltfläche, um die Organisation mit dem neu erstellten Server zu verknüpfen.

Klicken Sie auf Server starten Schaltfläche, um das VPN zu starten.

Port in Firewall aktivieren

Um die Verbindungen vom Client über den VPN-Port zu akzeptieren, müssen wir ihn durch unsere Firewall aktivieren.

$ sudo firewall-cmd --permanent --add-port=18412/udp
$ sudo firewall-cmd --reload

Schritt 6 – Pritunl Client installieren

Jetzt, da unser Server betriebsbereit ist, ist es an der Zeit, einen Client zu installieren und eine Verbindung zum VPN herzustellen. Pritunl bietet zwei Arten von Clients an - einen Befehlszeilen- und einen GUI-Client.

Für unser Tutorial verwenden wir den Befehlszeilen-Client. Sie können nur einen Client-Typ auf einem System installieren.

Installieren Sie das vom Pritunl-Client benötigte EPEL-Repository.

$ sudo dnf install epel-release

Fügen Sie das offizielle Pritunl-Repository zu Ihrem Rocky Linux-System hinzu.

$ sudo tee -a /etc/yum.repos.d/pritunl.repo << EOF
[pritunl]
name=Pritunl Stable Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/8/
gpgcheck=1
enabled=1
EOF

GPG-Schlüssel hinzufügen und importieren.

$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
$ gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp

Installieren Sie den Befehlszeilen-Client.

$ sudo dnf install pritunl-client

Schritt 7 – Verbindung vom Client zum Server

Rufen Sie auf der Benutzerregisterkarte der Pritunl-Serverseite den temporären Profillink ab, um sich mit dem Client zu verbinden.

Kopieren Sie den temporären URI-Link aus dem letzten Eintrag.

Geben Sie den folgenden Befehl auf dem Client-Terminal ein, um das Profil hinzuzufügen.

$ pritunl-client add pritunl://example.com/ku/2hd6S6Ug

Stellen Sie sicher, dass Sie den zuvor kopierten Profillink nach add hinzufügen im Befehl.

Überprüfen Sie die Liste der hinzugefügten Profile.

$ pritunl-client list
+----------------------------------+-------------------------+--------------+----------------+----------------+
|                ID                |          NAME           |  ONLINE FOR  | SERVER ADDRESS | CLIENT ADDRESS |
+----------------------------------+-------------------------+--------------+----------------+----------------+
| wkinhnnjyz3ybektjbavy8qpecafqp1e | hforgeuser (howtoforge) | Disconnected | -              | -              |
+----------------------------------+-------------------------+--------------+----------------+----------------+

Führen Sie den folgenden Befehl aus, um eine Verbindung mit dem Profil herzustellen. Sie müssen nicht die vollständige Profil-ID im Befehl verwenden. Verwenden Sie einfach die ersten 3 Buchstaben der Profil-ID, um darauf zu verweisen.

$ pritunl-client start wki --mode=ovpn --password=PINOTP
  • Um den OPVN-Modus anzugeben, fügen Sie das Flag --mode=ovpn hinzu im Befehl.
  • Wenn Sie die Google Authenticator-Option aktiviert haben, müssen Sie sie mit einem Google Authenticator- oder Authy-Client konfigurieren.
  • Um die PIN und den Zwei-Faktor-Authentifizierungscode anzugeben, verwenden Sie das Flag --password=PINOTP im Befehl. Wenn die PIN beispielsweise 54321 und der OTP-Code 456789 lautet, verwenden Sie das Flag --password=54321456789 im obigen Befehl. Wenn Sie nur PIN verwenden, verwenden Sie das Flag --password=PIN .

Führen Sie die list aus Befehl erneut, um zu prüfen, ob die Verbindung funktioniert.

$ pritunl-client list
+----------------------------------+-------------------------+------------+----------------+----------------+
|                ID                |          NAME           | ONLINE FOR | SERVER ADDRESS | CLIENT ADDRESS |
+----------------------------------+-------------------------+------------+----------------+----------------+
| wkinhnnjyz3ybektjbavy8qpecafqp1e | hforgeuser (howtoforge) | 6 secs     | 178.62.233.196 | 192.168.238.2  |
+----------------------------------+-------------------------+------------+----------------+----------------+

Sie haben erfolgreich eine Verbindung zum Pritunl VPN hergestellt.

Pritunl-Befehlszeile

Der Pritunl-Server wird mit einem Befehlszeilentool geliefert, mit dem Sie einige grundlegende Operationen ausführen können.

Datenbank reparieren

Sie können Pritunl verwenden, um die Datenbank zu reparieren und die Wiederherstellung einer beschädigten oder inkonsistenten Datenbank zu ermöglichen.

Stoppen Sie zuerst den Pritunl-Server.

$ sudo systemctl stop pritunl

Datenbank reparieren.

$ sudo pritunl repair-database

Starten Sie den Pritunl-Dienst neu.

$ sudo systemctl start pritunl

Die repair-database Der Befehl löscht alle Protokolle, setzt alle statischen virtuellen IP-Adressen der Benutzer zurück und versetzt alle Server in den angehaltenen Zustand.

Anmeldeinformationen zurücksetzen

Der folgende Befehl setzt den Benutzernamen und das Passwort des Administrators zurück auf pritunl . Außerdem werden alle Single-Sign-On- und zweistufigen Authentifizierungseinstellungen für den Administratorbenutzer entfernt, falls aktiviert.

$ sudo pritunl reset-password

Port der Webkonsole ändern

Standardmäßig läuft Pritunl auf Port 443. Wenn Sie ihn ändern möchten, verwenden Sie den folgenden Befehl.

$ sudo pritunl set app.server_port 8443

Pritunl betreibt einen Webserver auf Port 80 für die Verifizierung durch Let’s Encrypt und leitet HTTP-Anfragen an HTTPS weiter. Sie können die Umleitung mit dem folgenden Befehl deaktivieren. Dadurch wird auch die Verwendung von Let's Encrypt-Zertifikaten verhindert.

$ sudo pritunl set app.redirect_server false

Schlussfolgerung

Damit ist unser Tutorial zum Einrichten und Verwenden des Pritunl-VPN-Servers auf einem Rocky Linux 8-Server abgeschlossen. Wenn Sie mehr über Pritunl erfahren möchten, können Sie der offiziellen Dokumentation folgen. Wenn Sie Fragen haben, posten Sie diese in den Kommentaren unten.


Rocky Linux
  1. Richten Sie einen VPN-Server auf Ihrem Linux-PC ein

  2. So richten Sie einen NFS-Mount unter Rocky Linux 8 ein

  3. So richten Sie einen SFTP-Server auf Rocky Linux/CentOS 8 Server ein

  4. So richten Sie einen SFTP-Server unter Arch Linux ein

  5. So richten Sie NFS-Server und -Client unter Rocky/Alma Linux 8 ein

So installieren Sie LAMP auf Rocky Linux 8 Server

So stellen Sie Datum und Uhrzeit auf Rocky Linux 8 Desktop und Server ein

So installieren Sie MariaDB Server auf Rocky Linux 8

So richten Sie WireGuard VPN unter Linux ein

So installieren Sie Pritunl VPN auf Rocky Linux 8

So installieren Sie Nginx unter Rocky Linux 9