Buch „Linux in Action“.

Buch „Linux in Action“. Hallo, Khabro-Bewohner! In dem Buch beschreibt David Clinton 12 reale Projekte, darunter die Automatisierung Ihres Backup- und Wiederherstellungssystems, die Einrichtung einer persönlichen Datei-Cloud im Dropbox-Stil und die Erstellung Ihres eigenen MediaWiki-Servers. Anhand interessanter Fallstudien erfahren Sie mehr über Virtualisierung, Disaster Recovery, Sicherheit, Backup, DevOps und Systemfehlerbehebung. Jedes Kapitel endet mit einem Überblick über Best Practices, einem Glossar mit neuen Begriffen und Übungen.

Auszug „10.1. Einen OpenVPN-Tunnel erstellen“

Ich habe in diesem Buch bereits viel über Verschlüsselung gesprochen. SSH und SCP können Daten schützen, die über Remoteverbindungen übertragen werden (Kapitel 3), Dateiverschlüsselung kann Daten schützen, während sie auf dem Server gespeichert werden (Kapitel 8) und TLS/SSL-Zertifikate können Daten schützen, die zwischen Standorten und Client-Browsern übertragen werden (Kapitel 9). . Aber manchmal müssen Ihre Daten über eine größere Bandbreite an Verbindungen hinweg geschützt werden. Vielleicht arbeiten einige Ihrer Teammitglieder unterwegs, während sie über öffentliche Hotspots eine WLAN-Verbindung herstellen. Sie sollten auf keinen Fall davon ausgehen, dass alle derartigen Zugangspunkte sicher sind, aber Ihre Mitarbeiter benötigen eine Möglichkeit, sich mit Unternehmensressourcen zu verbinden – und hier kann ein VPN helfen.

Ein ordnungsgemäß konzipierter VPN-Tunnel stellt eine direkte Verbindung zwischen Remote-Clients und dem Server her und verbirgt so Daten, wenn diese über ein unsicheres Netzwerk übertragen werden. Na und? Sie haben bereits viele Tools gesehen, die dies mit Verschlüsselung bewerkstelligen können. Der wahre Wert eines VPN besteht darin, dass Sie durch das Öffnen eines Tunnels entfernte Netzwerke so verbinden können, als wären sie alle lokal. In gewisser Weise nutzen Sie einen Bypass.

Mithilfe dieses erweiterten Netzwerks können Administratoren ihre Arbeit auf ihren Servern von überall aus erledigen. Noch wichtiger ist jedoch, dass ein Unternehmen, dessen Ressourcen auf mehrere Standorte verteilt sind, diese für alle Gruppen sichtbar und zugänglich machen kann, die sie benötigen, wo auch immer sie sich befinden (Abbildung 10.1).

Der Tunnel selbst garantiert keine Sicherheit. Allerdings kann einer der Verschlüsselungsstandards in die Netzwerkstruktur integriert werden, was das Sicherheitsniveau deutlich erhöht. Mit dem Open-Source-Paket OpenVPN erstellte Tunnel verwenden dieselbe TLS/SSL-Verschlüsselung, über die Sie bereits gelesen haben. OpenVPN ist nicht die einzige verfügbare Tunneloption, aber eine der bekanntesten. Es gilt als etwas schneller und sicherer als das alternative Layer-2-Tunnelprotokoll, das IPsec-Verschlüsselung verwendet.

Möchten Sie, dass alle Mitglieder Ihres Teams unterwegs oder bei der Arbeit in verschiedenen Gebäuden sicher miteinander kommunizieren? Dazu müssen Sie einen OpenVPN-Server erstellen, um die gemeinsame Nutzung von Anwendungen und den Zugriff auf die lokale Netzwerkumgebung des Servers zu ermöglichen. Damit dies funktioniert, müssen Sie lediglich zwei virtuelle Maschinen oder zwei Container ausführen: eine als Server/Host und eine als Client. Der Aufbau eines VPN ist kein einfacher Vorgang, daher lohnt es sich wahrscheinlich, sich ein paar Minuten Zeit zu nehmen, um das Gesamtbild im Auge zu behalten.

Buch „Linux in Action“.

10.1.1. OpenVPN-Serverkonfiguration

Bevor Sie beginnen, gebe ich Ihnen einige nützliche Ratschläge. Wenn Sie es selbst tun (und ich empfehle Ihnen dringend, dies zu tun), werden Sie wahrscheinlich mit mehreren geöffneten Terminalfenstern auf Ihrem Desktop arbeiten, die jeweils mit einem anderen Computer verbunden sind. Es besteht die Gefahr, dass Sie irgendwann den falschen Befehl in das Fenster eingeben. Um dies zu vermeiden, können Sie den Befehl „hostname“ verwenden, um den in der Befehlszeile angezeigten Computernamen so zu ändern, dass er Ihnen eindeutig sagt, wo Sie sich befinden. Sobald Sie dies getan haben, müssen Sie sich vom Server abmelden und erneut anmelden, damit die neuen Einstellungen wirksam werden. So sieht es aus:

Buch „Linux in Action“.
Indem Sie diesem Ansatz folgen und jeder Maschine, mit der Sie arbeiten, entsprechende Namen geben, können Sie leicht den Überblick behalten, wo Sie sich befinden.

Nach der Verwendung des Hostnamens kann es bei der Ausführung nachfolgender Befehle zu lästigen Meldungen kommen, dass der OpenVPN-Server-Host nicht aufgelöst werden kann. Das Aktualisieren der Datei /etc/hosts mit dem entsprechenden neuen Hostnamen sollte das Problem beheben.

Bereiten Sie Ihren Server für OpenVPN vor

Um OpenVPN auf Ihrem Server zu installieren, benötigen Sie zwei Pakete: openvpn und easy-rsa (zur Verwaltung des Prozesses zur Generierung des Verschlüsselungsschlüssels). CentOS-Benutzer sollten bei Bedarf zunächst das epel-release-Repository installieren, wie Sie es in Kapitel 2 getan haben. Um den Zugriff auf die Serveranwendung testen zu können, können Sie auch den Apache-Webserver installieren (Apache2 unter Ubuntu und httpd unter CentOS).

Während Sie Ihren Server einrichten, empfehle ich die Aktivierung einer Firewall, die alle Ports außer 22 (SSH) und 1194 (Standardport von OpenVPN) blockiert. Dieses Beispiel veranschaulicht, wie ufw unter Ubuntu funktionieren würde, aber Sie erinnern sich sicher noch an das CentOS-Firewalld-Programm aus Kapitel 9:

# ufw enable
# ufw allow 22
# ufw allow 1194

Um internes Routing zwischen Netzwerkschnittstellen auf dem Server zu aktivieren, müssen Sie eine Zeile (net.ipv4.ip_forward = 1) in der Datei /etc/sysctl.conf auskommentieren. Dadurch können Remote-Clients nach Bedarf umgeleitet werden, sobald sie verbunden sind. Damit die neue Option funktioniert, führen Sie sysctl -p aus:

# nano /etc/sysctl.conf
# sysctl -p

Ihre Serverumgebung ist jetzt vollständig konfiguriert, aber bevor Sie bereit sind, müssen Sie noch etwas tun: Sie müssen die folgenden Schritte ausführen (wir werden sie im Folgenden ausführlich behandeln).

  1. Erstellen Sie mithilfe der im Paket „easy-rsa“ bereitgestellten Skripts einen Satz von PKI-Verschlüsselungsschlüsseln (Public Key Infrastructure) auf dem Server. Im Wesentlichen fungiert der OpenVPN-Server auch als seine eigene Zertifizierungsstelle (CA).
  2. Bereiten Sie entsprechende Schlüssel für den Kunden vor
  3. Konfigurieren Sie die Datei server.conf für den Server
  4. Richten Sie Ihren OpenVPN-Client ein
  5. Überprüfen Sie Ihr VPN

Generieren von Verschlüsselungsschlüsseln

Der Einfachheit halber können Sie Ihre Schlüsselinfrastruktur auf demselben Computer einrichten, auf dem der OpenVPN-Server ausgeführt wird. Best Practices für die Sicherheit empfehlen jedoch in der Regel die Verwendung eines separaten CA-Servers für Produktionsbereitstellungen. Der Prozess der Generierung und Verteilung von Verschlüsselungsschlüsselressourcen zur Verwendung in OpenVPN ist in Abb. dargestellt. 10.2.

Buch „Linux in Action“.
Bei der Installation von OpenVPN wurde das Verzeichnis /etc/openvpn/ automatisch erstellt, aber es ist noch nichts darin. Die Pakete openvpn und easy-rsa enthalten Beispielvorlagendateien, die Sie als Grundlage für Ihre Konfiguration verwenden können. Um den Zertifizierungsprozess zu starten, kopieren Sie das easy-rsa-Vorlagenverzeichnis von /usr/share/ nach /etc/openvpn und wechseln Sie in das Verzeichnis easy-rsa/:

# cp -r /usr/share/easy-rsa/ /etc/openvpn
$ cd /etc/openvpn/easy-rsa

Das easy-rsa-Verzeichnis enthält nun eine ganze Reihe von Skripten. In der Tabelle 10.1 listet die Werkzeuge auf, die Sie zum Erstellen von Schlüsseln verwenden werden.

Buch „Linux in Action“.

Für die oben genannten Vorgänge sind Root-Rechte erforderlich. Sie müssen sich also über sudo su als Root anmelden.

Die erste Datei, mit der Sie arbeiten, heißt vars und enthält die Umgebungsvariablen, die easy-rsa beim Generieren von Schlüsseln verwendet. Sie müssen die Datei bearbeiten, um Ihre eigenen Werte anstelle der bereits vorhandenen Standardwerte zu verwenden. So wird meine Datei aussehen (Listing 10.1).

Auflistung 10.1. Hauptfragmente der Datei /etc/openvpn/easy-rsa/vars

export KEY_COUNTRY="CA"
export KEY_PROVINCE="ON"
export KEY_CITY="Toronto"
export KEY_ORG="Bootstrap IT"
export KEY_EMAIL="[email protected]"
export KEY_OU="IT"

Wenn Sie die vars-Datei ausführen, werden ihre Werte an die Shell-Umgebung übergeben, wo sie in den Inhalt Ihrer neuen Schlüssel aufgenommen werden. Warum funktioniert der Sudo-Befehl allein nicht? Denn im ersten Schritt bearbeiten wir das Skript namens vars und wenden es dann an. Anwenden und bedeutet, dass die vars-Datei ihre Werte an die Shell-Umgebung übergibt, wo sie in den Inhalt Ihrer neuen Schlüssel aufgenommen werden.

Stellen Sie sicher, dass Sie die Datei mit einer neuen Shell erneut ausführen, um den noch nicht abgeschlossenen Vorgang abzuschließen. Wenn dies erledigt ist, werden Sie vom Skript aufgefordert, ein weiteres Skript, clean-all, auszuführen, um sämtliche Inhalte im Verzeichnis /etc/openvpn/easy-rsa/keys/ zu entfernen:

Buch „Linux in Action“.
Der nächste Schritt besteht natürlich darin, das Skript „clean-all“ auszuführen, gefolgt von „build-ca“, das das Skript „pkitool“ verwendet, um das Stammzertifikat zu erstellen. Sie werden aufgefordert, die von vars bereitgestellten Identitätseinstellungen zu bestätigen:

# ./clean-all
# ./build-ca
Generating a 2048 bit RSA private key

Als nächstes kommt das Build-Key-Server-Skript. Da dasselbe pkitool-Skript zusammen mit einem neuen Stammzertifikat verwendet wird, werden Ihnen zur Bestätigung der Erstellung des Schlüsselpaars dieselben Fragen angezeigt. Die Schlüssel werden basierend auf den von Ihnen übergebenen Argumenten benannt. Sofern Sie nicht mehrere VPNs auf diesem Computer ausführen, handelt es sich normalerweise um Server, wie im Beispiel:

# ./build-key-server server
[...]
Certificate is to be certified until Aug 15 23:52:34 2027 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

OpenVPN verwendet vom Diffie-Hellman-Algorithmus generierte Parameter (mithilfe von build-dh), um die Authentifizierung für neue Verbindungen auszuhandeln. Die hier erstellte Datei muss nicht geheim sein, sondern muss mit dem build-dh-Skript für die aktuell aktiven RSA-Schlüssel generiert werden. Wenn Sie in Zukunft neue RSA-Schlüssel erstellen, müssen Sie auch die Diffie-Hellman-Datei aktualisieren:

# ./build-dh

Ihre serverseitigen Schlüssel landen nun im Verzeichnis /etc/openvpn/easy-rsa/keys/, aber OpenVPN weiß das nicht. Standardmäßig sucht OpenVPN nach Schlüsseln in /etc/openvpn/, also kopieren Sie sie:

# cp /etc/openvpn/easy-rsa/keys/server* /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/dh2048.pem /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn

Vorbereiten von Client-Verschlüsselungsschlüsseln

Wie Sie bereits gesehen haben, verwendet die TLS-Verschlüsselung Paare übereinstimmender Schlüssel: einen auf dem Server und einen auf dem Remote-Client. Das bedeutet, dass Sie Client-Schlüssel benötigen. Unser alter Freund pkitool ist genau das, was Sie dafür brauchen. Wenn wir in diesem Beispiel das Programm im Verzeichnis /etc/openvpn/easy-rsa/ ausführen, übergeben wir ihm das Client-Argument, um Dateien mit den Namen client.crt und client.key zu generieren:

# ./pkitool client

Die beiden Client-Dateien sollten nun zusammen mit der ursprünglichen ca.crt-Datei, die sich noch im Verzeichnis „keys/“ befindet, sicher auf Ihren Client übertragen werden. Aufgrund ihrer Eigentums- und Zugriffsrechte ist dies möglicherweise nicht so einfach. Der einfachste Ansatz besteht darin, den Inhalt der Quelldatei (und nichts außer diesem Inhalt) manuell in ein Terminal zu kopieren, das auf dem Desktop Ihres PCs ausgeführt wird (wählen Sie den Text aus, klicken Sie mit der rechten Maustaste darauf und wählen Sie im Menü „Kopieren“). Fügen Sie diese dann in eine neue Datei mit demselben Namen ein, die Sie in einem zweiten Terminal erstellen, das mit Ihrem Client verbunden ist.

Aber jeder kann ausschneiden und einfügen. Denken Sie stattdessen wie ein Administrator, da Sie nicht immer Zugriff auf die GUI haben, in der Ausschneiden/Einfügen-Vorgänge möglich sind. Kopieren Sie die Dateien in das Home-Verzeichnis Ihres Benutzers (damit der Remote-SCP-Vorgang darauf zugreifen kann) und verwenden Sie dann chown, um den Besitz der Dateien von Root auf einen normalen Nicht-Root-Benutzer zu ändern, damit die Remote-SCP-Aktion ausgeführt werden kann. Stellen Sie sicher, dass alle Ihre Dateien derzeit installiert und zugänglich sind. Sie werden sie etwas später in den Client verschieben:

# cp /etc/openvpn/easy-rsa/keys/client.key /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/ca.crt /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/client.crt /home/ubuntu/
# chown ubuntu:ubuntu /home/ubuntu/client.key
# chown ubuntu:ubuntu /home/ubuntu/client.crt
# chown ubuntu:ubuntu /home/ubuntu/ca.crt

Nachdem Sie über einen vollständigen Satz an Verschlüsselungsschlüsseln verfügen, müssen Sie dem Server mitteilen, wie Sie das VPN erstellen möchten. Dies erfolgt über die Datei server.conf.

Reduzierung der Anzahl der Tastenanschläge

Wird zu viel getippt? Durch die Erweiterung mit Klammern können diese sechs Befehle auf zwei reduziert werden. Ich bin sicher, dass Sie diese beiden Beispiele studieren und verstehen können, was vor sich geht. Noch wichtiger ist, dass Sie verstehen, wie Sie diese Prinzipien auf Operationen anwenden können, an denen Dutzende oder sogar Hunderte von Elementen beteiligt sind:

# cp /etc/openvpn/easy-rsa/keys/{ca.crt,client.{key,crt}} /home/ubuntu/
# chown ubuntu:ubuntu /home/ubuntu/{ca.crt,client.{key,crt}}

Einrichten der server.conf-Datei

Wie können Sie wissen, wie die Datei server.conf aussehen sollte? Merken Sie sich die Easy-RSA-Verzeichnisvorlage, die Sie aus /usr/share/? kopiert haben. Bei der Installation von OpenVPN blieb Ihnen eine komprimierte Konfigurationsvorlagendatei übrig, die Sie nach /etc/openvpn/ kopieren können. Ich baue darauf auf, dass die Vorlage archiviert ist und stelle Ihnen ein nützliches Tool vor: zcat.

Sie wissen bereits, wie man den Textinhalt einer Datei mit dem Befehl cat auf dem Bildschirm ausgibt, aber was ist, wenn die Datei mit gzip komprimiert wird? Sie können die Datei jederzeit entpacken und dann wird cat sie gerne ausgeben, aber das sind ein oder zwei Schritte mehr als nötig. Stattdessen können Sie, wie Sie vielleicht schon vermutet haben, den Befehl zcat ausführen, um den entpackten Text in einem Schritt in den Speicher zu laden. Im folgenden Beispiel leiten Sie den Text nicht auf dem Bildschirm aus, sondern leiten ihn in eine neue Datei namens server.conf um:

# zcat 
  /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz 
  > /etc/openvpn/server.conf
$ cd /etc/openvpn

Lassen Sie uns die umfangreiche und hilfreiche Dokumentation, die der Datei beiliegt, beiseite legen und sehen, wie sie aussehen könnte, wenn Sie mit der Bearbeitung fertig sind. Beachten Sie, dass das Semikolon (;) OpenVPN anweist, die nächste Zeile nicht zu lesen oder auszuführen (Listing 10.2).

Buch „Linux in Action“.
Lassen Sie uns einige dieser Einstellungen durchgehen.

  • Standardmäßig läuft OpenVPN auf Port 1194. Sie können dies ändern, um beispielsweise Ihre Aktivitäten weiter zu verbergen oder Konflikte mit anderen aktiven Tunneln zu vermeiden. Da 1194 nur eine minimale Abstimmung mit den Kunden erfordert, ist es am besten, dies auf diese Weise zu tun.
  • OpenVPN verwendet zur Datenübertragung entweder das Transmission Control Protocol (TCP) oder das User Datagram Protocol (UDP). TCP ist zwar etwas langsamer, aber zuverlässiger und wird von Anwendungen, die an beiden Enden des Tunnels ausgeführt werden, eher verstanden.
  • Sie können dev tun angeben, wenn Sie einen einfacheren, effizienteren IP-Tunnel erstellen möchten, der Dateninhalte und nichts anderes überträgt. Wenn Sie hingegen mehrere Netzwerkschnittstellen (und die von ihnen repräsentierten Netzwerke) verbinden und eine Ethernet-Brücke erstellen müssen, müssen Sie „dev tap“ wählen. Wenn Sie nicht verstehen, was das alles bedeutet, verwenden Sie das Argument tun.
  • Die nächsten vier Zeilen geben OpenVPN die Namen der drei Authentifizierungsdateien auf dem Server und der zuvor erstellten dh2048-Optionsdatei an.
  • Die Serverzeile legt den Bereich und die Subnetzmaske fest, die zum Zuweisen von IP-Adressen an Clients bei der Anmeldung verwendet werden.
  • Der optionale Push-Parameter „route 10.0.3.0 255.255.255.0“ ermöglicht Remote-Clients den Zugriff auf private Subnetze hinter dem Server. Damit dies funktioniert, muss auch das Netzwerk auf dem Server selbst eingerichtet werden, damit das private Subnetz über das OpenVPN-Subnetz (10.8.0.0) Bescheid weiß.
  • Mit der Port-Share-Leitung „localhost 80“ können Sie den Client-Verkehr, der über Port 1194 kommt, an einen lokalen Webserver umleiten, der Port 80 überwacht. (Dies ist nützlich, wenn Sie den Webserver zum Testen Ihres VPN verwenden möchten.) Dies funktioniert nur dann, wenn das TCP-Protokoll ausgewählt ist.
  • Die Benutzer-Nobody- und Group-Nogroup-Zeilen müssen durch Entfernen der Semikolons (;) aktiviert werden. Durch das Erzwingen der Ausführung von Remote-Clients als Nobody und Nogroup wird sichergestellt, dass Sitzungen auf dem Server nicht privilegiert sind.
  • log gibt an, dass aktuelle Protokolleinträge bei jedem Start von OpenVPN alte Einträge überschreiben, wohingegen log-append neue Einträge an die vorhandene Protokolldatei anhängt. Die Datei openvpn.log selbst wird in das Verzeichnis /etc/openvpn/ geschrieben.

Darüber hinaus wird der Konfigurationsdatei häufig auch ein Client-zu-Client-Wert hinzugefügt, sodass sich neben dem OpenVPN-Server auch mehrere Clients gegenseitig sehen können. Wenn Sie mit Ihrer Konfiguration zufrieden sind, können Sie den OpenVPN-Server starten:

# systemctl start openvpn

Aufgrund der sich ändernden Natur der Beziehung zwischen OpenVPN und systemd kann manchmal die folgende Syntax erforderlich sein, um einen Dienst zu starten: systemctl start openvpn@server.

Wenn Sie ip addr ausführen, um die Netzwerkschnittstellen Ihres Servers aufzulisten, sollte nun ein Link zu einer neuen Schnittstelle namens tun0 ausgegeben werden. OpenVPN erstellt es, um eingehende Kunden zu bedienen:

$ ip addr
[...]
4: tun0: mtu 1500 qdisc [...]
      link/none
      inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
          valid_lft forever preferred_lft forever

Möglicherweise müssen Sie den Server neu starten, bevor alles ordnungsgemäß funktioniert. Der nächste Halt ist der Client-Computer.

10.1.2. Konfigurieren des OpenVPN-Clients

Traditionell werden Tunnel mit mindestens zwei Ausgängen gebaut (sonst würden wir sie Höhlen nennen). Ein ordnungsgemäß konfiguriertes OpenVPN auf dem Server leitet den Datenverkehr einerseits in den Tunnel hinein und aus diesem heraus. Sie benötigen jedoch auch Software, die auf der Clientseite, also am anderen Ende des Tunnels, ausgeführt wird.

In diesem Abschnitt werde ich mich auf die manuelle Einrichtung eines Linux-Computertyps konzentrieren, der als OpenVPN-Client fungiert. Aber das ist nicht die einzige Möglichkeit, die diese Möglichkeit bietet. OpenVPN unterstützt Client-Anwendungen, die auf Desktops und Laptops mit Windows oder macOS sowie auf Android- und iOS-Smartphones und -Tablets installiert und verwendet werden können. Weitere Informationen finden Sie unter openvpn.net.

Das OpenVPN-Paket muss auf dem Client-Rechner so installiert werden, wie es auf dem Server installiert wurde, obwohl easy-rsa hier nicht erforderlich ist, da die von Ihnen verwendeten Schlüssel bereits vorhanden sind. Sie müssen die Vorlagendatei „client.conf“ in das Verzeichnis /etc/openvpn/ kopieren, das Sie gerade erstellt haben. Dieses Mal wird die Datei nicht gezippt, sodass der reguläre cp-Befehl die Aufgabe problemlos erledigt:

# apt install openvpn
# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf 
  /etc/openvpn/

Die meisten Einstellungen in Ihrer client.conf-Datei sind ziemlich selbsterklärend: Sie sollten mit den Werten auf dem Server übereinstimmen. Wie Sie der folgenden Beispieldatei entnehmen können, lautet der eindeutige Parameter remote 192.168.1.23 1194, der dem Client die IP-Adresse des Servers mitteilt. Stellen Sie erneut sicher, dass dies Ihre Serveradresse ist. Sie sollten den Client-Computer außerdem dazu zwingen, die Authentizität des Serverzertifikats zu überprüfen, um einen möglichen Man-in-the-Middle-Angriff zu verhindern. Eine Möglichkeit hierfür ist das Hinzufügen der Zeile remote-cert-tls server (Listing 10.3).

Buch „Linux in Action“.
Sie können nun in das Verzeichnis /etc/openvpn/ gehen und die Zertifizierungsschlüssel vom Server extrahieren. Ersetzen Sie die Server-IP-Adresse oder den Domänennamen im Beispiel durch Ihre Werte:

Buch „Linux in Action“.
Es wird wahrscheinlich nichts Aufregendes passieren, bis Sie OpenVPN auf dem Client ausführen. Da Sie einige Argumente übergeben müssen, tun Sie dies über die Befehlszeile. Das Argument --tls-client teilt OpenVPN mit, dass Sie als Client fungieren und eine Verbindung über TLS-Verschlüsselung herstellen, und --config verweist auf Ihre Konfigurationsdatei:

# openvpn --tls-client --config /etc/openvpn/client.conf

Lesen Sie die Befehlsausgabe sorgfältig durch, um sicherzustellen, dass Sie richtig verbunden sind. Wenn beim ersten Mal etwas schief geht, kann dies an einer Nichtübereinstimmung der Einstellungen zwischen den Server- und Client-Konfigurationsdateien oder an einem Problem mit der Netzwerkverbindung/Firewall liegen. Hier finden Sie einige Tipps zur Fehlerbehebung.

  • Lesen Sie die Ausgabe des OpenVPN-Vorgangs auf dem Client sorgfältig durch. Oftmals sind darin wertvolle Ratschläge enthalten, was genau nicht getan werden kann und warum.
  • Überprüfen Sie die Fehlermeldungen in den Dateien openvpn.log und openvpn-status.log im Verzeichnis /etc/openvpn/ auf dem Server.
  • Überprüfen Sie die Systemprotokolle auf dem Server und Client auf OpenVPN-bezogene und zeitgesteuerte Nachrichten. (journalctl -ce zeigt die neuesten Einträge an.)
  • Stellen Sie sicher, dass zwischen dem Server und dem Client eine aktive Netzwerkverbindung besteht (mehr dazu in Kapitel 14).

Über den Autor

David Clinton - Systemadministrator, Lehrer und Autor. Er hat Lehrmaterialien für viele wichtige technische Disziplinen verwaltet, darüber geschrieben und Lehrmaterialien erstellt, darunter Linux-Systeme, Cloud Computing (insbesondere AWS) und Containertechnologien wie Docker. Er schrieb das Buch „Learn Amazon Web Services in a Month of Lunches“ (Manning, 2017). Viele seiner Videoschulungen finden Sie auf Pluralsight.com, und Links zu seinen anderen Büchern (zu Linux-Administration und Servervirtualisierung) finden Sie unter Bootstrap-it.com.

» Weitere Details zum Buch finden Sie unter Website des Verlags
» Inhaltsverzeichnis
» Auszug

Für Khabrozhiteley 25 % Rabatt mit Gutschein - Linux
Nach Bezahlung der Papierversion des Buches wird ein elektronisches Buch per E-Mail verschickt.

Source: habr.com

Kommentar hinzufügen