GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So richten Sie einen OpenVPN-Server unter Debian 10 ein

Ein virtuelles privates Netzwerk (VPN) ist eine sichere und verschlüsselte Verbindung zwischen zwei Netzwerken und einzelnen Benutzern, die Ihre Internetverbindung und Ihre Privatsphäre online schützt. OpenVPN ist ein kostenloses Open-Source-VPN-Protokoll, das Techniken zum Erstellen sicherer Punkt-zu-Punkt-Verbindungen in gerouteten Konfigurationen implementiert. Es ist plattformübergreifend und mit allen gängigen Betriebssystemen kompatibel.

In diesem Tutorial zeigen wir Ihnen, wie Sie OpenVPN auf einem Debian 10-Server installieren und einrichten.

Voraussetzungen

  • Debian 10 VPS (wir verwenden unseren NVMe 2 VPS-Plan)
  • Zugriff auf das Root-Benutzerkonto (oder Zugriff auf ein Administratorkonto mit Root-Rechten)

Schritt 1:Melden Sie sich beim Server an und aktualisieren Sie die Server-OS-Pakete

Melden Sie sich zunächst über SSH als Root-Benutzer bei Ihrem Debian 10-Server an:

ssh root@IP_Address -p Port_number

Sie müssen „IP_Address“ und „Port_number“ durch die jeweilige IP-Adresse und SSH-Portnummer Ihres Servers ersetzen. Ersetzen Sie außerdem „root“ gegebenenfalls durch den Benutzernamen des Administratorkontos.

Bevor Sie beginnen, müssen Sie sicherstellen, dass alle auf dem Server installierten Debian-Betriebssystempakete auf dem neuesten Stand sind. Sie können dies tun, indem Sie die folgenden Befehle ausführen:

apt-get update -y
apt-get upgrade -y

Schritt 2:OpenVPN und EasyRSA installieren

Standardmäßig ist OpenVPN im Debian-Standard-Repository enthalten. Sie können es mit dem folgenden Befehl installieren:

apt-get install openvpn -y

Nachdem das OpenVPN-Paket installiert wurde, müssen Sie EasyRSA auf Ihr System herunterladen.

EasyRSA ist ein Befehlszeilendienstprogramm zum Erstellen und Verwalten einer PKI-Zertifizierungsstelle. Es ermöglicht Ihnen, mehrere Arten von Zertifikaten zu generieren.
Es wird verwendet, um eine Stammzertifizierungsstelle zu erstellen und Zertifikate für OpenVPN anzufordern und zu signieren.

Sie können die neueste Version von EasyRSA mit dem folgenden Befehl aus dem Git-Repository herunterladen:

wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz

Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:

tar -xvzf EasyRSA-3.0.8.tgz

Als nächstes kopieren Sie das extrahierte Verzeichnis in das OpenVPN-Verzeichnis:

cp -r EasyRSA-3.0.8 /etc/openvpn/easy-rsa

An diesem Punkt sind OpenVPN und EasyRSA auf Ihrem Server installiert.

Schritt 3:Erstellen Sie die Zertifizierungsstelle

Als Nächstes müssen Sie die Zertifizierungsstelle (CA) für OpenVPN erstellen.

Wechseln Sie zunächst mit dem folgenden Befehl in das Verzeichnis EasyRSA:

cd /etc/openvpn/easy-rsa

Als nächstes müssen Sie darin eine vars-Datei erstellen. Eine vars-Datei ist eine einfache Datei, die Easy-RSA zur Konfiguration bezieht.

Sie können es mit dem folgenden Befehl erstellen:

nano vars

Fügen Sie je nach Bedarf 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     "USA"
set_var EASYRSA_REQ_PROVINCE    "Newyork"
set_var EASYRSA_REQ_CITY        "Newyork"
set_var EASYRSA_REQ_ORG         "ROSE CERTIFICATE AUTHORITY"
set_var EASYRSA_REQ_EMAIL    "[email protected]"
set_var EASYRSA_REQ_OU          "ROSE 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    "ROSE CERTIFICATE AUTHORITY"
set_var EASYRSA_EXT_DIR         "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF        "$EASYRSA/openssl-easyrsa.cnf"
set_var EASYRSA_DIGEST          "sha256"

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Als nächstes initiieren Sie die Public-Key-Infrastruktur mit dem folgenden Befehl:

./easyrsa init-pki

Sie sollten die folgende Ausgabe erhalten:

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars

init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /etc/openvpn/easy-rsa/pki

Als nächstes müssen Sie den Befehl build-ca ausführen, um die Dateien ca.crt und ca.key zu erstellen. Sie können es mit dem folgenden Befehl ausführen:

./easyrsa build-ca nopass

Ihnen werden mehrere Fragen gestellt, wie unten gezeigt:

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
Using SSL: openssl OpenSSL 1.1.1f  31 Mar 2020

Enter New CA Key Passphrase: 
Re-Enter New CA Key Passphrase: 
Generating RSA private key, 2048 bit long modulus (2 primes)
...+++++
......................................................................+++++
e is 65537 (0x010001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:vpnserver

CA creation complete and you may now import and sign cert requests.
Your new CA certificate file for publishing is at:
/etc/openvpn/easy-rsa/pki/ca.crt

Schritt 4:Serverzertifikat und Schlüsseldateien generieren

Als Nächstes müssen Sie den Befehl gen-req gefolgt vom allgemeinen Namen verwenden, um den Serverschlüssel zu generieren.

./easyrsa gen-req vpnserver nopass

Sie sollten die folgende Ausgabe sehen:

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
Using SSL: openssl OpenSSL 1.1.1f  31 Mar 2020
Generating a RSA private key
.......................................................+++++
....+++++
writing new private key to '/etc/openvpn/easy-rsa/pki/easy-rsa-1428.Angtmh/tmp.C9prw4'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [vpnserver]:

Keypair and certificate request completed. Your files are:
req: /etc/openvpn/easy-rsa/pki/reqs/vpnserver.req
key: /etc/openvpn/easy-rsa/pki/private/vpnserver.key

Als nächstes müssen Sie den vpnserver-Schlüssel mit Ihrem CA-Zertifikat signieren. Sie können dies mit dem folgenden Befehl tun:

./easyrsa sign-req server vpnserver

Sie sollten die folgende Ausgabe erhalten:

Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'vpnserver'
Certificate is to be certified until Feb  6 14:38:52 2022 GMT (365 days)

Write out database with 1 new entries
Data Base Updated

Certificate created at: /etc/openvpn/easy-rsa/pki/issued/vpnserver.crt

Als Nächstes müssen Sie einen starken Diffie-Hellman-Schlüssel für den Schlüsselaustausch generieren. Sie können es mit dem folgenden Befehl generieren:

./easyrsa gen-dh

Schritt 5:Alle Zertifikate und Schlüsseldateien kopieren

Als nächstes müssen Sie alle Zertifikate und Schlüsseldateien in das Verzeichnis /etc/openvpn/server/ kopieren. Sie können die mit dem folgenden Befehl kopieren:

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

Schritt 6:Clientzertifikat und Schlüsseldatei erstellen

Als Nächstes müssen Sie ein Zertifikat und eine Schlüsseldatei für das Clientsystem generieren.

Sie können es mit dem folgenden Befehl erstellen:

./easyrsa gen-req vpnclient nopass

Sie sollten die folgende Ausgabe erhalten:

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
Using SSL: openssl OpenSSL 1.1.1f  31 Mar 2020
Generating a RSA private key
....+++++
.................................+++++
writing new private key to '/etc/openvpn/easy-rsa/pki/easy-rsa-1563.TeOf5v/tmp.i4YxLz'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [vpnclient]:

Keypair and certificate request completed. Your files are:
req: /etc/openvpn/easy-rsa/pki/reqs/vpnclient.req
key: /etc/openvpn/easy-rsa/pki/private/vpnclient.key

Als nächstes signieren Sie den Client-Schlüssel mit dem folgenden Befehl:

./easyrsa sign-req client vpnclient

Sie sollten die folgende Ausgabe erhalten:

Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'vpnclient'
Certificate is to be certified until Feb  6 14:43:18 2022 GMT (365 days)

Write out database with 1 new entries
Data Base Updated

Certificate created at: /etc/openvpn/easy-rsa/pki/issued/vpnclient.crt

Kopieren Sie als Nächstes alle Client-Zertifikate und -Schlüssel in das Verzeichnis /etc/openvpn/client/.

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

Schritt 7:OpenVPN-Server konfigurieren

An diesem Punkt sind sowohl das Server- als auch das Client-Zertifikat und der Schlüssel bereit. Jetzt müssen Sie eine OpenVPN-Konfigurationsdatei erstellen und alle Zertifikate und Schlüssel definieren.

nano /etc/openvpn/server.conf

Fügen Sie die folgenden Zeilen hinzu:

port 1194
proto udp
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/vpnserver.crt
key /etc/openvpn/server/vpnserver.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 nogroup
log-append /var/log/openvpn.log
verb 3

Speichern und schließen Sie die Datei, starten Sie dann den OpenVPN-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten:

systemctl start openvpn@server
systemctl enable openvpn@server

Wenn alles in Ordnung ist, wird eine neue Schnittstelle erstellt. Sie können dies mit dem folgenden Befehl überprüfen:

ip a show tun0

Sie sollten die folgende Ausgabe erhalten:

4: tun0:  mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::153d:f29:39a2:571a/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Schritt 8:IP-Weiterleitung aktivieren

Die IP-Weiterleitung ermöglicht Ihrem Betriebssystem, die eingehenden Netzwerkpakete anzunehmen und an das andere Netzwerk weiterzuleiten. Sie können es mit dem folgenden Befehl aktivieren:

nano /etc/sysctl.conf

Kommentieren Sie die folgende Zeile aus oder fügen Sie sie hinzu:

net.ipv4.ip_forward = 1

Speichern Sie die Datei und wenden Sie dann die Konfigurationsänderungen mit dem folgenden Befehl an:

sysctl -p

Schritt 9:OpenVPN-Client installieren und konfigurieren

Als Nächstes müssen Sie den OpenVPN-Client auf einem anderen System installieren und sich mit dem OpenVPN-Server verbinden.

Installieren Sie zuerst das OpenVPN mit dem folgenden Befehl:

apt-get install openvpn -y

Kopieren Sie nach der Installation alle Client-Zertifikate und -Schlüssel vom OpenVPN-Server auf den Client-Computer. Sie können dies mit dem folgenden Befehl tun:

scp -r root@vpn-server-ip:/etc/openvpn/client .

Als nächstes ändern Sie das Verzeichnis in client und erstellen eine Client-Konfigurationsdatei:

cd client
nano client.ovpn

Fügen Sie die folgenden Zeilen hinzu:

client
dev tun
proto udp
remote vpn-server-ip 1194
ca ca.crt
cert vpnclient.crt
key vpnclient.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

Speichern und schließen Sie die Datei und verbinden Sie sich dann mit dem folgenden Befehl mit Ihrem OpenVPN-Server:

openvpn --config client.ovpn

Sobald die Verbindung hergestellt wurde, sollten Sie die folgende Ausgabe erhalten:

Sat Feb  6 14:53:50 2021 SENT CONTROL [vpnserver]: 'PUSH_REQUEST' (status=1)
Sat Feb  6 14:53:50 2021 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,route 10.8.0.1,topology net30,ping 20,ping-restart 60,ifconfig 10.8.0.6 10.8.0.5,peer-id 0,cipher AES-256-GCM'
Sat Feb  6 14:53:50 2021 OPTIONS IMPORT: timers and/or timeouts modified
Sat Feb  6 14:53:50 2021 OPTIONS IMPORT: --ifconfig/up options modified
Sat Feb  6 14:53:50 2021 OPTIONS IMPORT: route options modified

Sie können die OpenVPN-Schnittstelle auf dem Client-Rechner mit dem folgenden Befehl überprüfen:

ip a show tun0

Sie sollten die folgende Ausgabe erhalten:

4: tun0:  mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.6 peer 10.8.0.5/32 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::9206:94d7:8fb2:6b21/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Natürlich müssen Sie OpenVPN nicht installieren, wenn Sie einen unserer Managed OpenVPN-Hosting-Dienste verwenden. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, dies für Sie zu installieren. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.

PS . Wenn Ihnen dieser Beitrag zur Installation von OpenVPN auf Ubuntu gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.


Debian
  1. So richten Sie einen Samba-Server unter Debian 10 Buster ein

  2. So richten Sie einen LAMP-Server unter Debian 10 Buster ein

  3. So installieren und konfigurieren Sie OpenVPN Server unter Debian 10

  4. Festlegen einer statischen IP auf Debian 11 - Wie geht das?

  5. So richten Sie einen SFTP-Server auf Debian 11 Server ein

So richten Sie einen Mailserver mit PostfixAdmin unter Debian 11 ein

So richten Sie einen Mailserver mit Modoboa unter Debian 10 ein

So legen Sie eine statische IP unter Debian 11 fest

So richten Sie Rsyslog Server Debian 10/11 ein

So richten Sie NTP-Server und -Client unter Debian 11 ein

So installieren Sie OpenVPN-Server unter Debian 11