VPN mit OpenConnect unter Linux
Vorbemerkung
Hilfestellungen zur Problembehandlung finden sie weiter unten.
Allgemeiner Hinweis
Einige zugangsbeschränkte Dienste der Universität bzw. der Staats- und Universitätsbibliothek können Sie nur nutzen, wenn Sie sich auf dem Campus befinden, so dass das von Ihnen genutzte Gerät eine Adresse aus dem der Universität zugeteilten Bereich hat.
Um von zuhause oder unterwegs auf diese Dienste zugreifen, müssen Sie einmalig auf Ihrem Gerät eine sogenannte VPN-Client-Software (Cisco Secure Client oder OpenConnect) installieren und vor jedem Zugriff auf die zugangsbeschränkten Dienste mit dem VPN-Client eine Verbindung zum Campus aufbauen. Dadurch befinden Sie sich "virtuell" auf dem Campus und können die gewohnten Dienste nutzen.
Beachten sie dabei die unterschiedlichen Tunnelarten und achten sie darauf den richtigen Tunnel zu wählen.
Hinweise zu OpenConnect und Betriebssystemen
Eine Verbindung zum Uni-VPN mit OpenConnect sollte unter bestimmten Bedingungen möglich sein. Allerdings können wir bei den vielen verschiedenen Varianten von Linux Betriebssystemen nicht garantieren das es immer funktioniert. Sollte OpenConnect bei Ihnen nicht funktionieren haben sie immer die Möglichkeit den offiziellen Client von Cisco (Cisco Secure Client) zu installieren. Eine Anleitung dazu finden Sie im Bereich Anleitungen.
Ihr Linux-Betriebssystem muss mindestens TLS in Version 1.2 unterstützen und über systemd (ab systemd 233) verfügen.
Diese Anleitung wurde mit folgenden Betriebssystemen getestet:
- Debian 12 (Bookworm)
- Ubuntu 22.04 (Jammy Jellyfish)
- Arch Linux (Es wurde nur das wrapper-Script getestet)
Ersteinrichtung - Schritt 1
Stellen Sie sicher, dass Ihr Gerät mit dem Internet verbunden ist , damit ggf. die benötigte Software installiert werden kann.
Öffnen Sie das Terminal und geben Sie folgenden Befehl ein:
sudo apt install network-manager-openconnect-gnome
Bestätigen Sie die Installation mit der im Terminal genannten Anweisung. Starten Sie jetzt ihr Gerät neu.
Ersteinrichtung - Schritt 2
Gehen Sie jetzt in die "Einstellungen" und öffnen den Reiter "Netzwerk". Als nächstes klicken Sie auf das "+"-Symbol neben VPN.
Ersteinrichtung - Schritt 3
Wählen Sie "Multiprotokoll-VPN-Client (Openconnect)" als Menüpunkt.
Ersteinrichtung - Schritt 4
In diesem Fenster können Sie jetzt die Angaben zu dem VPN Endpunkt eingeben.
- Der Name der Verbindung ist frei wählbar
- Das Gateway sollte "vpn.uni-bremen.de" heißen
- Sollte das Feld "UserAgent" vorhanden sein, dann muss dieses auf "AnyConnect" gestellt werden.
- Bitte auf die korrekte Schreibweise "AnyConnect" achten!
- Alle anderen Werte können auf dem Standard bleiben
Klicken Sie jetzt oben rechts auf "Hinzufügen".
Das rechte Bild ist ein Beispiel für eine Konfiguration wo das "UserAgent" Feld vorhanden ist.
Ersteinrichtung - Schritt 5
Leider gibt es im Zusammenhang mit TLS1.3 aktuell einen Bug mit OpenConnect (Bugreport). Als Workaround muss folgendes Script angelegt werden:
Öffnen Sie die Datei /usr/bin/openconnect-wrapper mit einem Editor (z.B. vim):
sudo vim /usr/bin/openconnect-wrapper
Fügen Sie jetzt folgenden Inhalt in die Datei ein
#! /usr/bin/env bash PATH=/sbin:/bin:/usr/sbin:/usr/bin if [[ "$@" =~ .+\.uni\-bremen\.de|134\.102\..+|2001:0?638:0?708:.+ ]]; then exec /usr/bin/openconnect-orig --useragent 'AnyConnect-compatible OpenConnect VPN Agent' --gnutls-priority "NORMAL:-VERS-ALL:+VERS-TLS1.2" "$@" else exec /usr/bin/openconnect-orig "$@" fi
Machen Sie die Datei jetzt noch ausführbar:
sudo chmod 0755 /usr/bin/openconnect-wrapper
Dann noch folgenden Ordner und Datei anlegen:
sudo mkdir /etc/systemd/system/NetworkManager.service.d/ sudo vim /etc/systemd/system/NetworkManager.service.d/override.conf
In diese Datei folgenden Inhalt schreiben:
[Service] BindPaths=/usr/sbin/openconnect:/usr/bin/openconnect-orig BindPaths=/usr/bin/openconnect-wrapper:/usr/bin/openconnect
Danach bitte den Computer Neustarten.
(Nur Dienste neu laden reicht häufig nicht da evtl. alte Routen oder TUN-Devices erhalten bleiben. Nur ein Neustart räumt die zuverlässig weg.)
Damit sollte eine Verbindung zum Uni Bremen VPN trotz des Bugs möglich sein.
Sollten Sie noch das "alte" Script zum setzen des User-Agent in /usr/bin/openconnect verwenden, löschen sie dieses bitte.
(Vorsicht! Nicht /usr/sbin/openconnect löschen!)
Verbinden - Schritt 1
Gehen Sie erneut in die "Einstellungen" und dann auf den Reiter "Netzwerk".
Verbinden - Schritt 2
Klicken Sie nun auf ihr erstelltes VPN Profil, oben noch "Uni Bremen" genannt.
Verbinden - Schritt 3
Wählen Sie den korrekten Tunneltyp unter "Group" aus.
Geben Sie unter Username und Password die Zugangsdaten Ihres Uni-Accounts ein und auf klicken Sie auf Login.
Wie im letzten Bild zu sehen, wird eine erfolgreiche Verbindung durch einen farbigen Schalter (hier Orange unterlegt) gekennzeichnet.
Fehlerbehebung
Ich habe eine VPN-Verbindung erfolgreich aufgebaut, kann nun aber die Dienste der Bibliothek nicht nutzen?
- Wenn man Dienste nutzen möchte, die für den Netzbereich der Universität Bremen freigeschaltet sind, aber nicht im Netzbereich der Uni "gehostet" werden (Verlage sind hier ein Beispiel), dann muss man beim Verbindungsaufbau die Gruppe von "Tunnel-Uni-Bremen" auf "Tunnel-all-Traffic" umstellen. Für eine detaillierte Erklärung lesen Sie bitte die Seite VPN-Tunnelarten.
- ACHTUNG: Durch diese Option wird der gesamte Datenverkehr nun durch den Tunnel geleitet. Bitte den Tunnel mit dieser Option nur aktiviert lassen, solange dies für das Arbeiten benötigt wird.