Debian

So richten Sie ein VPN mit OpenVPN auf Debian 9 Stretch Linux ein

So richten Sie ein VPN mit OpenVPN auf Debian 9 Stretch Linux ein

Verteilungen

Dieser Leitfaden wird für Debian 9 Stretch Linux getestet, kann jedoch mit anderen neueren Debian -Versionen funktionieren.

Anforderungen

Schwierigkeit

MITTEL

Konventionen

Iptables konfigurieren

Das Einrichten Ihres eigenen VPN ist keine kleine Aufgabe, aber es gibt viele Gründe, warum Sie dies tun möchten. .

Sicherheit ist ein wichtiger Faktor für VPNs. Es ist möglich, in wenigen Minuten ein einfaches einzurichten, aber es wird überhaupt nicht sicher sein. Sie müssen die entsprechenden Schritte unternehmen, um sicherzustellen, dass sowohl der Server als auch Ihre Verbindungen privat und verschlüsselt bleiben.

Bevor Sie diese Straße abstellen, möchten Sie möglicherweise in Betracht ziehen, Ihre Festplatten zu verschlüsseln, die Kernelsicherheit mit Selinux oder Pax zu verbessern und sicherzustellen, dass alles andere gesperrt ist.

Iptables ist ein großer Teil der Serversicherheit. Sie benötigen Iptables, um sicherzustellen, dass diese Informationen nicht aus Ihrem VPN auslaufen. Iptables arbeitet auch daran, nicht autorisierte Verbindungen zu verhindern. Der erste Schritt bei der Einrichtung eines VPN auf Debian besteht darin, Iptables einzurichten.

Finden Sie Ihre WAN -Schnittstelle

Bevor Sie mit dem Schreiben Ihrer Iptables -Regeln beginnen können, müssen Sie wissen, für welche Schnittstelle Sie sie schreiben.

Verwenden Ifconfig oder ip a So suchen Sie nach der Schnittstelle, mit der Ihr Server mit dem Internet verbunden ist.

Der Rest dieser Anleitung bezieht sich auf diese Schnittstelle als Eth0, Aber das wird wahrscheinlich nicht dein sein. Stellen Sie stattdessen sicher, dass Sie den Namen der Netzwerkschnittstelle Ihres Servers auszeigen.



Erstellen der Iptables -Regeln

Jeder Linux -Benutzer und jeder Administrator liebt es, iptables Regeln zu schreiben, richtig? Es wird nicht so schlimm sein. Sie komponieren eine Datei mit allen Befehlen und stellen sie einfach in Iptables wieder her.

Erstellen Sie Ihre Datei. Sie können es an einen Ort schaffen, an dem Sie es speichern oder einfach hineinwerfen möchten /tmp. Iptables speichert Ihre Regeln sowieso, also /tmp ist gut.

$ VIM /TMP /V4RULES

Starten Sie die Datei durch Hinzufügen aus *Filter Iptables wissen zu lassen, dass dies Filterregeln sind.

Ja, es wird auch einen IPv6 geben, aber es wird viel kürzer sein.

Loopback -Regeln

Beginnen Sie mit dem einfachsten Satz von Regeln, den Loopback -Schnittstellen, die. Diese sagen nur Iptables, sie sollen nur Looback -Verkehr von Localhost akzeptieren.

-Ein Eingang -i lo -j Akzeptieren Sie -a Eingabe ! -I lo -s 127.0.0.0/8 -j ablehnen -a output -o lo -j Akzeptieren 

Ping zulassen

Als nächstes möchten Sie wahrscheinlich in der Lage sein, Ihren Server zu pingen. Diese Gruppe von Regeln erlaubt Ping durch.

-Ein Eingabe -p -ICMP -M -Zustand -State New -ICMP -Typ 8 -j Accept -a Eingabe -p ICMP -M -Zustand -State etabliert, verwandte -j Accept -a -Ausgabe -p ICMP -J Akzeptieren 

SSH -Setup

Sie sollten wahrscheinlich SSH in Port 22 ändern. Lassen Sie Ihre Regeln also widerspiegeln.

-Ein Eingang -i Eth0 -p tcp -m -Zustand -State Neu, etabliert -dort 22 -j Akzeptieren -Ein Ausgang -o ETH0 -P TCP -M -Staat -State etabliert --sport 22 -j Akzeptieren 

OpenVPN durch

Offensichtlich möchten Sie den OpenVPN -Verkehr durch. Diese Anleitung wird UDP für OpenVPN verwenden. Wenn Sie sich für TCP entscheiden, lassen Sie die Regeln dies widerspiegeln.

-Ein Eingabe -i Eth0 -p udp -m Staat -State Neu, etabliert -dort 1194 -j ACKETPEN -A OUTTION -O ETH0 -P UDP -M -Staat -State etabliert -Ssport 1194 -J Akzeptieren 

DNS

Sie möchten auch DNS -Verkehr über Ihren VPN -Server zulassen. Dies wird sowohl über UDP als auch über TCP geschehen.

-Ein Eingang -i Eth0 -p UDP -M -Staat -State festgelegt - -ssport 53 -j Accept -a Output -o Eth0 -p UDP -M -Zustand -State Neu, etabliert -dort 53 -j Accept -a Input -i eth0 -p tcp -m staat 

HTTP/s für Updates

Es mag seltsam erscheinen, HTTP/s -Verkehr zuzulassen, aber Sie Tun Ich möchte, dass Debian sich selbst aktualisieren kann, richtig? Diese Regeln ermöglichen es Debian, HTTP -Anfragen zu initiieren, sie jedoch nicht von außen zu erhalten.

-Ein Eingang -i Eth0 -p TCP -M -Zustand -State festgelegt - -ssport 80 -j Accept -a Input -i eth0 -p tcp -m Status -State festgelegt -Ssport 443 -j Accept -a Output -o ETH0 -P TCP -M -Staat -State neu, etabliert -dort 80 -j Akzeptieren -a output -o eth0 -p tcp -m Staat -State neu, etabliert -dort 443 -J Akzeptieren 


NTP, um Ihre Uhr zu synchronisieren

Angenommen, Sie werden Ihre Serveruhr und die Clientuhren nicht manuell synchronisieren, benötigen Sie NTP. Erlaube es auch.

-Ein Eingang -i Eth0 -p UDP -M -Staat -State festgelegt - -ssport 123 -j Akzeptieren 

Tun zum Tunnel durch das VPN

In dieser Anleitung wird Tun zum Tunnel durch das VPN verwendet. Wenn Sie TAP verwenden, passen Sie entsprechend an.

-Ein Eingang -i Tun0 -J Akzeptieren Sie -a Forward -i Tun0 -j Akzeptieren Sie -a output -o tun0 -j Akzeptieren 

Damit das VPN Ihren Datenverkehr an das Internet weiterleitet.

-Ein vorwärts -i Tun0 -o eth0 -s 10.8.0.0/24 -J Akzeptieren Sie -a Forward -m State -State etabliert, verwandte -j akzeptieren 

Protokoll blockierte Verkehr

Sie sollten wahrscheinlich Iptables den Datenverkehr protokollieren, den es blockiert. Auf diese Weise sind Sie sich jeder potenziellen Bedrohungen bewusst.

-Ein Eingabe -M -Grenzwert -limit 3/min -j log -log -prefix "iptables_input_denied:" -Log -Level 4 -a Forward -m -Limit - -limit 3/min -j log -log -prefix " Iptables_forward_Denied: " -Log -Level 4 -a Ausgabe -m -Grenze - -limit 3/min -j log - -log -prefix" iptables_output_Denied: " -Log -Level 4 

Alle anderen Verkehrsdaten ablehnen

Jetzt, da Sie alles protokollieren, was nicht in die vorhandenen Regeln passt, lehnen Sie es ab.

-Ein Eingang -j Ablehnung -a vorwärts -j ablehnen -a output -j ablehnen 

Vergessen Sie nicht, Ihre Datei mit zu schließen BEGEHEN.

Nat

Dieser nächste Teil erfordert eine andere Tabelle. Sie können es nicht derselben Datei hinzufügen, sodass Sie den Befehl einfach manuell ausführen müssen.

Machen Sie den Datenverkehr von der VPN -Maskerade als Datenverkehr von der physischen Netzwerkschnittstelle.

# iptables -t nat -a poTrouting -s 10.8.0.0/24 -O ETH0 -J Maskerade 

Blockieren Sie den gesamten IPv6 -Verkehr

Der Datenverkehr kann über IPv6 austreten, und es ist wirklich keine Notwendigkeit, IPv6 zu verwenden. Am einfachsten ist es, es ganz zu schließen.

Erstellen Sie eine andere Datei und werfen Sie die Regeln ein, um den gesamten IPv6 -Datenverkehr abzulehnen.

$ VIM /TMP /V6RULES
*filter -a Eingabe -j ablehnen -a vorwärts -j reject -a output -j reject Commit 


Alles begehen

Beginnen Sie damit, alle vorhandenen Iptables -Regeln auszuspülen.

# iptables -f && iptables -x 

Importieren Sie jede der von Ihnen erstellten Regelndateien.

# iptables-restore < /tmp/v4rules # ip6tables-restore < /tmp/v6rules 

Es kleben lassen

Debian verfügt über ein Paket, das automatisch Ihre iptierbaren Regeln lädt, sodass Sie keinen Cron -Job oder ähnliches erstellen müssen.

# APT ITTABLES-PERSISTENT INSTALLIEN

Im Installationsprozess werden Sie gefragt, ob Sie Ihre Konfigurationen speichern möchten. Antwort: "Ja."

In Zukunft können Sie Ihre Regeln aktualisieren, indem Sie den folgenden Linux -Befehl ausführen.

# Service Netfilter-Persistent Save

Zusätzliche Konfiguration

Es gibt noch ein paar weitere Dinge, die Sie tun müssen, um alle Ihre Netzwerkschnittstellen bei Bedarf zu bearbeiten.

Erstens öffnen Sie /etc/hosts und kommentieren Sie alle IPv6 -Zeilen.

Als nächstes offen /etc/sysctl.D/99-SYSCTL.Conf. Die folgende Zeile finden und überzeugen.

Netz.IPv4.ip_forward = 1 

Fügen Sie diese nächsten Zeilen hinzu, um IPv6 vollständig zu deaktivieren.

Netz.IPv6.Conf.alle.disable_ipv6 = 1 net.IPv6.Conf.Standard.disable_ipv6 = 1 net.IPv6.Conf.LO.disable_ipv6 = 1 net.IPv6.Conf.Eth0.disable_ipv6 = 1 

Schließlich wenden Sie Ihre Änderungen an.

# sysctl -p 

Was kommt als nächstes

Das ist der erste Teil down. Die Firewall Ihres Servers ist jetzt bereit, OpenVPN auszuführen, und Ihr Netzwerk ist auch richtig ausgerichtet.

Der nächste Schritt besteht darin, eine Zertifikatberechtigung zu erstellen, um alle Ihre Verschlüsselungsschlüssel zu verarbeiten. Es ist kein langwieriger Prozess wie dies, aber es ist genauso wichtig.

Zertifizierungsstelle

Verwenden.

Dies ist der zweite Teil bei der Konfiguration eines OpenVPN -Servers auf Debian Stretch.

VPNs verlassen sich auf Verschlüsselung. Es ist absolut wichtig, dass sie ihre Verbindungen zu Kunden sowie den Verbindungsprozess selbst verschlüsseln.

Um die für verschlüsselten Kommunikation erforderlichen Schlüssel zu generieren, müssen Sie eine Zertifikatbehörde festlegen. Es ist wirklich nicht so schwierig und es gibt Tools, die den Prozess weiter vereinfachen.

Installation der Pakete

Installieren Sie vor dem Start OpenVPN und Easy-RSA.

# APT INSTALLEN SIE OpenVPN Easy-RSA

Richten Sie das Verzeichnis ein

Das OpenVPN -Paket hat ein Verzeichnis für sich selbst erstellt /etc/openVPN. Hier können Sie die Zertifikatautorität einrichten.

Easy-RSA enthält ein Skript, das automatisch ein Verzeichnis mit allem erstellt, was Sie benötigen. Verwenden Sie es, um Ihr Verzeichnis für die Zertifikatberechnung zu erstellen.

# Make-Cadir/etc/openVPN/certs

Geben Sie dieses Verzeichnis ein und erstellen Sie einen Soft Link zwischen der neuesten OpenSSL -Konfiguration mit OpenSSL.CNF.

# ln -S OpenSSL -1.0.0.CNF OpenSSL.CNF


Stellen Sie die Variablen ein

Im Ordner befindet sich eine Datei mit dem Namen, vars. Diese Datei enthält die Variablen, mit denen Easy-RSA Ihre Schlüssel generiert. Öffne es. Es gibt einige Werte, die Sie ändern müssen.

Beginnen Sie mit der Suche die Key_size variabel und verändern den Wert zu Wert zu 4096.

exportieren key_size = 4096

Suchen Sie als Nächst.

export key_country = "us" export key_province = "ca" export key_city = "sanfrancisco" Export key_org = "Fort-Funston" Export key_email = "[email protected] "export key_ou =" myorganizationalUnit " 

Ändern Sie die Werte, die Ihnen entsprechen,.

Die letzte Variable, die Sie finden müssen, ist die KEY_NAME

export key_name = "vpnserver"

Nennen Sie es etwas identifizierbares.

Erstellen Sie die Autoritätstasten

Easy-RSA enthält Skripte, um die Zertifikatautorität zu generieren.

Laden Sie zuerst die Variablen.

# Quelle ./vars

Eine Warnmeldung wird im Terminal angezeigt, das Ihnen das sagt alles putzen wird Ihre Schlüssel löschen. Du hast noch keine, also ist es in Ordnung.

# ./alles putzen

Sie können jetzt das Skript ausführen, um Ihre Zertifikatautorität tatsächlich zu generieren. Das Skript stellt Ihnen Fragen zu den Tasten, die Sie generieren. Die Standardantworten sind die Variablen, die Sie bereits eingegeben haben. Sie können sicher zerschlagen "eintreten."Denken Sie daran, ein Passwort einzugeben, wenn Sie möchten, und beantworten Sie" Ja "zu den letzten beiden Fragen.

# ./bau-ca

Erstellen Sie einen Serverschlüssel

Diese Schlüssel, die Sie gemacht haben, waren für die Zertifikatbehörde selbst. Sie benötigen auch einen Schlüssel für den Server. Noch einmal gibt es ein Skript dafür.

# ./build-key-server-Server

Erzeugen Sie einen Diffie-Hellman-Pem

Sie müssen einen Diffie-Hellman-PEM erstellen, mit dem OpenVPN sichere Client-Sitzungen erstellen wird. Easy-RSA bietet auch ein Skript dafür, aber es ist einfach einfacher, Plain OpenSSL zu verwenden.

Da das Ziel hier Sicherheit ist, ist es am besten, einen 4096 -Bit -Schlüssel zu generieren. Die Erzeugung wird einige Zeit dauern, und es kann den Verbindungsprozess ein wenig verlangsamen, aber die Verschlüsselung wird einigermaßen stark sein.

# OpenSSL DHPARAM 4096>/etc/openvpn/dh4096.Pem

Generieren Sie einen HMAC -Schlüssel

Ja, Sie brauchen einen weiteren Verschlüsselungsschlüssel. OpenVPN verwendet HMAC -Tasten, um die Pakete zu signieren, die sie im TLS -Authentifizierungsprozess verwendet. Durch die Unterzeichnung dieser Pakete kann OpenVPN garantieren, dass nur Pakete, die von einer Maschine mit dem Schlüssel stammen, akzeptiert werden. Es fügt nur eine weitere Sicherheitsebene hinzu.

Das Dienstprogramm zur Generierung Ihres HMAC -Schlüssels ist tatsächlich in OpenVPN selbst integriert. Starte es.

# OpenVPN --Genkey -Sekret/etc/openVPN/certs/keys/ta.Taste

Was kommt als nächstes

Das Erstellen einer starken Verschlüsselung ist einfach einer der wichtigsten Aspekte bei der Einrichtung eines OpenVPN -Servers. Ohne gute Verschlüsselung ist der gesamte Prozess im Grunde genommen bedeutungslos.

Zu diesem Zeitpunkt sind Sie endlich bereit, den Server selbst zu konfigurieren. Die Serverkonfiguration ist tatsächlich weniger kompliziert als bisher, also herzlichen Glückwunsch.

OpenVPN Sever

Konfigurieren Sie den OpenVPN -Server mit den Verschlüsselungsschlüssel, die Sie im vorherigen Abschnitt des Handbuchs generiert haben.

Dies ist der dritte Teil bei der Konfiguration eines OpenVPN -Servers auf Debian Stretch.

Jetzt sind Sie beim Hauptereignis angekommen. Dies ist die tatsächliche OpenVPN -Serverkonfiguration. Alles, was Sie bisher getan haben, war absolut notwendig, aber nichts davon hat OpenVPN selbst berührt, bis jetzt.

Dieser Abschnitt befasst sich völlig mit der Konfiguration und Ausführung des OpenVPN -Servers und ist tatsächlich weniger kompliziert als Sie wahrscheinlich denken.

Holen Sie sich die Basiskonfiguration

OpenVPN hat diesen Prozess gemacht sehr einfach. Das von Ihnen installierte Paket wurde mit Beispielkonfigurationsdateien für sowohl Clients als auch für den Server ausgestattet. Sie müssen nur den Server in Sie entpacken /etc/openVPN Verzeichnis.

# Gunzip -c/usr/share/doc/openVPN/Beispiele/Beispiel-Config-Files/Server.Conf.GZ>/etc/openVPN/Server.Conf 

Öffnen Sie es in Ihrem bevorzugten Texteditor und machen Sie sich bereit, die Dinge zu ändern.



Verwenden Sie Ihre Schlüssel

Sobald Sie sich in der Datei befinden, werden Sie feststellen, dass alles mit angemessenen Standardeinstellungen ausgefüllt ist, und es gibt viele Kommentare, die eine hervorragende Dokumentation dessen liefern, was alles tut.

Das erste, was Sie finden müssen. Die Variablen sind ca, Zertifikat, Und Taste. Stellen Sie sie gleich dem vollständigen Pfad jeder dieser Dateien ein. Es sollte wie das Beispiel unten aussehen.

ca/etc/openVPN/certs/keys/ca.CRT Cert/etc/openVPN/certs/Schlüssel/Server.CRT -Schlüssel/etc/openVPN/certs/Schlüssel/Server.Schlüssel # Diese Datei sollte geheim gehalten werden 

Der nächste Teil, den Sie finden müssen, ist der Diffie-Hellman .Pem Wenn Sie fertig sind, sollte es so aussehen:

DH DH4096.Pem

Schließlich finden Sie tls-auth Für Ihren HMAC -Schlüssel.

tls-auth/etc/openvpn/certs/keys/ta.Schlüssel 0 # Diese Datei ist geheim

Ja, lass das 0 dort.

Sicherheit verstärken

Die Verschlüsselungseinstellungen in der Konfigurationsdatei sind in Ordnung, aber sie könnten es sein viel besser. Es ist Zeit, bessere Verschlüsselungseinstellungen zu ermöglichen.

Finden Sie den Abschnitt, der mit beginnt mit, # Wählen Sie eine kryptografische Chiffre. Hier müssen Sie die folgende Zeile unten hinzufügen, die er vorhanden ist.

CIPHER AES-256-CBC

Es ist nicht eine der aufgelisteten Optionen dort, aber es wird von OpenVPN unterstützt. Diese 256 -Bit -AES -Verschlüsselung ist wahrscheinlich die beste, die von OpenVPN angeboten wird.

Scrollen Sie bis zum Ende der Datei. Die nächsten beiden Optionen sind nicht bereits in der Konfiguration, daher müssen Sie sie hinzufügen.

Zuerst müssen Sie eine starke Authentifizierungsdigest angeben. Dies ist die Verschlüsselung, die OpenVPN für die Benutzerauthentifizierung verwendet. Wählen Sie SHA512.

# Auth Digest Auth SHA512 

Beschränken Sie als nächstes die Chiffren, die OpenVPN verwenden, um stärker zu werden. Es ist am besten, es so weit wie möglich zu beschränken.

# Begrenzung Chiffren Tls-Cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384: TLS-DHE-RSA-WITH-AES-128-GCM-SHA256: TLS-DHE-RSA-WITH-AES-256- CBC-Sha: TLS-DHE-RSA-WITH-Camellia-256-CBC-Sha: TLS-DHE-RSA-WITH-AES-128-CBC-SHA: TLS-DHE-RSA-WITH-Camellia-128-CBC- Sha 

Direkten Verkehr

Das gesamte Verschlüsselungsmaterial ist aus dem Weg. Es ist Zeit, Routing zu machen. Sie müssen OpenVPN sagen, um den Umleitungsverkehr und DNS zu verarbeiten.

Beginnen Sie mit dem Umleiten des Verkehrs. Finden Sie die Linie unten und kontrollieren Sie sie.

Drücken Sie "Redirect-Gateway Def1 Bypass-DHCP"

Um DNS über OpenVPN zu leiten, müssen Sie ihm DNS -Optionen geben. Diese Zeilen sind bereits da und kommentiert auch. Sie überzeugen. Wenn Sie einen anderen DNS -Server verwenden möchten, können Sie die IP auch in diesen DNS ändern.

Drücken Sie "DHCP-Option DNS 208".67.222.222 "Push" DHCP-Option DNS 208.67.220.220 " 

Richten Sie einen OpenVPN -Benutzer ein

OpenVPN wird standardmäßig als Root ausgeführt. Das ist eine ziemlich schreckliche Idee. Wenn OpenVPN kompromittiert ist, verschraubt das gesamte System des gesamten Systems. Es gibt ein paar kommentierte Zeilen, die OpenVPN als "niemand" ausführen, aber "Niemand" führt normalerweise auch andere Dienste aus. Wenn Sie nicht möchten, dass OpenVPN Zugriff auf etwas anderes als openVPN hat, müssen Sie es als seinen eigenen nicht privilegierten Benutzer ausführen.

Erstellen Sie einen Systembenutzer, damit OpenVPN ausgeführt werden kann.

# adduser--System-Shell/usr/sbin/nologin-no-create-home openvpn 

Anschließend können Sie die Konfigurationsdatei bearbeiten, indem Sie die Zeilen, in denen OpenVPN als "niemand" ausgeführt wird.

Benutzer OpenVPN -Gruppe NOGROUP 


Senden Sie Protokolle an NULL

Es gibt zwei Optionen, wenn es um Protokolle geht, und beide haben ihre Verdienste. Sie können alles als normal protokollieren und die Protokolle zu einem späteren Zeitpunkt wieder einschalten lassen, oder Sie können paranoid und log /dev/null.

Durch Anmelden an /dev/null, Sie löschen jede Aufzeichnung der Kunden, die sich mit dem VPN verbinden und wohin sie gehen. Obwohl Sie Ihr VPN kontrollieren, möchten Sie diesen Weg möglicherweise gehen, wenn Sie versuchen, mehr Privatsphäre zu sein.

Wenn Sie Ihre Protokolle zerstören möchten, finden Sie die Status, Protokoll, Und Protokollanordnung Variablen und richten Sie sie alle auf /dev/null. Es sollte dem Beispiel unten ähnlich aussehen.

Status /dev /null… log /dev /null log-append /dev /null 

Das ist der letzte Teil der Konfiguration. Speichern Sie es und machen Sie sich bereit, Ihren Server auszuführen.

Führen Sie Ihren Server aus

Es gibt tatsächlich zwei Dienste, die Sie benötigen, um OpenVPN auf Debian Stretch zu verbessern. Starten Sie beide mit Systemd.

# SystemCTL Start OpenVPN # systemctl starten openvpn@server 

Stellen Sie sicher, dass sie ordnungsgemäß laufen.

# Systemctl Status OpenVPN*.Service 

Ermöglichen es ihnen, beide beim Start zu laufen.

# systemCTL aktivieren openVPN # systemCTL OpenVPN@Server aktivieren 

Sie haben jetzt einen laufenden VPN -Server auf Debian Stretch!

Was kommt als nächstes

Du bist hier. Du hast es geschafft! Debian führt jetzt OpenVPN hinter einer sicheren Firewall durch und es ist bereit, dass Kunden eine Verbindung herstellen.

Im nächsten Abschnitt richten Sie Ihren ersten Client ein und verbinden ihn an Ihren Server.

OpenVPN -Client

Konfigurieren und OpenVPN -Client, um eine Verbindung zum neu konfigurierten OpenVPN -Server herzustellen.

Dies ist der vierte und letzte Teil bei der Konfiguration eines OpenVPN -Servers auf Debian Stretch.

Nachdem Ihr Server ausgeführt wird, können Sie einen Client einrichten, um eine Verbindung dazu herzustellen. Dieser Client kann jedes Gerät sein, das OpenVPN unterstützt, was fast alles ist.

Es gibt etwas, das Sie auf dem Server zuerst an den Client geben müssen, aber danach geht es darum, diese Verbindung aufzubauen.

Clientschlüssel erstellen

Beginnen Sie mit einer Reihe von Clientschlüssel. Der Prozess ist fast identisch mit dem, den Sie verwendet haben, um die Serverschlüssel zu erstellen.

CD Stellen Sie die Quelle in das Verzeichnis der Zertifikatbehörde aus der Variablen -Datei ein und erstellen Sie die Schlüssel.

# CD/etc/openvpn/certs # Quelle ./vars # ./Build-Key FirstClient 

Sie können den Client -Schlüssel nennen, was auch immer Sie wählen,. Das Skript wird Ihnen erneut eine Reihe von Fragen stellen. Die Standardeinstellungen sollten für alles gut sein.

Client -Konfigurationsdatei

OpenVPN bietet Beispielclient -Konfigurationen zusätzlich zu den Server. KREATE ein neues Verzeichnis für Ihre Client -Konfiguration und kopieren Sie das Beispiel in.

# Mkdir/etc/openVPN/Clients # CP/usr/share/doc/openVPN/Beispiele/Beispiel-Config-Files/Client/Client.conf/etc/openvpn/client/client.ovpn 

Öffnen Sie die Datei in Ihrem Texteditor Ihrer Wahl.



Remote-Host

Finden Sie die Linie mit der Fernbedienung Variable. Stellen Sie es gleich der IP Ihres Servers ein.

Fernbedienung 192.168.1.5 1194 

Werden niemand

Es gibt kein Training mit den gesichtslosen Männern, die erforderlich sind. Finden Sie einfach eine Überzeugung, die Linien unten.

Benutzer Niemand Gruppennogroup 

Richten Sie Ihre Schlüssel ein

Sie müssen der Client -Konfiguration mitteilen, wo die Schlüssel zu finden ist, die sie auch benötigt. Suchen Sie die folgenden Zeilen und bearbeiten Sie sie so, dass Sie das übereinstimmen, was Sie eingerichtet haben.

ca ca.CRT Cert FirstClient.CRT Key FirstClient.Taste 

Stellen Sie sicher. Der Weg ist in Ordnung. Sie werden alles in das gleiche Verzeichnis setzen.

Finden und überzeugen Sie die Linie für HMAC.

tls-auth ta.Schlüssel 1 

Verschlüsselung angeben

Der Client muss wissen, welche Verschlüsselung der Server verwendet. Genau wie der Server müssen einige dieser Zeilen hinzugefügt werden.

Finde die Chiffre Variable. Es wird kommentiert. Überzeugen Sie es und fügen Sie die Chiffre hinzu, die Sie auf dem Server verwendet haben.

CIPHER AES-256-CBC 

Fügen Sie die Authentifizierungsdigest und die Cipher -Beschränkungen am Ende der Clientkonfiguration hinzu.

# Authentifizierung Digest Auth SHA512 # CIPHER-Beschränkungen tls-cipher tls-dhe-rsa-with-aes-256-gcm-sha384: tls-dhe-RSA -Aes-256-CBC-Sha: TLS-DHE-RSA-WITH-Camellia-256-CBC-Sha: TLS-DHE-RSA-WITH-128-CBC-SHA: TLS-DHE-RSA-WITH-Camellia -128-CBC-Sha 

Speichern Sie Ihre Konfiguration und beenden Sie.

Senden Sie dem Kunden einen Tarball

Sie müssen Ihre Client -Konfiguration und -tasten in einem Tarball packen und an den Client senden. Laden Sie alles in einen Tarball, um die Dinge am Kundenende zu vereinfachen.

# TAR CJF/ETC/OpenVPN/Clients/FirstClient.Teer.xz -c/etc/openvpn/certs/keys ca.CRT FirstClient.CRT FirstClient.Key Ta.Key -c/etc/openvpn/client/client.ovpn 

Jetzt können Sie diesen Tarball an Ihren Kunden übertragen, wie Sie es wählen,.

Verbinden

Unter der Annahme, dass Ihr Kunde eine Debianverteilung ist, ist der Verbindungsprozess sehr einfach. Installieren Sie OpenVPN, wie Sie es auf dem Server getan haben.

# APT OpenVPN installieren

Extrahieren Sie Ihren Tarball in die /etc/openVPN Verzeichnis, das die Installation erstellt hat.

# CD/etc/openvpn # tar xjf/path/to/firstClient.Teer.xz 

Möglicherweise müssen Sie umbenennen Klient.ovpn Zu OpenVPN.Conf. Wenn Sie dies tun.

Starten und aktivieren OpenVPN mit Systemd.

# Systemctl starten openVPN # systemctl aktivieren openVPN 

Abschluss

Sie haben einen funktionierenden VPN -Server und einen angeschlossenen Client! Sie können dieselbe Prozedur befolgen, die in diesem Leitfaden auch für Ihre anderen Kunden ausführlich beschrieben ist. Stellen Sie sicher, dass Sie für jeden separaten Schlüssel erstellen. Sie können jedoch dieselbe Konfigurationsdatei verwenden.

Vielleicht möchten Sie auch sicherstellen, dass alles richtig funktioniert. Gehen Sie zum DNS -Lecketest, um sicherzustellen.

Einführung in die Computer Vision mit der OpenCV -Bibliothek unter Linux
Zusammenfassung Der Zweck dieses Dokuments besteht darin, einem Leser zu helfen, mit der Computer Vision Library OpenCV unter Linux -System zu beginne...
Installation von mkvtoolnix -Matroska -Tools unter Ubuntu Linux
Dieser kurze Artikel beschreibt einfache Schritte, um die Installation einer plattformübergreifenden Tools für Matroska mkvtoolnix auf Ubuntu-System z...
VFAT Großbuchstaben kann den Verzeichnisnamen nicht erstellen
In diesem Artikel befasst sich eine Ausgabe des Namens der Erstellung des Oberzogenheitsverzeichnisses auf VFAT -Dateisystem unter Linux -System....