So installieren Sie OpenVPN auf AlmaLinux 8, Centos 8 oder Rocky Linux 8

Ein VPN „Virtual Private Network“ ist ein privates Netzwerk, das Benutzeridentität, Herkunft und Daten durch Verschlüsselung verbirgt. Seine Hauptverwendung ist der Datenschutz des Benutzers und die sichere Verbindung zum Internet. Da es Daten verbirgt, können Sie auf Daten zugreifen, die normalerweise durch geografische Beschränkungen blockiert sind.

OpenVPN ist eine Open-Source-VPN-Software, die sowohl eine Software als auch ein Protokoll an sich ist. Es wird sehr geschätzt, da es Firewalls weiterhin umgeht.

Dieses Tutorial zeigt Ihnen Schritt für Schritt, wie Sie einen OpenVPN-Server installieren, einrichten und mit dem OpenVPN-Client verbinden. Wir werden einen CentOS 8 Server für die Installation verwenden, das gleiche Verfahren funktioniert auch auf Rocky Linux 8 und AlmaLinux 8.

Voraussetzungen

Terminalzugang

Ein Benutzerkonto mit sudo Privilegien.

Notiz: Die Befehle in diesem Tutorial werden auf CentOS 8 ausgeführt. Alle Methoden im Tutorial sind auch für CentOS 7 gültig.

Update- und Upgrade-System

Stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist, indem Sie Ihr System aktualisieren und aktualisieren, indem Sie den folgenden Befehl ausführen.

sudo dnf update && sudo dnf upgrade

SELinux deaktivieren

Als nächstes müssen Sie SELinux deaktivieren, da es mit dem OpenVPN in Konflikt steht und den Start verhindert.

Um SELinux zu deaktivieren, öffnen Sie die SELinux-Konfigurationsdatei mit dem folgenden Befehl.

sudo nano /etc/selinux/config

Sobald die Datei mit dem Nano-Editor geöffnet wird. Suchen Sie nach SELinux und ändern Sie seinen Wert auf deaktiviert oder ersetzen Sie ihn einfach durch die folgende Codezeile.

SELINUX=disabled

Drücken Sie Strg+O und dann Strg+X, um die Datei zu speichern und zu beenden.

IP-Weiterleitung aktivieren

Jetzt müssen Sie die IP-Weiterleitung aktivieren, damit die eingehenden Pakete an verschiedene Netzwerke weitergeleitet werden können.

Um die IP-Weiterleitung zu aktivieren, öffnen Sie die sysctl-Konfigurationsdatei mit dem Nano-Editor.

sudo nano /etc/sysctl.conf

Fügen Sie der Datei den folgenden Code hinzu.

net.ipv4.ip_forward = 1

Drücken Sie Strg+O und dann Strg+X.

OpenVPN-Server installieren

Stellen Sie sicher, dass Sie das epel-release-Paket installieren.

sudo dnf install epel-release -y

Jetzt können Sie OpenVPN mit dem folgenden Befehl installieren.

sudo dnf install openvpn -y

Jetzt ist OpenVPN installiert. Navigieren Sie zum Installationsordner und laden Sie easy-rsa herunter. Easy-RSA erstellt und verwaltet Zertifizierungsstellen (CAs).

cd /etc/openvpn
sudo wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.6/EasyRSA-unix-v3.0.6.tgz

Entpacken Sie die heruntergeladene ZIP-Datei.

sudo tar -xvzf EasyRSA-unix-v3.0.6.tgz

Und verschieben Sie die EasyRSA-Datei in ihren Ordner.

sudo mv EasyRSA-v3.0.6 easy-rsa

Easy-RSA konfigurieren

Als nächstes müssen wir ein SSL-Zertifikat hinzufügen und erstellen. Navigieren Sie dazu zunächst zum Verzeichnis easy-rsa.

cd /etc/openvpn/easy-rsa

Um die vars-Datei im Nano-Editor zu öffnen, führen Sie den folgenden Befehl aus.

sudo nano vars

Kopieren Sie nun die folgenden Codezeilen und fügen Sie sie in die vars-Datei ein.

set_var EASYRSA "$PWD"
set_var EASYRSA_PKI "$EASYRSA/pki"
set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY "USA"
set_var EASYRSA_REQ_PROVINCE "Newyork"
set_var EASYRSA_REQ_CITY "Newyork"
set_var EASYRSA_REQ_ORG "osradar CERTIFICATE AUTHORITY"
set_var EASYRSA_REQ_EMAIL ""
set_var EASYRSA_REQ_OU "osradar EASY CA"
set_var EASYRSA_KEY_SIZE 2048
set_var EASYRSA_ALGO rsa
set_var EASYRSA_CA_EXPIRE 7500
set_var EASYRSA_CERT_EXPIRE 365
set_var EASYRSA_NS_SUPPORT "no"
set_var EASYRSA_NS_COMMENT "osradar CERTIFICATE AUTHORITY"
set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-easyrsa.cnf"
set_var EASYRSA_DIGEST "sha256"

Sie können den Wert von Land, Stadt, Provinz und E-Mail entsprechend Ihren Anforderungen ändern.

Drücken Sie Strg+O und dann Strg+X.

Initiieren Sie nun das PKI-Verzeichnis mit dem folgenden Befehl.

./easyrsa init-pki

Schließlich können Sie Ihr CA-Zertifikat erstellen.

sudo ./easyrsa build-ca

Serverzertifikatdateien generieren

Verwenden Sie den folgenden Befehl, um Ihr Schlüsselpaar und Ihre Zertifikatsanforderung abzurufen.

sudo ./easyrsa gen-req vitux-server nopass

Signieren Sie den Serverschlüssel mit CA

Führen Sie den folgenden Befehl aus, um Ihren Serverschlüssel mit der Zertifizierungsstelle zu signieren.

sudo ./easyrsa sign-req server vitux-server

Wir brauchen den Diffie-Hellman-Schlüssel für den Schlüsselaustausch. Generieren Sie den Schlüssel, indem Sie den folgenden Befehl ausführen.

sudo ./easyrsa gen-dh

Kopieren Sie als nächstes alle diese Dateien in die /etc/openvpn/server/ Verzeichnis.

cp pki/ca.crt /etc/openvpn/server/
cp pki/dh.pem /etc/openvpn/server/
cp pki/private/vitux-server.key /etc/openvpn/server/
cp pki/issued/vitux-server.crt /etc/openvpn/server/

Clientschlüssel und Zertifikat generieren

Sie können den Clientschlüssel abrufen, indem Sie den folgenden Befehl ausführen.

sudo ./easyrsa gen-req client nopass

Als nächstes signieren Sie Ihren Client-Schlüssel mit dem generierten CA-Zertifikat.

sudo ./easyrsa sign-req client client

Kopieren Sie diese Dateien in die /etc/openvpn/client/ Verzeichnis

cp pki/ca.crt /etc/openvpn/client/
cp pki/issued/client.crt /etc/openvpn/client/
cp pki/private/client.key /etc/openvpn/client/

OpenVPN-Server konfigurieren

Erstellen und öffnen Sie eine neue Konfigurationsdatei im Client-Verzeichnis mit dem folgenden Befehl.

sudo nano /etc/openvpn/server/server.conf

Fügen Sie dann die folgenden Codezeilen in die Datei ein.

port 1194
proto udp
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/vitux-server.crt
key /etc/openvpn/server/vitux-server.key
dh /etc/openvpn/server/dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
duplicate-cn
cipher AES-256-CBC
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
auth SHA512
auth-nocache
keepalive 20 60
persist-key
persist-tun
compress lz4
daemon
user nobody
group nobody
log-append /var/log/openvpn.log
verb 3

Drücken Sie Strg+O und Strg+X.

OpenVPN-Dienst starten und aktivieren

Ihr OpenVPN ist startbereit. Starten und aktivieren Sie den Server mit den folgenden Befehlen.

sudo systemctl start [email protected]
sudo systemctl enable [email protected]

Sie können den aktiven Status mit dem folgenden Befehl sehen und überprüfen.

systemctl status [email protected]

Nach erfolgreichem Start des OpenVPN-Servers wird eine neue Netzwerkschnittstelle erstellt. Führen Sie den folgenden Befehl aus, um die Details anzuzeigen.

ifconfig

Generieren Sie die Client-Konfigurationsdatei

Der nächste Schritt besteht darin, den Client mit dem OpenVPN-Server zu verbinden. Dazu benötigen wir die Client-Konfigurationsdatei. Führen Sie den folgenden Befehl aus, um die Clientkonfigurationsdatei zu generieren.

sudo nano /etc/openvpn/client/client.ovpn

Kopieren Sie nun den folgenden Code und fügen Sie ihn in die Datei ein.

client
dev tun
proto udp
remote vpn-server-ip 1194
ca ca.crt
cert client.crt
key client.key
cipher AES-256-CBC
auth SHA512
auth-nocache
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
resolv-retry infinite
compress lz4
nobind
persist-key
persist-tun
mute-replay-warnings
verb 3

Drücken Sie Strg+O, um die Änderungen zu speichern, und drücken Sie Strg+X, um den Editor zu verlassen.

Routing konfigurieren

Legen Sie die OpenVPN-Diensteinstellungen mit den folgenden Befehlen fest, um sie durch die Firewall zuzulassen.

firewall-cmd --permanent --add-service=openvpn
firewall-cmd --permanent --zone=trusted --add-service=openvpn
firewall-cmd --permanent --zone=trusted --add-interface=tun0

firewall-cmd --add-masquerade
firewall-cmd --permanent --add-masquerade

Legen Sie das Routing fest, um den eingehenden Datenverkehr vom VPN an das lokale Netzwerk weiterzuleiten.

routecnf=$(ip route get 8.8.8.8 | awk 'NR==1 {print $(NF-2)}')
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $routecnf -j MASQUERADE

Laden Sie neu, damit die Änderungen wirksam werden.

firewall-cmd --reload

Installieren und verwenden Sie OpenVPN auf dem Client-Computer

Sie müssen epel-release und OpenVPN wie auf der Serverseite installieren.

dnf install epel-release -y
dnf install openvpn -y

Kopieren Sie nun die Client-Konfigurationsdateien vom Server mit dem unten angegebenen Befehl.

sudo scp -r [email protected]:/etc/openvpn/client .

Gehen Sie in das Client-Verzeichnis und stellen Sie mit den folgenden Befehlen eine Verbindung zum OpenVPN-Server her.

cd client
openvpn --config client.ovpn

Führen Sie ifconfig aus, um die zugewiesene IP-Adresse anzuzeigen.

ifconfig tun0