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

Installieren und konfigurieren Sie den OpenVPN-Client unter CentOS 8/Ubuntu 18.04

Um eine Verbindung zu einem OpenVPN-Server herzustellen, damit Sie auf Ihre lokalen Ressourcen im Intranet zugreifen können, benötigen Sie lediglich einen OpenVPN-Client. In diesem Handbuch erfahren Sie, wie Sie den OpenVPN-Client unter CentOS 8/Ubuntu 18.04 installieren und konfigurieren. Beachten Sie, dass die OpenVPN-Software so konfiguriert werden kann, dass sie entweder als Server oder als Client arbeitet.

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 openvpn
bereitgestellt
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

OpenVPN
  1. So installieren und konfigurieren Sie den FreeIPA-Client unter Ubuntu 20.04

  2. OpenVPN-Server unter Ubuntu 20.04 installieren und einrichten

  3. Verbinden Sie sich mit OpenVPN mit Network Manager unter CentOS 8/Ubuntu 18.04

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

  5. Installieren und konfigurieren Sie den OpenVPN-Server FreeBSD 12

So installieren und konfigurieren Sie GitLab unter CentOS 7 / Ubuntu 18.04 und Debian 9

So richten Sie einen OpenVPN-Server unter Ubuntu 22.04 ein und konfigurieren ihn

So installieren und konfigurieren Sie NFS unter Ubuntu 22.04/20.04

So installieren und konfigurieren Sie Smartctl unter CentOS/RHEL 8 und Ubuntu 20.04

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

So installieren und konfigurieren Sie GlusterFS unter CentOS 7/CentOS 8