Erfahren Sie, wie Sie OpenVPN Server auf CentOS 8 installieren und konfigurieren, indem Sie dem Link unten folgen;
OpenVPN-Server auf CentOS 8 einrichten
Installieren und konfigurieren Sie den OpenVPN-Client auf CentOS 8/Ubuntu 18.04
Um die Kommunikation zweier Server in verschiedenen Intranets zu demonstrieren, haben wir zwei Server, Ubuntu 18.04 und CentOS 8, die nicht kommunizieren können, da sie sich in verschiedenen LAN-Netzwerken befinden, die nur über den OpenVPN-Server erreichbar sind. Die beiden Server haben nur NAT-Schnittstellen angeschlossen.
Installieren Sie den OpenVPN-Client auf Ubuntu 18.04
OpenVPN unterhält mehrere OpenVPN (OSS)-Software-Repositories, aus denen die neueste und stabile Release-Version des OpenVPN-Clients installiert werden kann. Sie müssen diese Quellenliste jedoch wie unten gezeigt manuell erstellen;
Installieren Sie den OpenVPN-Repository-Signaturschlüssel.
wget -O - https://swupdate.openvpn.net/repos/repo-public.gpg| sudo apt-key add -
Als nächstes installieren Sie die Quellenliste für Ubuntu 18.04.
echo "deb http://build.openvpn.net/debian/openvpn/stable $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/openvpn-aptrepo.list
Aktualisieren Sie Ihren Paket-Cache.
apt update
Installieren Sie den OpenVPN-Client auf Ubuntu 18.04
apt install openvpn
Sie können dann die Version überprüfen, indem Sie den folgenden Befehl ausführen:
openvpn --version
Installieren Sie den OpenVPN-Client auf CentOS 8
Unter CentOS 8 wird das neueste OpenVPN, Version 2.4.8 zum jetzigen Zeitpunkt, von EPEL repos.
dnf info openvpnbereitgestellt
Name : openvpn Version : 2.4.8 Release : 1.el8 Arch : x86_64 Size : 540 k Source : openvpn-2.4.8-1.el8.src.rpm Repo : epel Summary : A full-featured SSL VPN solution URL : https://community.openvpn.net/ License : GPLv2 ...
Um den OpenVPN-Client auf CentOS 8 zu installieren, müssen Sie EPEL-Repos installieren, falls Sie dies nicht getan haben:
dnf install epel-release
Sie können dann den OpenVPN-Client installieren, indem Sie den folgenden Befehl ausführen:
dnf install openvpn
OpenVPN-Client auf CentOS 8/Ubuntu 18.04 konfigurieren
Um sich mit dem OpenVPN-Server verbinden zu können, müssen Sie die Client-Konfiguration erstellen, die das CA-Zertifikat, das Client-Server-Zertifikat und den Schlüssel enthält.
Wenn Sie unserem Leitfaden zum Einrichten des OpenVPN-Servers unter CentOS 8 gefolgt sind, haben wir beschrieben, wie Sie die Client-Zertifikatsdateien und -Schlüssel generieren.
Nachdem Sie die Schlüssel generiert haben, kopieren Sie sie auf den Client und notieren Sie sich den Pfad, in dem sie gespeichert sind.
Sie müssen auch den HMAC-Schlüssel und das CA-Zertifikat auf den Client kopieren.
Anschließend können Sie die OpenVPN-Client-Konfiguration erstellen.
Um beispielsweise eine OpenVPN-Konfigurationsdatei für den Client koromicha zu erstellen , dessen Zertifikate und Schlüssel sind, koromicha.crt und koromicha.key;
vim koromicha.ovpn
client tls-client pull dev tun proto udp4 remote 192.168.2.132 1194 resolv-retry infinite nobind #user nobody #group nogroup persist-key persist-tun key-direction 1 remote-cert-tls server auth-nocache comp-lzo verb 3 auth SHA512 tls-auth ta.key 1 ca ca.crt cert koromicha.crt key koromicha.key
Beachten Sie, dass sich in diesem Setup das Client-Zertifikat, der Schlüssel, das CA-Zertifikat und der HMAC-Schlüssel im selben Pfad befinden wie die OpenVPN-Client-Konfiguration selbst, koromicha.ovpn.
ls
ca.crt koromicha.crt koromicha.key koromicha.ovpn ta.key
Um die Probleme mit den Pfaden zu den Zertifikaten und den Schlüsseln zu vermeiden, können Sie sie in die Konfigurationsdatei einfügen:
client
tls-client
pull
dev tun
proto udp4
remote 192.168.2.132 1194
resolv-retry infinite
nobind
#user nobody
#group nogroup
persist-key
persist-tun
key-direction 1
remote-cert-tls server
auth-nocache
comp-lzo
verb 3
auth SHA512
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
feb1af5407baa247d4e772c76aed6c75
...
-----END OpenVPN Static key V1-----
</tls-auth>
<ca>
-----BEGIN CERTIFICATE-----
MIIDTjCCAjagAwIBAgIUX0VQrHTgLDabUUIOAf7tD9cGp4YwDQYJKoZIhvcNAQEL
...
WA9BBk2shVWfR849Lmkep+GPyqHpU47dZAz37ARB2Gfu3w==
-----END CERTIFICATE-----
</ca>
<cert>
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
...
/7FvJaeLqmUHnvSs5eBlRZSgtOL19SCFkG0HXdnw3LtBaoHQXxgzOkDPW1+5
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC+DI7kg6MsRoCs
...
6WdLcNtWKAcU294xJEZoOA8/
-----END PRIVATE KEY-----
</key>
Machen Sie dasselbe auf allen Client-Servern für jeden Benutzer, der eine Verbindung zum VPN herstellen muss.
Falls Sie es bemerkt haben, sind die folgenden Zeilen auskommentiert, um den Fehler zu vermeiden:ERROR:Linux route add command failed:external program exited with error status:2 indem erstellte Routen geleert werden, bevor sie beim erneuten Verbinden wieder hinzugefügt werden.
#user nobody #group nogroup
Die OpenVPN-Client-Konfigurationsdatei ist jetzt fertig.
Sie können sich dann bei Bedarf mit dem OpenVPN-Server verbinden oder Ihren Server so konfigurieren, dass er bei jedem Neustart des Systems eine VPN-Konfigurationsdatei erstellt.
Um bei Bedarf eine Verbindung herzustellen, verwenden Sie einfach den openvpn-Befehl als:
sudo openvpn client.ovpn
oder
sudo openvpn --config client.ovpn
Wenn die Verbindung zum OpenVPN-Server erfolgreich ist, sollten Sie eine Initialization Sequence Completed
sehen .
... Wed Apr 14 15:23:19 2020 ROUTE_GATEWAY 10.0.2.2/255.255.255.0 IFACE=enp0s3 HWADDR=08:00:27:8d:b0:f8 Wed Apr 14 15:23:19 2020 TUN/TAP device tun0 opened Wed Apr 14 15:23:19 2020 TUN/TAP TX queue length set to 100 Wed Apr 14 15:23:19 2020 /sbin/ip link set dev tun0 up mtu 1500 Wed Apr 14 15:23:19 2020 /sbin/ip addr add dev tun0 10.8.0.3/24 broadcast 10.8.0.255 Wed Apr 14 15:23:19 2020 /sbin/ip route add 192.168.2.132/32 via 10.0.2.2 Wed Apr 14 15:23:19 2020 /sbin/ip route add 0.0.0.0/1 via 10.8.0.1 Wed Apr 14 15:23:19 2020 /sbin/ip route add 128.0.0.0/1 via 10.8.0.1 Wed Apr 14 15:23:19 2020 Initialization Sequence Completed
Um die IP-Adressen zu überprüfen,
[[email protected] ~]$ ip add show tun0 6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100 link/none inet 10.8.0.3/24 brd 10.8.0.255 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::8d65:4038:acb0:b954/64 scope link stable-privacy valid_lft forever preferred_lft forever
[email protected]:~$ ip add show tun0 10: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100 link/none inet 10.8.0.2/24 brd 10.8.0.255 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::bd3d:27ff:84d5:e587/64 scope link stable-privacy valid_lft forever preferred_lft forever
Testen Sie die Konnektivität zwischen den beiden Remote-Servern;
[email protected]:~$ ping 10.8.0.3 -c 4
PING 10.8.0.3 (10.8.0.3) 56(84) bytes of data.
64 bytes from 10.8.0.3: icmp_seq=1 ttl=64 time=3.78 ms
64 bytes from 10.8.0.3: icmp_seq=2 ttl=64 time=3.59 ms
64 bytes from 10.8.0.3: icmp_seq=3 ttl=64 time=3.61 ms
64 bytes from 10.8.0.3: icmp_seq=4 ttl=64 time=3.30 ms
--- 10.8.0.3 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 3.307/3.576/3.786/0.172 ms
[[email protected] ~]$ ping 10.8.0.2 -c 4
PING 10.8.0.2 (10.8.0.2) 56(84) bytes of data.
64 bytes from 10.8.0.2: icmp_seq=1 ttl=64 time=6.77 ms
64 bytes from 10.8.0.2: icmp_seq=2 ttl=64 time=1.57 ms
64 bytes from 10.8.0.2: icmp_seq=3 ttl=64 time=4.37 ms
64 bytes from 10.8.0.2: icmp_seq=4 ttl=64 time=13.6 ms
--- 10.8.0.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 15ms
rtt min/avg/max/mdev = 1.571/6.572/13.577/4.443 ms
Abhängig von der Einrichtung Ihrer Serverrouten sollten Sie auch in der Lage sein, Internetzugang zu erhalten.
OpenVPN-Client als Systemdienst ausführen
Um beim Neustart des Servers automatisch Verbindungen herzustellen, können Sie den systemd-Dienst des OpenVPN-Clients aktivieren.
Bevor Sie dies tun können, ändern Sie die Erweiterung Ihrer VPN-Konfigurationsdatei von .ovpn
zu .conf
. Ersetzen Sie die Dateinamen entsprechend.
cp koromicha.ovpn koromicha.conf
Kopieren Sie die .conf
Datei in das Konfigurationsverzeichnis des OpenVPN-Clients /etc/openvpn/client
.
cp koromicha.conf /etc/openvpn/client
Als nächstes starten Sie den systemd-Dienst des OpenVPN-Clients. Ersetzen Sie den Namen koromicha mit dem Namen Ihrer .conf-Konfigurationsdatei.
systemctl start [email protected]koromicha
Um den Status zu prüfen,
systemctl status [email protected]
● [email protected] - OpenVPN tunnel for koromicha
Loaded: loaded (/lib/systemd/system/[email protected]; disabled; vendor preset: enabled)
Active: active (running) since Wed 2020-04-14 16:00:35 EAT; 8s ago
Docs: man:openvpn(8)
https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
https://community.openvpn.net/openvpn/wiki/HOWTO
Main PID: 6877 (openvpn)
Status: "Initialization Sequence Completed"
Tasks: 1 (limit: 2300)
CGroup: /system.slice/system-openvpn\x2dclient.slice/[email protected]
└─6877 /usr/sbin/openvpn --suppress-timestamps --nobind --config koromicha.conf
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: ROUTE_GATEWAY 10.0.2.2/255.255.255.0 IFACE=enp0s3 HWADDR=08:00:27:4b:ff:18
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: TUN/TAP device tun0 opened
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: TUN/TAP TX queue length set to 100
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip link set dev tun0 up mtu 1500
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip addr add dev tun0 10.8.0.2/24 broadcast 10.8.0.255
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip route add 192.168.2.132/32 via 10.0.2.2
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip route add 0.0.0.0/1 via 10.8.0.1
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip route add 128.0.0.0/1 via 10.8.0.1
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: Initialization Sequence Completed
Damit es beim Systemstart ausgeführt werden kann,
systemctl enable [email protected]
Sie haben den OpenVPN-Client unter Ubuntu 18.04 und CentOS 8 erfolgreich installiert und eingerichtet. Damit sind wir am Ende unseres Tutorials zur Installation und Konfiguration des OpenVPN-Clients unter CentOS 8/Ubuntu 18.04 angelangt.
Verwandte Tutorials
Weisen Sie OpenVPN-Clients statische IP-Adressen zu
Konfigurieren Sie den strongSwan VPN-Client auf Ubuntu 18.04/CentOS 8
Konfigurieren Sie IPSEC VPN mit StrongSwan auf Ubuntu 18.04
Installieren und konfigurieren Sie den OpenVPN-Server FreeBSD 12
Installation und Einrichtung des OpenVPN-Servers auf Fedora 29/CentOS 7