Linux

Linux Einstellungen

Bei Problemen lesen Sie bitte auch unsere FAQ zu OpenVPN.

Getestet unter Debian/Ubuntu und Fedora.

Sie können OpenVPN sowohl aus der Kommandozeile installieren und ausführen als auch über eine grafische Benutzeroberfläche. In beiden Fällen sollten Sie sich zuerst die passende Konfigurationsdatei für Ihr System herunterladen.

Konfigurationsdatei kit.ovpn für den Standard-VPN-Zugang des KIT herunterladen (durch Rechtsklick auf den Dateinamen und dann "speichern unter"):

  • Debian/Ubuntu/Mint: kit.ovpn                                                         (Konfiguration für VPN2VLAN: kit-vpn2vlan.ovpn)
  • Fedora: kit.ovpn                                                                              (Konfiguration für VPN2VLAN: kit-vpn2vlan.ovpn)
  • andere Distributionen: verwenden Sie die Konfiguration für Fedora und passen ggf. die Zeile "ca" an.

Kommandozeile:

  1. Installieren des VPN Clients:

    Die einfachste Möglichkeit den OpenVPN Client zu installieren ist das Paketmanagment System der jeweiligen Linux Distribution zu verwenden. Geben Sie eines der folgenden Befehle mit Administratorrechten (root) ein:

    • Ubuntu/Debian: (sudo) apt-get install openvpn
    • Fedora: (sudo) yum install openvpn
  2. Herunterladen der passenden Konfigurationsdatei.

    Suchen Sie sich oben die zu Ihrem System passende Konfigurationsdatei heraus. Rechtsklicken Sie auf die passende Konfigurationsdatei und wählen Sie "Ziel speichern unter" aus. Speichern Sie die Datei in einen beliebigen Ordner (z.B. legen Sie sich einen neuen Ordner in ihrem Benutzerordner an z.B. "VPN").

  3. Starten des OpenVPN Clients mit der heruntergeladenen Konfigurationsdatei:

    Die einfachste Möglichkeit den OpenVPN Client zu installieren ist das --config Argument zu benutzen, um den Ort der Konfigurationsdatei zu spezifizieren. Führen Sie folgenden Befehl aus:

    • sudo openvpn --config /pfad/zu/kit.ovpn
      (wobei /pfad/zu die Datei ist in der die Konfigurationsdatei gespeichert wurde z.B. ~/VPN/)
    Sie werden aufgefordert Ihren Benutzernamen einzugeben. Melden Sie sich mit ihrem KIT-Account an. Also geben Sie als Benutzernamen ihr Mitarbeiter-/Studentenkürzel ein (z.B. ab123 bzw. uxxxx) und drücken "Enter". Geben Sie nun das dazugehörige Passwort ein und drücken wieder "Enter". Die VPN-Verbindung wird aufgebaut. Wollen Sie die Verbindung wieder trennen, drücken Sie "Strg-C".

Verwendung der KIT-Resolver für die DNS-Auflösung

Es gibt am KIT ein paar DNS-Namen, die nur mit den KIT-Resolvern aufgelöst werden können. Der OpenVPN-Server pusht diese an den Client. Damit diese aber auch tatsächlich konfiguriert werden, müssen entsprechende Mechanismen eingerichtet sein, die im folgenden beschrieben werden.

Debian/Ubuntu/Mint: resolvconf (ohne systemd-resolved)

Unter Debian/Ubuntu/Mint gibt es das Paket resolvconf. In den Konfigurationsdateien für Debian/Ubuntu/Mint stehen bereits die Kommandos, die mit Hilfe dieses Tools die KIT-Resolver auf dem System einrichten.

Dies funktioniert allerdings nur dann, wenn auf dem System nicht systemd-resolved aktiviert ist. Dies ist ab Ubuntu 16.10 der Fall. Wie hier zu verfahren ist, steht im nächsten Abschnitt. Falls Sie ihr Betriebssystem von älteren Versionen aus aktualisiert haben, kann es sein, dass systemd-resolved nicht aktiviert wurde.

Falls bei Ihnen systemd-resolved nicht aktiviert ist, installieren Sie ggf. das Paket resolvconf, falls es nicht bereits installiert ist.

systemd-resolved

Ab Ubuntu 16.10 und Fedora 33 ist standardmäßig systemd-resolved aktiviert. Man kann den Service aber natürlich auch nachträglich aktivieren.

In diesem Fall können Sie das Skript update-systemd-resolved zur Aktualisierung der DNS-Resolver vewenden:
https://github.com/jonathanio/update-systemd-resolved

Der Aufruf von OpenVPN sieht dann so aus:
sudo openvpn --config kit.ovpn --config /usr/bin/update-systemd-resolved.conf

Wobei die zweite OpenVPN-Konfigurationsdatei /usr/bin/update-systemd-resolved.conf folgenden Inhalt hat:

script-security 2
setenv PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
up /usr/bin/update-systemd-resolved
up-restart
down /usr/bin/update-systemd-resolved
down-pre

Weitere Informationen zum Starten des OpenVPN-Clients auf der Kommandozeile gibt es hier.

Über eine grafische Benutzeroberfläche (NetworkManager)

Es gibt ein OpenVPN Plugin für NetworkManager. Wie Sie dies installieren finden Sie im Folgenden unter dem jeweiligen System.

Achtung: Das OpenVPN-Plugin für NetworkManager (network-manager-openvpn) wird in der Version >= 1.2.10 benötigt. Unter Debian gibt es ab Version 1.2.6 einen Patch, mit dem es auch funktioniert (ab Debian 9 enthalten). Bei Ubuntu scheint dieser Patch nicht vorhanden zu sein, so dass mindestens Ubuntu 17.10 benötigt wird. In älteren Versionen wird die Option "comp-lzo no" nicht verstanden und comp-lzo wird gar nicht gesetzt, was nicht mit den Server-Einstellungen harmoniert. Der Tunnel wird zwar hergestellt, aber dann laufen keine Daten darüber. Wenn Ihre Distribution nur eine ältere Version des NetworkManager-Plugins beinhaltet, nutzen Sie die Kommandozeile (oder kompilieren Sie sich die aktuelle Version selbst).

Debian/Ubuntu mit GNOME

Es reicht aus, das Paket network-manager-openvpn-gnome zu installieren, der Rest wird dann mitinstalliert. Das benötigte Zertifikat der CA "T-TeleSec GlobalRoot Class 2" ist im Paket ca-certificates enthalten. Damit die Resolver-Konfiguration aktualisiert wird, muss das Paket resolvconf installiert sein. Die obige Konfigurationsdatei kann dann in den NetworkManager importiert werden. Klicken Sie auf "VPN-Verbindung hinzufügen" und dann scrollen Sie im Auswahl-Menü ganz herunter bis zu "Konfiguration importieren".

Fedora mit GNOME 3

Es reicht aus, das Paket NetworkManager-openvpn-gnome zu installieren, der Rest wird dann mitinstalliert. Das benötigte Zertifikat der CA "T-TeleSec GlobalRoot Class 2" ist im Paket ca-certificates enthalten. Die obige Konfigurationsdatei kann dann in den NetworkManager importiert werden:

  • NetzwerkManager starten
  • Netzwerkeinstellungen
  • "+" (für hinzufügen)
  • VPN
  • "aus Datei importieren"
  • vorher gespeicherte Konfigurationsdatei auswählen
  • Benutzername und Passwort eintragen
  • abspeichern
  • Dann Reboot.

Um das VPN zu starten, auf das NetworkManager Icon klicken und "kit" von "0" auf "1" stellen (oder in anderen Systemen von "aus" auf "ein").

Hinweis bzgl. Split-Tunneling

Bei Verwendung von Split-Tunneling muss darüber hinaus noch etwas extra im NetworkManager gesetzt werden: sowohl unter IPv4 Settings als auch unter IPv6 Settings → Routes... dort den Haken setzen bei "Use this connection only for resources on its network".

Hinweis bzgl. GNOME 3

Mit GNOME 3 (gnome-shell) bietet das Frontend des NetworkManagers manchmal den Import der Konfigurationsdatei nicht an. Alternativ kann hier aber das alte Frontend nm-connection-editor gestartet werden, mit dem die Konfigurationsdatei importiert werden kann. Danach erscheint die VPN-Verbindung dann auch im GNOME 3 Network-Applet im System-Tray.