VPN-Verbindungen mit openvpn in elementary OS

Ich bin im Moment auf dem Tripp, die Alltagstauglichkeit der Linux-Distribution elementary für mich zu testen. Die auf ubuntu 18.04 LTE „Bionic Beaver“ basierende Distribution, momentan in der Version OS 5 „Juno“ vorliegend, kommt mir als eingefleischter MAC OS-Mausschubserin durch die optisch ansprechende und aufgeräumte Oberfläche sehr entgegen. Mac-User finden sich sofort zurecht.
Bis jetzt bin ich Alles in Allem sehr angetan, nutze das technisch etwas mit 256GB SSD & 16GB RAM gepimpte, gebraucht erworbene Fujitsu Lifebook E754 mit dem Linux OS seit etwa 1 Monat täglich und intensiv.
Das soll es aber schon zu elementary OS sein.

Worum geht es?

 Zu meinem Szenario gehört genauso der private Gebrauch zum Mailen und Surfen wie der Einsatz im Kundensupport mit Teamviewer, RDP-Verbindung …. und VPN.
Während der Teamviewer mit downloadbarem .deb-Paket ebenso schnell installiert ist, wie der im elementary-eigenen APP-Store vertretene, hervorragende RDP-Client Remmina, gestaltete sich die Herstellung einer VPN-Verbindung zum Kunden unerwartet holperig.

Was war das Problem?

Der Netzwerkmanager bietet den Import der openvpn-Konfigurationsdatei an, sofern man eine hat.
Ich hatte, da ich sie zuvor aus der Sophos UTM 9.1 Firewall-Appliance des Kunden heruntergeladen habe.

Download der openvpn-Konfiguratoinsdatei bei einer Sophos UTM – Appliance

Ein Klick auf das WLAN- oder Ethernet-Symbol in der Symbolleiste am oberen Bildschirmrand startet den Netzwerkmanager. Hier wird als zu bearbeitendes „Gerät“ die VPN-Verbindung anklickt. Ein Klick auf das kleine + startet den Dialog zur Neuanlage einer VPN-Verbindung. 

Dialog zum Einlesen der openvpn-Konfigurationsdatei im Netzwerkmanager

Darauf folgt sofort die Fehlermeldung, dass die ausgewählte Datei keinerlei VPN-Informationen enthalte.

Fehlermeldung beim Hochladen eine openvpn-Konfigurationsdatei

Da diese Datei sowohl vom Format (Text) als auch vom Inhalt völlig in Ordnung ist, ist die von der Meldung behauptete Ungeeignetheit eher fraglich. Vor Allem im Zusammenhang mit der zudem gemeldeten, fehlenden Import-Fähigkeit – seltsam …

Wie sieht die Lösung aus?

Nach einigem Suchen im Netz und erfolglosen Ausflügen auf die Kommandozeile zur Nachinstallation vermutet fehlender Teile des openvpn-Paketes habe ich mich auf die verdutzten Nachfragen der Linux-Nerds in den Foren eingelassen, warum die anfragenden User mit dem gleichen Problem wie ich, dieses denn unbedingt mit einer Konfigurationsdatei lösen wollen, schließlich ginge das doch ruck-zuck auch manuell.
Stimmt – wenn man weiß wie …

Keine Angst vor der Länge der Beschreibung und den vielen Screenshots – es ist wirklich einfach abzuarbeiten.

Auseinandernehmen der openvpn-Konfigurationsdatei

Zur Vorbereitung müssen die Zertifikate und der Public-Key aus der Konfigurationsdatei in eigene Dateien kopiert werden.
Dazu legt man im Dateimanager mit Rechtsklick 3 neue, leere Dateien an.

leere Dateien im Dateimanager anlegen

Diese benennt man jeweils in die folgenden Dateinamen um

  • ca.crt
  • certificate.crt
  • key.key
leere Dateien umbenennen

Danach stehen neben der openvpn-Konfigurationsdatei im Ordner die drei weiteren, noch leeren Textdateien.
Jetzt alle Dateien mit der Maus markieren und mit Rechtsklick im systemeigenen Editor Code öffnen.

Dateien im Editor Code öffnen

Im Editor Code sind die Dateien jetzt nebeneinander in Tabs geöffnet.

Im Editor sind alle Dateien nebeneinander in Tabs geöffnet

Nun kopieren wir nacheinander Teile der openvpn-Konfigurationsdatei in die anderen 3 Dateien.

CA-Zertifikat

Als erstes kopiert man das CA-Zertifikat heraus, da es in der Datei als Erstes nach dem Header erscheint.
Bitte die Trennzeilen zu Beginn und Ende unbedingt mitkopieren.

Kopieren des ca-certificate incl. Trennzeilen

Danach über den Reiter in die Textdatei ca.crt wechseln und den kopierten Zertifikatstext einfügen.

Den kopierten Zertifikatstext einfügen

Mit dem nächsten Zertifikat in der openvpn-Konfigurationsdatei verfährt man genauso und kopiert es über den Klick auf den entsprechenden Tab in die Datei certificate.crt.

Zuletzt kopiert man den Private Key, wieder unbedingt inklusive der Trennzeilen.

Private Key kopieren

Den kopierten Key fügt man nun in die noch verbliebene Datei key.key über einen Klick auf den entsprechenden Tab ein.

private Key in Datei key.key einfügen

Jetzt können alle Dateien durch Schließen des Editors abgespeichert werden. Das Speichern geschieht automatisch.

Die Dateien starten danach nicht mehr automatisch mit dem Code-Editor, falls noch einmal nachgeschaut werden soll. In der Datei key.key erkennt elementary jetzt aufgrund der Endung .key fälschlicherweise eine Datei des Apple-Präsentationsprogramms Keynote, die anderen identifiziert elementary richtigerweise als Zertifikate.

Neue VPN-Verbindung erstellen

Jetzt kann nach erfolgreicher Vorarbeit die neue VPN-Verbindung erstellt werden.
Dazu wieder in die Netzwerkeinstellungen wechseln und wie zuvor die Erstellung einer neue VPN-Verbindung durch Auswahl von VPN-Verbindung und Klick auf das PLUS-Zeichen initiieren.

Neue VPN-Verbindung in den Netzwerkeinstellungen erstellen

Dabei wird jetzt als Option „OpenVPN“ ausgewählt und danach auf den Button „Erstellen“ geklickt.

VPN-Einstellungen bearbeiten

Im Reiter VPN (1) werden nun einige Einträge wie oben gezeigt vorgenommen.
Als Erstes wird ein frei gewählter Name für die VPN-Verbindung eingetragen (2) .

Danach wird das Gateway eingetragen (3). Diese Angabe findet man im Header der openvpn-Konfigurationsdatei:

Gateway für die VPN-Verbindung wird der Konfigurationsdatei entnommen

Danach wird die Legitimierungsart „Passwort und Zertifikate (TLS)“ ausgewählt (4) und Benutzername sowie Passwort für die VPN-Verbindung eingetragen (5).

Anschließend wird das CA-Zertifikat – die zuvor erstellte Datei ca.crt – durch Klick auf das Dateiordner-Symbol gesucht und ausgewählt (6). 
Als Benutzerzertifikat wird die zuvor erstellte Datei certificate.crt (7) und als Geheimer Benutzerschlüssel die zuvor erstellte Datei key.key (8) ausgewählt. 
Das Passwort des Benutzer-Schlüssels (9) kann i.d.R. leer gelassen werden. Nun wird auf den Button „Erweitert“ (9a) geklickt.

Im danach erscheinenden Dialogfenster wird der Reiter Allgemein (10) angeklickt.

Erweiterte Einstellungen für die VPN-Verbindung

Der Gateway-Port (11) wird wiederum der openvpn-Konfigurationsdatei entnommen:

Gateway-Port für die VPN-Verbindung wird der Konfigurationsdatei entnommen

Danach die Optionen für LZO-Komprimierung (12) und TCP-Verbindung (13) Virtuellen Gerätetyp (14) ankreuzen, wie oben gezeigt.

Danach wird als Letztes der Reiter Sicherheit angeklick und unter Chiffre (15) die Verschlüsselungsstärke ausgewählt.

Verschlüsselungsstärke einstellen

Die für die Verbindung einzustellende Verschlüsselung wird ebenfalls der openvpn-Konfigurationsdatei entnommen:

Verschlüsselungsart für die VPN-Verbindung wird der Konfigurationsdatei entnommen

Jetzt darf der Einstellungsdialog für die VPN-Verbindung endlich mit Klick auf OK (16) und im letzten Fenster mit „Speichern“ verlassen werden.

Jetzt erscheint die gerade angelegte VPN-Verbindung (17)  in der Auflistung im Abschnitt VPN.


Mit einem Klick auf diese VPN-Verbindung wird sofort die Verbindung aufgebaut und – wenn man alles korrekt eingetragen hat – ein Benachritigungsfenster informiert über den erfolgreichen Verbindungsaufbau.

Gleichzeitig wird die VPN-Verbindung als bestehende Verbindung gelistet und ein roter Button zum Trennen der Verbindung steht zur Verfügung.

Läuft !!
Wenn dieser Post jemandem geholfen hat, würde ich mich über ein kurzes Dankeschön als Kommentar und ggfls. die Verlinkung in anderen Blogs oder Foren freuen !!
Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.