So richten Sie einen Linux-VPN-Server von einem Windows-Client aus ein

VPN ist wichtig, um eine sichere Verbindung zu den Serverressourcen über ein öffentliches Internet mit seinem privaten Netzwerk oder Netzwerk hinter einer Firewall herzustellen und mehrere private Netzwerke über Unternehmenszweige hinweg zu verbinden.


In diesem Tutorial richten wir OpenVPN in Centos 7 ein und konfigurieren die VPN-Verbindung mit dem Windows-Client.

Besonderer Hinweis: Mit den Hosting-Bewertungen von HostAdvice können Sie sich vor dem Kauf eines Hosting-Plans mit Tausenden von Benutzern beraten. Wenn Sie einen CentOS 7 VPS-Tarif erwerben möchten, konsultieren Sie die VPS-Hosting-Testberichte oder Linux-Hosting-Testberichte.

Installation von Paketen:

OpenVPN: Open Source SSL VPN-Lösung

EPEL Repo: OpenVPN ist in Epel Repo verfügbar und nicht im Standard-Centos-Repository

Easy-RSA: Wird zum Erstellen und Generieren von Schlüsseln und Zertifikaten in der VPN-Verbindung verwendet.

$ sudo yum installiere openvpn epel-release easy-rsa

Screenshot zur Installation von Paketen

Bereiten Sie Easy-RSA für die Generierung von Schlüsseln und Zertifikaten vor

Erstellen Sie ein Verzeichnis zum Speichern der Schlüssel und Zertifikate

$ sudo mkdir -p / etc / openvpn / easy-rsa / keys

Kopieren Sie die easy-rsa-Skripte in das openvpn easy-rsa-Verzeichnis

$ sudo cp -rf /usr/share/easy-rsa/3.0.3/* / etc / openvpn / easy-rsa /

Besonderer Hinweis: In diesem Fall verwenden wir easy-rsa v3, die neueste Version zum Zeitpunkt der Erstellung dieses Tutorials

Ändern Sie den Besitz der easy-rsa in den Benutzer ohne Rootberechtigung.

$ sudo chown -R linuxuser / etc / openvpn / easy-rsa /

Richten Sie eine neue PKI ein, indem Sie das Skript init-pki ausführen

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

Richten Sie eine neue PKI ein, indem Sie den Screenshot des init-pki-Skripts ausführen

Besonderer Hinweis: Das pki-Verzeichnis lautet jetzt / etc / opnevpn / easy-rsa / pki

Zertifizierungsstelle erstellen

$. / easyrsa build-ca nopass

Die Option nopass besteht darin, das Signieren von Zertifikaten ohne Eingabe eines Kennworts zu aktivieren. Für kritische Anwendungen, die ein hohes Maß an Sicherheit erfordern, wird empfohlen, die Option nopass zu entfernen.

Zertifizierungsstelle erstellen (nopass) - Screenshot

Besonderer Hinweis: Die Zertifikatdatei befindet sich jetzt unter /etc/openvpn/easy-rsa/pki/ca.crt

Generieren Sie Serverschlüssel und Zertifikate und signieren Sie deren Anforderungen

$ ./easyrsa gen-req centos7-hostadvice nopass

Befehlsstruktur

./ easyrsa gen-req UNIQUE_SERVER_SHORT_NAME nopass

Hinweis: Normalerweise werden die Serverschlüssel mit der Taste unverschlüsselt "kein Pass" Streit . Dies liegt ausschließlich daran, dass die Server normalerweise ohne Kennworteingabe starten. Dies erzeugt eine unverschlüsselt Schlüssel, also schützen Sie den Zugriff und die Dateiberechtigungen sorgfältig.

./easyrsa gen-req UNIQUE_SERVER_SHORT_NAME nopass Screenshot

Besonderer Hinweis: Server-Schlüsselpaar- und Zertifikatanforderungsdateien befinden sich jetzt unter
req: /etc/openvpn/easy-rsa/pki/reqs/centos7-hostadvice.req
Schlüssel: /etc/openvpn/easy-rsa/pki/private/centos7-hostadvice.key

Importieren Sie die Serverzertifikatsanforderung in die Zertifizierungsstelle

Importieren Sie auf der Zertifizierungsstelle die Entitätsanforderungsdatei mit a "kurzer Name", in diesem Fall “c7ha”. Dadurch wird die Anforderungsdatei einfach in reqs / unter dem PKI-Verzeichnis kopiert, um sie für die Überprüfung und Signatur vorzubereiten.

$ ./easyrsa import-req pki / reqs / centos7-hostadvice.req c7ha

Befehlsstruktur

$ ./easyrsa import-req /path/to/received.req UNIQUE_SHORT_FILE_NAME

Importieren Sie die Serverzertifikatsanforderung in den CA-Screenshot

Überprüfen und unterschreiben Sie die Serveranforderung

Überprüfen Sie die Zeichenanforderung, um zu bestätigen, dass die Details so sind, wie Sie sie eingegeben haben

$ ./easyrsa show-req c7ha

Befehlsstruktur:

$ ./easyrsa show-req UNIQUE_SHORT_FILE_NAME

Überprüfen und signieren Sie den Screenshot der Serveranforderung

Unterschreiben Sie die Anfrage:

$ ./easyrsa sign-req server c7ha

Befehlsstruktur

$ ./easyrsa sign-req server UNIQUE_SHORT_FILE_NAME
Besonderer Hinweis: Die signierte Zertifikatanforderung befindet sich jetzt unter /etc/openvpn/easy-rsa/pki/issued/c7ha.crt

Generieren Sie Clientschlüssel und Zertifikate und signieren Sie deren Anforderungen

$ ./easyrsa gen-req win-client0

Befehlsstruktur

./ easyrsa gen-req UNIQUE_CLIENT_SHORT_NAME

Es wird empfohlen, verschlüsselte private Schlüssel zu erstellen, indem Sie die zusätzliche Option nopass nach dem Namen weglassen. Die Option nopass sollte nur enthalten sein, wenn ein automatisierter VPN-Start erforderlich ist. Unverschlüsselte private Schlüssel können von jedem verwendet werden, der eine Kopie der Datei erhält. Verschlüsselte Schlüssel bieten einen stärkeren Schutz, erfordern jedoch die Passphrase bei der ersten Verwendung.

Generieren Sie Clientschlüssel und Zertifikate und signieren Sie den Screenshot ihrer Anforderungen

Besonderer Hinweis: Server-Schlüsselpaar- und Zertifikatanforderungsdateien befinden sich jetzt unter
req: /etc/openvpn/easy-rsa/pki/reqs/win-client0.req
Schlüssel: /etc/openvpn/easy-rsa/pki/private/win-client0.key

Importieren Sie die Serverzertifikatsanforderung in die Zertifizierungsstelle

Importieren Sie auf der Zertifizierungsstelle die Entitätsanforderungsdatei mit a "kurzer Name", in diesem Fall “w7c”. Dadurch wird die Anforderungsdatei einfach in reqs / unter dem PKI-Verzeichnis kopiert, um sie für die Überprüfung und Signatur vorzubereiten.

$ ./easyrsa import-req pki / reqs / win-client0.req w7c

Befehlsstruktur

$ ./easyrsa import-req /path/to/received.req UNIQUE_SHORT_FILE_NAME

Importieren Sie die Serverzertifikatsanforderung in den CA-Screenshot

Überprüfen und unterschreiben Sie die Kundenanfrage

Überprüfen Sie die Zeichenanforderung, um zu bestätigen, dass die Details so sind, wie Sie sie eingegeben haben

$ ./easyrsa show-req w7c

Befehlsstruktur:

./ easyrsa show-req UNIQUE_SHORT_FILE_NAME

Überprüfen und unterschreiben Sie den Screenshot der Clientanforderung

Unterschreiben Sie die Anfrage:

./ easyrsa sign-req client w7c

Befehlsstruktur

./ easyrsa sign-req client UNIQUE_SHORT_FILE_NAME

Unterschreiben Sie die Client-Anfrage - Screenshot

Besonderer Hinweis: Die signierte Zertifikatanforderung befindet sich jetzt unter /etc/openvpn/easy-rsa/pki/issued/w7c.crt

Generieren Sie eine Diffie-Hellman (DH) -Schlüsselaustauschdatei

Auf dem OpenVPN-Server der PKI werden die DH-Parameter während des TLS-Handshakes mit Verbindungsclients benötigt.

$ ./easyrsa gen-dh

Screenshot der Diffie-Hellman (DH) -Schlüsselaustauschdatei erstellen Screenshot der Diffie-Hellman (DH) -Schlüsselaustauschdatei erstellen - Teil 2

Besonderer Hinweis: Die dh-Austauschdatei befindet sich jetzt unter /etc/openvpn/easy-rsa/pki/dh.pem

Kopieren Sie die openssl-Konfigurationsdatei in eine Datei ohne Versionsnamen

$ cp openssl-1.0.cnf openssl.cnf

Grund: Um zu verhindern, dass ssl die Konfiguration nicht laden kann, weil ihre Version nicht erkannt werden kann

Generieren Sie einen statischen Verschlüsselungsschlüssel für die TLS-Authentifizierung

$ sudo openvpn –genkey –secret /etc/openvpn/hostadvicevpn.tlsauth

Konfigurieren Sie openvpn

Kopieren Sie die Konfigurationsdatei server.conf – openvpn nach / etc / openvpn

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

Bearbeiten Sie die Datei server.conf

$ sudo vim /etc/openvpn/server.conf

Kommentieren Sie dann die folgenden Zeilen aus und bearbeiten Sie sie

ca easy-rsa / pki / ca.crt
cert easy-rsa / pki / ausgestellt / c7ha.crt
key easy-rsa / pki / private / centos7-hostadvice.key # Diese Datei sollte geheim gehalten werden
dh easy-rsa / pki / dh.pem
Topologie-Subnetz
server 10.128.0.0 255.255.255.0 # Geben Sie die Netzwerkadresse für das private Netzwerk Ihres Servers ein
drücken "DHCP-Option DNS 8.8.8.8"
drücken "DHCP-Option DNS 8.8.4.4"
tls-crypt hostadvicevpn.tlsauth
Benutzer niemand
Gruppe niemand
log-append openvpn.log

Konfigurieren Sie Firewalld und Routing

Überprüfen Sie die aktiven Firewall-Zonen auf Ihrem Server mit dem folgenden Befehl:

$ sudo firewall-cmd –get-active-zonen

Fügen Sie openpvn, Port 1194 (für Client-Verbindung) zur Firewall hinzu

$ sudo firewall-cmd –permanent –zone = vertrauenswürdig –add-service = openvpn
$ sudo firewall-cmd –permanent –zone = vertrauenswürdig –add-port = 1194 / udp

Fügen Sie Maskerade hinzu, um das Weiterleitungsrouting an das openvpn-Subnetz zu aktivieren

$ sudo firewall-cmd –permanent –zone = vertrauenswürdig –add-masquerade
$ PORTIN = $ (ip route get 8.8.8.8 | awk ‘NR == 1 {print $ (NF-2)}’)
$ firewall-cmd –permanent –direct –passthrough ipv4 -t nat -A POSTROUTING -s 10.128.0.0/24 -o $ PORTIN -j MASQUERADE

Starten Sie firewalld neu, um die Änderungen zu übernehmen

$ sudo firewall-cmd –reload

Aktivieren Sie die IP-Weiterleitung, um den gesamten Datenverkehr vom Client zur IP-Adresse des Servers zuzulassen, da die IP-Adresse des Clients verborgen bleibt.

$ sudo vim /etc/sysctl.conf

Fügen Sie die Zeile hinzu:

net.ipv4.ip_forward = 1

Speichern Sie dann die Datei

Konfigurieren Sie den Screenshot Firewalld und Routing

Starten Sie dann den Netzwerkdienst neu

$ sudo systemctl Netzwerk neu starten

Starten und aktivieren Sie den openvpn-Dienst

$ sudo systemctl –f aktiviert openvpn @ server
$ sudo systemctl starte openvpn @ server

Bestätigen Sie, dass openvpn ausgeführt wird

$ sudo systemctl status openvpn @ server

Konfigurieren Sie den Windows-Client für die VPN-Verbindung

Laden Sie den openvpn-Client für Windows von https://openvpn.net/index.php/open-source/downloads.html herunter

Konfigurieren Sie den Windows-Client für die VPN-Verbindung

Erstellen Sie die Datei C: \ Programme \ OpenVPN \ config \ key.txt, falls diese nicht vorhanden ist.

Gehen Sie zu Start und klicken Sie mit der rechten Maustaste auf “Generieren eines statischen OpenVPN-Schlüssels”. > Als Administrator ausführen

Startmenü - Screenshot

Die Schlüssel werden unter C: \ Programme \ OpenVPN \ config \ key.txt generiert und gespeichert

Die Schlüssel werden unter C: \ Programme \ OpenVPN \ config \ key.txt generiert und gespeichert (Screenshot)

Öffnen Sie die Datei, kommentieren Sie sie aus und ändern Sie die folgenden Parameter:

Fernbedienung
Port 1194

Erstellen Sie das C: \ Programme \ OpenVPN \ log \ client.log, falls es nicht vorhanden ist.

Gehen Sie zu Start > Alle Programme > OpenVPN > Öffnen Sie die OpenVPN-Benutzeroberfläche, klicken Sie mit der rechten Maustaste und wählen Sie “Als Administrator ausführen”.

Screenshot des Startmenüs OpenVPN GUI, Screenshot der Dienstprogramme

Möchten Sie Ihr Linux-Hosting-Konto aktualisieren? Auf HostAdvice finden Sie die besten Linux-Hosting-Services sowie Benutzer- und Expertenbewertungen.

Schauen Sie sich die Top 3 Linux Hosting Services an

FastComet

Startpreis:
2,95 $


Verlässlichkeit
9.7


Preisgestaltung
9.5


Benutzerfreundlich
9.7


Unterstützung
9.7


Eigenschaften
9.6

Bewertungen lesen

Besuchen Sie FastComet

Hostinger

Startpreis:
0,99 $


Verlässlichkeit
9.3


Preisgestaltung
9.3


Benutzerfreundlich
9.4


Unterstützung
9.4


Eigenschaften
9.2

Bewertungen lesen

Besuchen Sie Hostinger

ChemiCloud

Startpreis:
2,76 $


Verlässlichkeit
10


Preisgestaltung
9.9


Benutzerfreundlich
9.9


Unterstützung
10


Eigenschaften
9.9

Bewertungen lesen

Besuchen Sie ChemiCloud

Verwandte Anleitungen

  • So richten Sie SSH auf einem Ubuntu 16.04 VPS oder einem dedizierten Server ein
    mittlere
  • So installieren und konfigurieren Sie Linux Malware Detect unter CentOS 7
    Experte
  • So richten Sie SSH auf einem CentOS 7 VPS von einem Windows-Client aus ein
    mittlere
  • So richten Sie SSH für ein Ubuntu 16.04 VPS von einem Linux-Client aus ein
    Neuling
  • So richten Sie einen VSFTPD-Server auf einem CentOS 7 VPS- oder dedizierten Server ein
    mittlere
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map