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

So installieren und konfigurieren Sie OpenVPN Server unter Debian 10

OpenVPN ist eine Open-Source-Software, mit der Sie sicher auf das Internet zugreifen können, wenn Sie mit einem nicht vertrauenswürdigen Netzwerk verbunden sind. Mit OpenVPN können Sie Ihre Online-Daten schützen, indem Sie sie durch verschlüsselte Server tunneln. OpenVPN verwendet SSL/TLS für den Schlüsselaustausch und ist in der Lage, Netzwerkadressübersetzer zu durchlaufen. Es gibt viele VPN-Software auf dem Markt, aber alle sind kostspielig und/oder schwierig einzurichten und zu verwalten. Während OpenVPN kostenlos ist, einfach einzurichten, zu konfigurieren und zu verwalten.

In diesem Tutorial erklären wir, wie man einen OpenVPN-Server auf einem Debian 10-Server einrichtet.

Anforderungen

  • Zwei Server mit Debian 10.
  • Eine statische IP-Adresse 192.168.0.103 ist auf dem VPN-Server konfiguriert und 192.168.0.102 ist auf dem VPN-Client konfiguriert.
  • Ein Root-Passwort ist auf beiden Servern konfiguriert.

Installieren Sie OpenVPN

Zunächst müssen Sie die IP-Weiterleitung aktivieren, um Netzwerkpakete ordnungsgemäß weiterzuleiten. Sie können dies tun, indem Sie die Datei /etc/sysctl.conf bearbeiten:

nano /etc/sysctl.conf

Ändern Sie die folgende Zeile:

net.ipv4.ip_forward=1

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Wenden Sie dann die neuen Einstellungen an, indem Sie den folgenden Befehl ausführen:

sysctl -p

Als nächstes installieren Sie das OpenVPN-Paket, indem Sie einfach den folgenden Befehl ausführen:

apt-get install openvpn -y

Sobald die Installation abgeschlossen ist, können Sie mit dem nächsten Schritt fortfahren.

Serverzertifikat und -schlüssel generieren

Zuerst müssen Sie das EasyRSA-Verzeichnis nach /etc/openvpn/ kopieren. Sie können dies mit dem folgenden Befehl tun:

cp -r /usr/share/easy-rsa /etc/openvpn/

Als nächstes ändern Sie das Verzeichnis in easy-rsa und benennen die Datei vars.example um:

cd /etc/openvpn/easy-rsa
mv vars.example vars

Als nächstes öffnen Sie die vars-Datei:

Nano-Variablen

Fügen Sie die folgenden Zeilen hinzu:

export KEY_COUNTRY="INDIA"export KEY_PROVINCE="CA"export KEY_CITY="Junagadh"export KEY_ORG="Howtoforge"export KEY_EMAIL="[email protected]"export KEY_OU="OpenVPN"

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Initialisieren Sie dann PKI mit dem folgenden Befehl:

./easyrsa init-pki

Sie sollten die folgende Ausgabe sehen:

Hinweis:Verwendung der Easy-RSA-Konfiguration von:./varsinit-pki complete; Sie können jetzt eine Zertifizierungsstelle oder Anfragen erstellen. Ihr neu erstelltes PKI-Verzeichnis lautet:/etc/openvpn/easy-rsa/pki

Erstellen Sie als Nächstes die Zertifizierungsstelle ohne Kennwort wie unten gezeigt:

./easyrsa build-ca nopass

Sie sollten die folgende Ausgabe sehen:

Hinweis:Verwendung der Easy-RSA-Konfiguration von:./varsVerwendung von SSL:openssl OpenSSL 1.1.1c 28. Mai 2019Generieren des privaten RSA-Schlüssels, 2048 Bit langer Modulus (2 Primzahlen)............. ......................++++++..............++++++e ist 65537 ( 0x010001) /etc/openvpn/easy-rsa/pki/.rnd kann nicht in RNG140449484268672 geladen werden:Fehler:2406F079:Zufallszahlengenerator:RAND_load_file:Datei kann nicht geöffnet werden:../crypto/rand/randfile.c:98:Dateiname =/etc/openvpn/easy-rsa/pki/.rndSie werden gleich aufgefordert, Informationen einzugeben, die in Ihre Zertifikatsanforderung aufgenommen werden. Was Sie gleich eingeben werden, ist ein sogenannter Distinguished Name oder DN Einige Felder, aber Sie können einige leer lassen. Für einige Felder gibt es einen Standardwert. Wenn Sie „.“ eingeben, bleibt das Feld leer. ----- Gemeinsamer Name (z. B.:Ihr Benutzer-, Host- oder Servername ) [Easy-RSA CA]:ServerCA-Erstellung abgeschlossen und Sie können jetzt Zertifikatsanforderungen importieren und signieren. Ihre neue CA-Zertifikatsdatei zur Veröffentlichung befindet sich unter:/etc/openvpn/easy-rsa/pki/ca.crt

Generieren Sie als Nächstes den Serverschlüssel mit dem folgenden Befehl:

./easyrsa gen-req server nopass

Sie sollten die folgende Ausgabe sehen:

Hinweis:Verwenden der Easy-RSA-Konfiguration von:./varsVerwenden von SSL:openssl OpenSSL 1.1.1c 28. Mai 2019Generieren eines privaten RSA-Schlüssels...+++++............. .................................................... .................................................+ ++++Schreiben eines neuen privaten Schlüssels in '/etc/openvpn/easy-rsa/pki/private/server.key.uQ7rqU8ryK'-----Sie werden gleich aufgefordert, Informationen einzugeben, die in Ihre Zertifikatsanforderung aufgenommen werden .Was Sie gleich eingeben werden, ist ein sogenannter Distinguished Name oder DN. Es gibt einige Felder, aber Sie können einige leer lassen. Für einige Felder gibt es einen Standardwert. Wenn Sie '.' eingeben, wird das Feld sein leer lassen.-----Allgemeiner Name (z. B.:Ihr Benutzer-, Host- oder Servername) [Server]:Schlüsselpaar- und Zertifikatanforderung abgeschlossen. Ihre Dateien sind:req:/etc/openvpn/easy-rsa/pki/reqs/server.reqkey:/etc/openvpn/easy-rsa/pki/private/server.key

Als nächstes signieren Sie das Serverzertifikat mit dem folgenden Befehl:

./easyrsa sign-req server server

Sie sollten die folgende Ausgabe sehen:

Hinweis:Verwendung der Easy-RSA-Konfiguration von:./varsVerwendung von SSL:openssl OpenSSL 1.1.1c 28. Mai 2019Sie sind im Begriff, das folgende Zertifikat zu signieren.Bitte überprüfen Sie die unten aufgeführten Details auf Richtigkeit. Beachten Sie, dass diese Anforderung nicht kryptografisch verifiziert wurde. Stellen Sie sicher, dass es von einer vertrauenswürdigen Quelle stammt oder dass Sie die Prüfsumme der Anfrage mit dem Absender verifiziert haben. Betreff der Anfrage, der als Serverzertifikat für 1080 Tage signiert werden soll:Betreff =gemeinsamer Name =Server Geben Sie das Wort „Ja“ ein, um fortzufahren, oder ein beliebiges anderes Eingabe zum Abbrechen. Anfragedetails bestätigen:yesUsing configuration from /etc/openvpn/easy-rsa/pki/safessl-easyrsa.cnfÜberprüfen Sie, ob die Anfrage mit der Signatur übereinstimmt bis 5. September 15:43:29 2022 GMT (1080 Tage)Datenbank mit 1 neuen Einträgen ausschreibenDatenbank aktualisiertZertifikat erstellt unter:/etc/openvpn/easy-rsa/pki/issued/server.crt

Erstellen Sie als Nächstes einen Diffie-Hellman-Schlüsselaustausch mit dem folgenden Befehl:

./easyrsa gen-dh

Sie sollten die folgende Ausgabe sehen:

Hinweis:Verwendung von Easy-RSA-Konfiguration von:./varsVerwendung von SSL:openssl OpenSSL 1.1.1c 28. Mai 2019Erzeugung von DH-Parametern, 2048 Bit lange sichere Primzahl, Generator 2Das wird lange dauern...... ............+..................................... ........+........................................ .................................................... .................................................... .................................................... .................................................... .........+......+................................ ................................................+. ...............+................................... ..+............................+.................. ....................+............................. .................................................... .........+................................... ...................+............................+. .................................................... ................................................... ..+................................................ ...................................+............. ....+............+.+.................................+. .................................................... .................................................... .........................................+....... .....+............................................ ...+................................................ .................................................... .................................................... ................................+................... .................................................... ................................................+. .................................................... .................................................... .................................................... ......................................+..... .........................................+......... .................................................... .................................................... ......................+............................ .................................................... .................................................... ......+...................................+...... .................................................... .................................................... .................................................... ......................+............................. .................................................... ...................+................................ .................................................... ..............+................................... .................................................... .................................................... .................................................... ...+.........+..................+.....+.......... .................................................... ................................................+... .................................................... .....+............+................................. .......+............................................ .................................................... .................................................... .................................................... .................................................... .................................................... ........+................................+...... .................................................... .........................+........................ .....+............................................ .................................................... .................................................... .................................................... ...................+............................+... .................................................... ..+......................+........................ .........+........................................ ......................+............................. .................................................... .................................................... ................................+................... .................................................... ...+................................+.............. .................................................... .........................................+.. ......................................+..... .................................................+ ..........................+............................ .................................................... .................................................... .................................................... ......................................+....... .................................................... .................................................... .........+............................+......... .................................................... .................................................... .................................................... .......+............................................ ................................................+. .................................................... .......++*++*++*++*DH-Parameter der Größe 2048 erstellt unter /etc/openvpn/easy-rsa/pki/dh.pem

Generieren Sie als Nächstes eine HMAC-Signatur mit dem folgenden Befehl:

openvpn --genkey --secret ta.key

Kopieren Sie abschließend alle Zertifikate und Schlüssel in das Verzeichnis /etc/openvpn:

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

Client-Zertifikat und Schlüssel generieren

Generieren Sie als Nächstes das Client-Zertifikat mit dem folgenden Befehl:

./easyrsa gen-req client nopass

Sie sollten die folgende Ausgabe sehen:

Hinweis:Verwenden der Easy-RSA-Konfiguration von:./varsVerwenden von SSL:openssl OpenSSL 1.1.1c 28. Mai 2019Generieren eines privaten RSA-Schlüssels..................... ......................+++++...............+++++Schreiben eines neuen privaten Schlüssels zu '/etc/openvpn/easy-rsa/pki/private/client.key.wU45j6E0Dt'-----Sie werden gleich aufgefordert, Informationen einzugeben, die in Ihre Zertifikatsanforderung aufgenommen werden was als Distinguished Name oder DN bezeichnet wird. Es gibt einige Felder, aber Sie können einige leer lassen. Für einige Felder gibt es einen Standardwert. Wenn Sie '.' eingeben, bleibt das Feld leer. ----- Allgemeiner Name (z. B.:Ihr Benutzer-, Host- oder Servername) [Client]:Schlüsselpaar- und Zertifikatanforderung abgeschlossen. Ihre Dateien sind:req:/etc/openvpn/easy-rsa/pki/reqs/client.reqkey:/etc/openvpn/easy-rsa/pki/private/client.key

Als nächstes signieren Sie das Client-Zertifikat mit dem folgenden Befehl:

./easyrsa sign-req client client

Sie sollten die folgende Ausgabe sehen:

Hinweis:Verwendung der Easy-RSA-Konfiguration von:./varsVerwendung von SSL:openssl OpenSSL 1.1.1c 28. Mai 2019Sie sind im Begriff, das folgende Zertifikat zu signieren.Bitte überprüfen Sie die unten aufgeführten Details auf Richtigkeit. Beachten Sie, dass diese Anforderung nicht kryptografisch verifiziert wurde. Bitte vergewissern Sie sich, dass es von einer vertrauenswürdigen Quelle stammt oder dass Sie die Prüfsumme der Anfrage mit dem Absender verifiziert haben. Betreff der Anfrage, der als Client-Zertifikat für 1080 Tage signiert werden soll:Betreff =CommonName =Client Geben Sie das Wort „Ja“ ein, um fortzufahren, oder ein beliebiges anderes Eingabe zum Abbrechen. Anfragedetails bestätigen:yesUsing configuration from /etc/openvpn/easy-rsa/pki/safessl-easyrsa.cnfPassphrase für /etc/openvpn/easy-rsa/pki/private/ca.key eingeben:Überprüfen Sie, ob die Anfrage mit der Signatur übereinstimmt okDer Distinguished Name des Subjekts lautet wie folgtCommonName :ASN.1 12:'client'Zertifikat muss bis 5. September 12:28:25 2022 GMT (1080 Tage)zertifiziert werden Datenbank mit 1 neuen Einträgen ausschreibenDatenbank aktualisiertZertifikat erstellt unter:/etc/ openvpn/easy-rsa/pki/issued/client.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/client.crt /etc/openvpn/client/
cp pki/private/client.key /etc/ openvpn/client/

OpenVPN-Server konfigurieren

Alle erforderlichen Zertifikate und Schlüssel für Server und Client werden jetzt generiert. Als nächstes müssen Sie eine OpenVPN-Konfigurationsdatei erstellen. Sie können es mit dem folgenden Befehl erstellen:

nano /etc/openvpn/server.conf

Fügen Sie den folgenden Inhalt hinzu:

port 1194proto udpdev tunca ca.crtcert server.crtkey server.key # Diese Datei sollte geheim gehalten werdendh dh.pemserver 10.8.0.0 255.255.255.0push "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 208.67. 222.222"push "dhcp-option DNS 208.67.220.220"keepalive 10 120tls-auth ta.key 0 # Diese Datei ist secretcipher AES-256-CBCuser nonegroup nogrouppersist-keypersist-tunstatus /var/log/openvpn/openvpn-status.loglog / var/log/openvpn/openvpn.loglog-append /var/log/openvpn/openvpn.logverb 3explicit-exit-notify 1

Speichern und schließen Sie die Datei. Starten Sie dann den OpenVPN-Dienst mit dem folgenden Befehl:

systemctl start [email protected]

Als nächstes überprüfen Sie den OpenVPN-Server mit dem folgenden Befehl:

Systemctl-Status [E-Mail-geschützt]

Ausgabe:

? [E-Mail-geschützt] – OpenVPN-Verbindung zum Server Geladen:geladen (/lib/systemd/system/[E-Mail-geschützt]; deaktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sa. 21.09.2019 08:46:47 SOMMERZEIT; vor 6s Docs:man:openvpn(8) https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage https://community.openvpn.net/openvpn/wiki/HOWTO Main PID:5040 (openvpn) Status:" Initialisierungssequenz abgeschlossen“ Aufgaben:1 (Grenze:1138) Arbeitsspeicher:1,7 MB CGroup:/system.slice/system-openvpn.slice/[email protected] ??5040 /usr/sbin/openvpn --daemon ovpn-server -- status /run/openvpn/server.status 10 --cd /etc/openvpn --config /etc/openvpn/server.Sep 21 08:46:47 debian systemd[1]:OpenVPN-Verbindung zum Server wird gestartet ... 21. Sep 08:46:47 debian systemd[1]:OpenVPN-Verbindung zum Server gestartet.

Installieren und konfigurieren Sie den OpenVPN-Client

Melden Sie sich als Nächstes beim OpenVPN-Clientsystem an und installieren Sie das OpenVPN-Paket mit dem folgenden Befehl:

apt-get install openvpn -y

Erstellen Sie nach der Installation eine neue Konfigurationsdatei für den OpenVPN-Client:

nano /etc/openvpn/client.conf

Definieren Sie Ihre Server-IP-Adresse und Client-Zertifikatsdatei wie unten gezeigt:

clientdev tunproto udpremote 192.168.0.103 1194resolv-retry infinitenobinduser nonegroup nogrouppersist-keypersist-tunca ca.crtcert client.crtkey client.keyremote-cert-tls servertls-auth ta.key 1cipher AES-256-CBCverb 3

Speichern und schließen Sie die Datei. Kopieren Sie dann alle Client-Zertifikate und Schlüsseldateien vom OpenVPN-Server auf das OpenVPN-Client-System mit dem folgenden Befehl:

scp [E-Mail-geschützt]:/etc/openvpn/client/ca.crt /etc/openvpn/
scp [E-Mail-geschützt]:/etc/openvpn/client/client.crt /etc/openvpn/
scp [E-Mail-geschützt]:/etc/openvpn/client/client.key /etc/openvpn/
scp [E-Mail-geschützt]:/etc/openvpn/ta.key /etc/openvpn/

Als nächstes starten Sie den OpenVPN-Client-Dienst mit dem folgenden Befehl:

systemctl start [email protected]

Jetzt können Sie die vom OpenVPN-Server zugewiesene neue IP-Adresse mit dem folgenden Befehl sehen:

ifconfig

Sie sollten die folgende Ausgabe sehen:

enp0s3:flags=4163 mtu 1500 inet 192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::a00:27ff:fe99:dc40 prefixlen 64 scopeid 0x20 ether :27:99:dc:40 txqueuelen 1000 (Ethernet) RX-Pakete 447 Bytes 42864 (41,8 KiB) RX-Fehler 0 Dropped 0 Overruns 0 Frame 0 TX-Pakete 334 Bytes 47502 (46,3 KiB) TX-Fehler 0 Dropped 0 Overruns 0 Carrier 0 Collisions 0lo:flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10  loop txqueuelen 1000 (Local Loopback) RX-Pakete 57 Bytes 9754 (9,5 KiB) RX-Fehler 0 Dropped 0 Overruns 0 Frame 0 TX-Pakete 57 Bytes 9754 (9,5 KiB) TX-Fehler 0 Dropped 0 Overruns 0 Carrier 0 Collisions 0tun0:flags =4305 mtu 1500 inet 10.8.0.6 netmask 255.255.255.255 destination 10.8.0.5 inet6 fe80::52b5:a1d2:fa23:f51e prefixlen 64 scopeid 0x20 unspec 00-00-00-00 -00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC) RX-Pakete 0 Bytes 0 (0,0 B) RX-Fehler 0 Dropped 0 Overruns 0 Frame 0 TX-Pakete 9 Bytes 472 (472,0 B) TX-Fehler 0 Dropped 0 Overruns 0 Carrier 0 Collisions 0 

Gehen Sie als Nächstes zum OpenVPN-Serversystem und überprüfen Sie das OpenVPN-Protokoll mit dem folgenden Befehl:

tail -f /var/log/openvpn/openvpn.log

Sie sollten die folgende Ausgabe erhalten:

So Sep 22 19:46:08 2019 192.168.0.103:45700 Steuerkanal:TLSv1.3, Chiffre TLSv1.3 TLS_AES_256_GCM_SHA384, 2048 Bit RSASSun Sep 22 19:46:08 2019 192.168.0.103:45700 [_] Peer.0 Verbindung initiiert mit [AF_INET]192.168.0.103:45700So 22. Sep 19:46:08 2019 _/192.168.0.103:45700 MULTI_sva:Pool hat IPv4=10.8.0.6, IPv6=(Nicht aktiviert)So 22. Sep 19:46:08 zurückgegeben 2019 _/192.168.0.103:45700 MULTI:Lernen:10.8.0.6 -> _/192.168.0.103:45700So Sep 22 19:46:08 2019 _/192.168.0.103:45700 MULTI:primäre virtuelle IP für _/192.168.0.103 :45700:10.8.0.6So Sep 22 19:46:09 2019 _/192.168.0.103:45700 PUSH:Kontrollnachricht empfangen:'PUSH_REQUEST'So Sep 22 19:46:09 2019 _/192.168.0.103:45700 SENT CONTROL [ _]:'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5, Peer-ID 0, Chiffre AES-256-GCM' (Status =1) Sonntag, 22. September, 19:46:09 2019 _/192.168.0.103:45700 Datenkanal:Verwendung von neg otiated cipher 'AES-256-GCM'Sun Sep 22 19:46:09 2019 _/192.168.0.103:45700 Outgoing Data Channel:Cipher 'AES-256-GCM' initialized with 256 bit keySun Sep 22 19:46:09 2019 _/192.168.0.103:45700 Eingehender Datenkanal:Chiffre 'AES-256-GCM' initialisiert mit 256-Bit-Schlüssel

Herzliche Glückwünsche! Sie haben OpenVPN-Server und -Client erfolgreich auf Debian 10 installiert und konfiguriert.


Debian
  1. So installieren und konfigurieren Sie Redis 6.0 unter Debian 11

  2. So installieren und konfigurieren Sie den VNC-Server unter Debian 10

  3. So installieren und konfigurieren Sie Mariadb 10 in Debian 11

  4. So installieren und konfigurieren Sie MongoDB 5 unter Debian 11

  5. So installieren und konfigurieren Sie Redis 6 unter Debian 11

So installieren und konfigurieren Sie den OpenLiteSpeed-Webserver unter Debian 10

So installieren und konfigurieren Sie RabbitMQ unter Debian 11

So installieren und konfigurieren Sie Memcached unter Debian 11

So installieren und konfigurieren Sie den NFS-Server unter Debian 11

So installieren und konfigurieren Sie den Apache-Webserver unter Debian 11

So installieren und konfigurieren Sie Git in Debian 11