Installieren und Konfigurieren OpenVPN on CentOS
OpenVPN ist eine offene Softwareimplementierung des VPN Protokoll. Eine Besonderheit dieses Produkts ist die Möglichkeit, verschlüsselte Tunnel zu erstellen. Es gibt Implementierungen für die gängigsten Betriebssysteme, darunter auch für mobile Plattformen.
Das CentOS Das ist die Repository-Funktion OpenVPN ist darin nicht enthalten. Dieses Paket kann jedoch über das EPEL-Repository (Enterprise) bezogen werden Linux), das vom Fedora-Projekt verwaltet wird. Aus diesem Repository können Sie übrigens auch andere Pakete beziehen, die nicht im Standard enthalten sind CentOS Repository. Installieren Sie mit dem Befehl:
yum install epel-release
Fahren Sie mit der Installation fort OpenVPN. Installieren Sie das Paket:
yum install openvpn easy-rsa -y
Fahren Sie mit der Konfiguration des Servers fort. Server.conf kopieren:
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/
Es ist wichtig, auf das „*“ zu achten. Wenn nur ein Installationsversuch unternommen wurde, dann wurde das Program Die Version kann durch ein Sternchensymbol ersetzt werden. Bei mehreren Installationsversuchen kann es sein, dass Sie den Pfad zur Datei vollständig angeben müssen.
Nehmen Sie vor dem Generieren der Schlüssel einige Änderungen an der Serverkonfigurationsdatei vor
Öffnen Sie server.conf mit einem beliebigen Editor.
nano /etc/openvpn/server.conf
Suchen Sie die Zeile „Diffie hellman parameter.“ und suchen Sie nach:
dh dh2048.pem
Wenn es genau angegeben ist, müssen keine Änderungen vorgenommen werden. Die Nuance der neuen Version des Pakets besteht darin, dass die parameter hat bereits Werte. In älteren Versionen gibt es einfach „dh“. Wir lassen es wie unser eigenes aussehen.
Suchen Sie als Nächstes nach der Zeile „# Sicher Windows-spezifische Netzwerkeinstellungen“. Kommentieren Sie einen der PA ausrameter unten (löschen Sie das Symbol „Semikolon“ (;) am Anfang der Zeile). Es sollte ungefähr so aussehen:
push "dhcp-option DNS 8.8.8.8"
Sie können Ihre angeben DNS Server, falls gewünscht. Außerdem können Sie die zweite Zeile auskommentieren, um eine Änderung zu übergebennatIVE DNS Server zu cliauch Enten.
Aus Gründen der Serversicherheit beginnen wir mit dem Benutzer „nobody“ und der Gruppe „nogroup“. Kommentieren Sie die Zeilen aus:
user nobody
group nobody
Wir beginnen mit der Erstellung von Zertifikaten
Erstellen Sie mit dem zuvor installierten easy-rsa-Paket den Server und cliHNO-Schlüssel.
Erstellen Sie ein Verzeichnis, in dem die Schlüssel liegen:
mkdir -p /etc/openvpn/easy-rsa/keys
Kopieren Sie im neu erstellten easy-rsa-Verzeichnis die Skripte:
cp -r /usr/share/easy-rsa/3.0/* /etc/openvpn/easy-rsa
Gehen Sie zu /etc/openvpn/easy-rsa/3/ Verzeichnis und erstellen Sie ein Vars-Skript
cd / etc /openvpn/easy-rsa/
nano vars
Wichtig! Die Easy-RSA-Version kann unterschiedlich sein und daher muss der Pfad angepasst werden.
Fügen Sie der geöffneten Datei die folgenden Zeilen hinzu:
set_var EASYRSA "$PWD"
set_var EASYRSA_PKI "$EASYRSA/pki"
set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY "RU"
set_var EASYRSA_REQ_PROVINCE "Moscow"
set_var EASYRSA_REQ_CITY "Moscow"
set_var EASYRSA_REQ_ORG "MyOrg"
set_var EASYRSA_REQ_EMAIL "openvpn@mydomain.net"
set_var EASYRSA_REQ_OU "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 "CERTIFICATE AUTHORITY"
set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-1.0.cnf"
set_var EASYRSA_DIGEST "sha256"
Dateiausführung zulassen:
chmod +x vars
Wir initialisieren das PKI-Verzeichnis und erstellen ein CA-Zertifikat:
./easyrsa init-pki
./easyrsa build-ca
Wichtig! Beim Erstellen eines CA-Zertifikats fragt das Skript nach einem Passwort mit mindestens 4 Zeichen. Das eingegebene Passwort sollte man sich merken.
Erstellen Sie den Serverschlüssel.
./easyrsa gen-req server nopass
Wenn Sie das Attribut „nopass“ nicht angeben, fragt das Skript beim Erstellen des Schlüssels nach einem Passwort.
Wir signieren das Serverzertifikat:
./easyrsa sign-req server server
Das Skript wird sich mit der ersten Aktion, der Antwort „Ja“, für unser Vertrauen interessieren. Anschließend wird nach dem Passwort gefragt, das beim Erstellen des CA-Zertifikats angegeben wurde.
Überprüfen Sie, ob das Zertifikat signiert ist:
openssl verify -CAfile pki/ca.crt pki/issued/ server.crt
Wir generieren einen zusätzlichen Serverschlüssel ta.key:
openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/ta.key
Benutzerzertifikate
Der Vorgang zum Erstellen eines Benutzerzertifikats ist identisch mit dem Erstellen eines Serverzertifikats.
1. Wir erstellen ohne Passwortschutz:
./easyrsa gen-req client01 nopass
2. Unterzeichnung des Zertifikats:
./easyrsa sign-req client client01
3. Überprüfen Sie die Signaturnature:
openssl verify -CAfile pki/ca.crt pki/issued/client01.crt
Diffie Hellman.
Erstellen eines Zertifikats
./easyrsa gen-dh
Als Ergebnis wird die Datei dh.pem erstellt und in der Konfiguration dh2048.pem gespeichert. Benennen Sie es später beim Kopieren von Schlüsseln um.
Wir übertragen Zertifikate
Kopieren Sie die Serverschlüsseldateien. Dazu führen wir nacheinander Folgendes aus:
cp pki/ca.crt /etc/openvpn/
cp pki/issued/server.crt /etc/openvpn/
cp pki/private/server.key /etc/openvpn/
cp /etc/openvpn/easy-rsa/keys/ta.key /etc/openvpn/
Kopieren cliHNO-Schlüssel
cp pki/ca.crt /etc/openvpn/client/
cp pki/issued/client01.crt /etc/openvpn/client/
cp pki/private/client01.key /etc/openvpn/client/
Kopieren Sie die Diffie-Hellman-Schlüsseldatei
cp pki/dh.pem /etc/openvpn/dh2048.pem
Wichtig! Der Zieldateiname wird absichtlich in den Namen in der Konfiguration geändert.
Routing konfigurieren
Um die Konfiguration zu beschleunigen, wird mit iptables gearbeitet, nicht mit FirewallD. Führen Sie regelmäßig Folgendes aus:
yum install iptables-services -y
systemctl mask firewalld
systemctl enable iptables
systemctl stop firewalld
systemctl start iptables
iptables --flush
Vor der weiteren Konfiguration sollten Sie sich die Namen der Schnittstellen mit dem Befehl ansehen:
ifconfig -a
Fügen Sie eine Regel hinzu für NAT:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o <имя_интерфейса> -j MASQUERADE
iptables-save > /etc/sysconfig/iptables
Als Beispiel:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables
Paketweiterleitung zwischen Netzwerkschnittstellen zulassen. Bearbeiten Sie dazu die Systemdatei sysctl.conf:
nano /etc/sysctl.conf
Fügen Sie am Anfang der Datei die Zeile ein:
net.ipv4.ip_forward = 1
Wir speichern die Datei, schließen den Editor und starten den Netzwerkdienst neu mit dem Befehl:
systemctl restart network.service
Wir starten die OpenVPN Server
Fügen Sie zunächst den Dienst zum automatischen Upload hinzu:
systemctl -f enable openvpn@server.service
Einführung OpenVPN:
openvpn /etc/openvpn/server.conf
CliEnt-Einstellung.
Der Server ist konfiguriert, es bleibt noch die Konfiguration client, damit es eine Verbindung herstellen kann.
Unabhängig vom verwendeten Betriebssystem, ob Mobil-, Server- oder Home-Version, Linux or Windows, benötigen Sie immer 4 Dateien:
- ca.crt;
- client.crt;
- client.key;
- client.ovpn
Die ersten 3 Dateien befinden sich im Verzeichnis /etc/openvpn /client/directory und client.ovpn müssen erstellt werden. Gehen Sie dazu in das Verzeichnis, in dem sich alle befinden cliEnt-Schlüssel sind:
cd /etc/openvpn/client/
Erstellen Sie eine Datei:
nano client.ovpn
Füllen Sie den folgenden Inhalt aus:
client
dev tun
proto udp
remote <IP_ADDRESS> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
ca ca.crt
cert client01.crt
key client01.key
Geben Sie anstelle von IP_ADDRESS die IP-Adresse des Servers oder seinen Domänennamen ein. Speichern Sie die Datei mit Strg + X und schließen Sie den Editor.
Wir übertragen Dateien an die client. Dies kann beispielsweise über SFTP erfolgen oder das Verzeichnis archivieren und über den Webserver „übermitteln“.
CliEnt-Verbindung
Je nach Betriebssystem laden wir die Installationsdatei herunter oder installieren aus dem Repository. Auch, OpenVPN kann erhalten werden von die offizielle Website.
Windows:
Für laufende Computer Windows, sollten Sie das Produktverteilungspaket von der offiziellen Website herunterladen, die „vier Dateien“ besorgen und sie im Ordner C: Prog ablegenram MappenOpenVPNKonfig.
Nach dem Start der OpenVPN GUI, das Program Das Symbol wird in der Taskleiste angezeigt. Wir cliKlicken Sie mit der rechten Maustaste darauf und wählen Sie „Verbinden“.
MacOS
OpenVPN für MacOS ist etwas komplizierter. Sie sollten das Open-Source-Tool Tunnelblick verwenden. Die Schlüssel und die Konfigurationsdatei sollten in ~ /Library/Application Support/Tunnelblick/Configurations abgelegt werden. Oder doppelt-click auf der Konfigurationsdatei.
Linux:
Sie sollten aus dem Repository installieren.
Debian/Ubuntu
apt-get install openvpn
CentOS/OpenSUSE/Fedora
yum install openvpn -y
Gehen Sie nach der Installation in den Ordner, in dem sich die Konfigurationsdatei mit den Schlüsseln befindet, und führen Sie den Befehl aus:
sudo openvpn --config client.ovpn
Um den Betrieb des Servers zu überprüfen, sollten Sie eine der Websites verwenden, auf denen Ihre IP-Adresse angezeigt wird.