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.
Aktualisiert von: VPN