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

OpenVPN-Server auf Fedora 29/CentOS 7 installieren und einrichten

In diesem Handbuch erfahren Sie, wie Sie OpenVPN Server unter Fedora 29/CentOS 7 installieren und einrichten.
OpenVPN ist eine Open-Source-VPN-Software, mit der wir einen SSL-basierten VPN-Tunnel erstellen können. Stellen Sie sich vor, Sie möchten sich von einem entfernten Standort aus mit dem Intranet Ihres Unternehmens verbinden. Machen Sie sich keine Sorgen, denn wenn Sie einen VPN-Server eingerichtet haben, kann dies möglich sein. Virtual Private Network (VPN) bietet einen sicheren Tunnel, der ein privates Netzwerk über ein öffentliches Netzwerk erweitert, d. h. es hilft, ein Wide Area Network (WAN) aus bestehenden Local Area Networks (LAN) zu erstellen. Dadurch können Benutzer Daten sicher über öffentliche Netzwerke senden, als wären sie direkt mit ihrem LAN verbunden.

Hier erfahren Sie mehr über OpenVPN.

Installieren und konfigurieren Sie den OpenVPN-Server auf Fedora 29/28/CentOS 7

Schauen wir uns ohne viel Theorie eine Schritt-für-Schritt-Anleitung zur Installation und Einrichtung von OpenVPN Server unter Fedora 29/28/CentOS 7 an.

Aktualisieren Sie Ihren Server.

dnf update < 

Installieren Sie OpenVPN und Easy-RSA auf Fedora 29/28

OpenVPN bietet einen robusten und hochflexiblen VPN-Daemon, während das Easy-RSA-Paket verwendet wird, um SSL-Schlüsselpaare zu generieren, die zum Sichern von VPN-Verbindungen verwendet werden. Sowohl OpenVPN- als auch Easy-RSA-Pakete sind in den standardmäßigen Fedora-Repos verfügbar. Führen Sie den folgenden Befehl aus, um sie zu installieren.

dnf install openvpn easy-rsa

Installieren Sie OpenVPN und Easy-RSA auf CentOS 7

OpenVPN ist nicht in den standardmäßigen CentOS-Repositories verfügbar, aber es ist in EPEL verfügbar, daher müssen Sie EPEL-Repos installieren, bevor Sie OpenVPN installieren können.

Um Extra Packages for Enterprise Linux (EPEL) hinzuzufügen, führen Sie einen der folgenden Befehle aus:

yum install epel-release

oder

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -ivh epel-release-latest-7.noarch.rpm

Installieren Sie OpenVPN und Easy-RSA

yum install openvpn easy-rsa

Erstellen Sie die lokale Zertifizierungsstelle und generieren Sie Serverschlüssel und Zertifikatsdatei

Erstellen Sie ein Verzeichnis zum Speichern von Serverschlüsseln und Zertifikatsdateien.

mkdir /etc/openvpn/easy-rsa

Kopieren Sie die von Easy-RSA installierten Schlüssel-/Zertifikatgenerierungsskripte aus dem Standardverzeichnis in das oben erstellte Verzeichnis.

cp -air /usr/share/easy-rsa/3/* /etc/openvpn/easy-rsa 

Navigieren Sie zu /etc/openvpn/easy-rsa Verzeichnis und starten Sie eine neue PKI.

cd /etc/openvpn/easy-rsa./easyrsa init-pki

Erstellen Sie das CA-Zertifikat. Dadurch werden Sie zur Eingabe des Verschlüsselungskennworts und des allgemeinen Servernamens aufgefordert.

./easyrsa build-ca
...Schreiben des neuen privaten Schlüssels in '/etc/openvpn/easy-rsa/pki/private/ca.key.EajtR0SkLM'Geben Sie die PEM-Passphrase ein:PASSWORT Überprüfung – Geben Sie die PEM-Passphrase ein:PASSWORT -----...-----Allgemeiner Name (zB:Ihr Benutzer-, Host- oder Servername) [Easy-RSA CA]:Server CA-Erstellung abgeschlossen und Sie können jetzt Zertifikatsanfragen importieren und signieren. Ihre neue CA-Zertifikatsdatei zur Veröffentlichung befindet sich unter:/etc/openvpn/easy-rsa/pki/ca.crt

Wie bereits erwähnt, wird das CA-Zertifikat unter /etc/openvpn/easy-rsa/pki/ca.crt gespeichert .

Generieren Sie eine Diffie-Hellman-Schlüsseldatei, die während des TLS-Handshakes mit verbindenden Clients verwendet werden kann.

./easyrsa gen-dh

Dadurch wird der DH-Schlüssel generiert und als /etc/openvpn/easy-rsa/pki/dh.pem gespeichert .

Generieren Sie eine Schlüssel- und Zertifikatsdatei für den Server.

./easyrsa build-server-full server nopass

Generieren Sie eine Schlüssel- und Zertifikatsdatei für den Client.

./easyrsa build-client-full client nopass

Falls Sie ein zuvor signiertes Zertifikat ungültig machen müssen, generieren Sie ein Widerrufszertifikat.

./easyrsa gen-crl

Dieses speichert das Sperrzertifikat unter /etc/openvpn/easy-rsa/pki/crl.pem .

Generieren Sie einen vorinstallierten TLS/SSL-Authentifizierungsschlüssel

openvpn --genkey --secret /etc/openvpn/easy-rsa/pki/ta.key

Kopieren Sie generierte Zertifikate/Schlüssel in das Serverkonfigurationsverzeichnis.

cp -rp /etc/openvpn/easy-rsa/pki/{ca.crt,dh.pem,ta.key,issued,private} /etc/openvpn/server /

OpenVPN-Server konfigurieren

OpenVPN hat eine Beispielkonfigurationsdatei in seinem Dokumentationsverzeichnis und um uns das Leben zu erleichtern, kopieren wir das Beispiel /usr/share/doc/openvpn{-2.4.6,}/sample/sample-config-files/server.conf Datei nach /etc/openvpn zur Modifikation.

Auf Fedora

cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf /etc/openvpn/server/

Unter CentOS 7

cp /usr/share/doc/openvpn-2.4.6/sample/sample-config-files/server.conf /etc/openvpn/server/

Bearbeiten Sie die server.conf Datei wie folgt:

vim /etc/openvpn/server/server.conf

Ändern Sie die Datei so, dass sie wie folgt aussieht:

# Auf welchem ​​TCP/UDP-Port soll OpenVPN lauschen?# Ändern Sie ihn entsprechend Ihrem Port und öffnen Sie ihn im Firewallport 1194# TCP- oder UDP-Server?proto udp# "dev tun " wird eine geroutete IP erstellen tunneldev tun# Pfad für Zertifikate ändernca ca.crtcert issueed/server.crtkey private/server.key# Diffie hellman exchange key pathdh dh.pem# Network topologytopology subnet# OpenVPN Network IP. Für unten nimmt der Server 10.8.0.1 für sich, # der Rest wird für clients.server 172.16.0.0 255.255.255.0 # verfügbar gemacht. Gateway def1 bypass-dhcp"# DNS-Serverpush "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"# Für Komprimierung, die mit älteren Clients kompatibel ist, verwenden Sie comp-lzo.comp-lzo# VPN mit eingeschränkten Rechten ausführenuser nonegroup niemand# Statusprotokoll filestatus /var/log/openvpn/openvpn-status.log# TLS/SSL vorinstallierte Authentifizierung keytls-auth ta.key 0# VPN-Protokollverzeichnis und Protokolldatei erstellenlog-append /var/log/openvpn/openvpn .log#Fügen Sie diese Zeile an, um den Authentifizierungsalgorithmus (HMAC) von SHA1 auf SHA512auth SHA512 zu ändern

Erstellen Sie das Protokollverzeichnis;

mkdir /var/log/openvpn/

Speichern Sie die Konfigurationsdatei

Routing konfigurieren

IP-Weiterleitung aktivieren

Durch Aktivieren der IP-Weiterleitung wird sichergestellt, dass der Datenverkehr vom Client über die IP-Adresse des Servers geleitet wird, sodass die IP-Adresse des Clients maskiert wird.

echo "net.ipv4.ip_forward =1">> /etc/sysctl.conf

Führen Sie den folgenden Befehl aus, um die Änderungen zu übernehmen:

sysctl --system

OpenVPN-Dienstport durch Firewall zulassen

firewall-cmd --add-port=1194/udp --permanent

Aktivieren Sie IP-Masquerading

firewall-cmd --add-masquerade --permanent

Leiten Sie den im angegebenen OpenVPN-Subnetz empfangenen Datenverkehr an eine Schnittstelle weiter, über die Pakete gesendet werden.

Suchen Sie die Schnittstelle, über die Pakete gesendet werden, indem Sie den folgenden Befehl ausführen:

ip route get 8.8.8.88.8.8.8 via 192.168.43.1 dev enp0s8 src 192.168.43.23

Der Schnittstellenname kann für Ihren Fall anders sein. Ersetzen Sie entsprechend.

firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 172.16.0.0/24 -o enp0s8 -j MASKERADE

Laden Sie firewalld neu, damit die Änderungen wirksam werden.

firewall-cmd --reload

Starten und setzen Sie OpenVPN start on boot.

systemctl start [email protected] enable [email protected]

Wenn der OpenVPN-Dienst ausgeführt wird, erstellt er eine Tunnelschnittstelle, tun0;

ip add show tun04:tun0: mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100 link/none inet 172.16 .0.1/24 brd 172.16.0.255 Geltungsbereich global tun0 valid_lft für immer Preferred_lft für immer inet6 fe80::1155:c60c:c009:48c9/64 Geltungsbereich Link Stable-Privacy Valid_lft für immer Preferred_lft für immer

Dem VPN-Server wird die IP-Adresse 172.16.0.1 zugewiesen, während dem ersten Client 172.16.0.2 zugewiesen wird.

VPN-Client konfigurieren

Damit sich der VPN-Client mit dem VPN-Server verbinden kann, ist eine Kopie des oben generierten CA-Zertifikats, Client-Schlüssels, Client-Zertifikats und TLS/SSL-Authentifizierungsschlüssels erforderlich. Kopieren Sie daher diese Dateien auf den Zielclient und legen Sie sie in einem geeigneten Verzeichnis ab.

cd /etc/openvpn/easy-rsa/pki/scp {ca.crt,issued/client.crt,private/client.key, ta.key} [email protected]:~/

OpenVPN-Client installieren

  • Wenn Sie einen Linux/Unix-Server als Client verwenden, installieren Sie den OpenVPN-Client beispielsweise über den jeweiligen Paketmanager:
    apt install openvpnyum install openvpn
  • Wenn Sie sich von einem Windows-Rechner aus verbinden, können Sie einfach das OpenVPN-Client-Installationsprogramm von der OpenVPN-Downloadseite herunterladen und installieren.

Erstellen Sie die OpenVPN-Konfigurationsdatei für den Client wie unten gezeigt. Als Beispiel habe ich das Zertifikat und die Schlüsseldateien in mein Home-Verzeichnis auf dem Client kopiert.

[email protected]:/home/amos# lsca.crt client.crt client.key ta.key
vim-client.ovpn
clienttls-clientpulldev tunproto udpremote 192.168.43.69 1194resolv-retry infinitenobinddhcp-option DNS 8.8.8.8user nonegroup nogrouppersist-keypersist-tunkey-direction 1tls-auth ta.key 1comp-lzoverb 3ca ca.crtcert client.crtkey client.keyauth SHA512 

Um vom Client aus eine Verbindung zum OpenVPN-Server herzustellen, führen Sie einen der folgenden Befehle aus:

sudo openvpn client.ovpn

oder

sudo openvpn --config client.ovpn

Wenn die Verbindung erfolgreich ist, sollten Sie eine Initialization Sequence Completed sehen .

Mo 31. Dez 03:54:39 ​​2018 TUN/TAP-Gerät tun0 geöffnetMon 31. Dez 03:54:39 ​​2018 TUN/TAP TX-Warteschlangenlänge auf 100 gesetztMon 31. Dez 03:54:39 ​​2018 do_ifconfig, tt->did_ifconfig_ipv6_setup =0Mo 31. Dez 03:54:39 ​​2018 /sbin/ip link set dev tun0 up mtu 1500Mon 31. Dez 03:54:39 ​​2018 /sbin/ip addr add dev tun0 172.16.0.2/24 Broadcast 172.16.0.255Mon 31. Dez 03 :54:39 ​​2018 /sbin/ip route add 192.168.43.69/32 dev enp0s8Mo 31. Dez 03:54:39 ​​2018 /sbin/ip route add 0.0.0.0/1 via 172.16.0.1Mon 31. Dez 03:54:39 ​​2018 /sbin/ip route add 128.0.0.0/1 via 172.16.0.1Mon 31. Dez 03:54:39 ​​2018 GID auf nogroup gesetztMon 31. Dez 03:54:39 ​​2018 UID auf none gesetztMon 31. Dez 03:54:39 ​​2018 Initialisierungssequenz Abgeschlossen

Wenn Sie die Schnittstelle überprüfen können, sollten Sie sehen, dass eine Tunneling-Schnittstelle erstellt wurde 172.16.0.2 /24 brd 172.16.0.255 Geltungsbereich global tun0 valid_lft für immer Preferred_lft für immer inet6 fe80::dc37:c115:60f:6b86/64 Geltungsbereich Link-Flags 800 valid_lft für immer Preferred_lft für immer

Sie haben sich erfolgreich mit Ihrem VPN-Server verbunden.

Hier geht es um die Installation und Einrichtung des OpenVPN-Servers unter Fedora 29/CentOS 7. Ihr OpenVPN-Server ist voll funktionsfähig. Genießen.

Verwandte Anleitungen

Konfigurieren Sie IPSEC VPN mit StrongSwan auf Ubuntu 18.04

Konfigurieren Sie den strongSwan VPN-Client auf Ubuntu 18.04/CentOS 8

Richten Sie IPSEC VPN mit StrongSwan auf Debian 10 ein


No

OpenVPN
  1. So installieren und konfigurieren Sie DRBD unter CentOS

  2. So installieren und verwenden Sie TeamSpeak Server unter CentOS 7

  3. Eine einfachste Möglichkeit, OpenVPN-Server unter Linux zu installieren und zu konfigurieren

  4. So richten Sie den NTP-Server unter CentOS/RHEL 7/6 und Fedora 30/29 ein

  5. OpenVPN-Server unter Ubuntu 20.04 installieren und einrichten

So installieren Sie OpenVPN-Server und -Client mit Easy-RSA 3 auf CentOS 8

So installieren Sie OpenVPN Server und Client auf CentOS 7

Installieren und konfigurieren Sie den FreeIPA-Server unter CentOS 8

Check_MK Server auf CentOS 7 installieren und konfigurieren

Einrichten eines OpenVPN-Servers mit CentOS und Viscosity

So installieren und konfigurieren Sie den OpenVPN-Server in CentOS 8/7