Die TU Berlin betreibt einen VPN-Dienst mit Cisco-Technik. Dieser kann mit einem speziellen VPN-Client erreicht werden. Dieser CLosed-Source-Client macht einige komische DInge, weshalb er von Manchen der “Cisco-Dektop-Trojaner” genannt wird. Die Anleitung der ZECM läuft leider nur auf Debian und lässt sich unter modernen Linuxen (z.B. Fedora42) nicht eins-zu-eins umsetzen. In diesem Blog-Eintrag zeige ich examplarisch, anhand von Fedora, wie man den VPN dennoch zum laufen bekommt.
Altes Python
Das Paket openconnect-sso ist auf PyPi verfügbar. Zum Zeitpunkt dieses Eintrags stammt die aktuellste Version die 0.8.1 vom 14.Juli 2023. Diese nutzt als Abhängigkeit lxml in einer Version aus 4.x.x.
Da mein Fedora42 bereits python3.13 nutzt, baut diese lxml-Version bei mir nicht mehr. Der Workaround ist, eine Python3.12- Vritual-Environment aufzusetzen.
Tunnelprofile an der TU Berlin
Die ZECM bietet für ihren VPN-Dienst zwei Profile an: Einen sogenannten Split-Tunnel und einen Full-Tunnel.
Mit dem ersten wird nur Traffic, dessen Ziel sich innerhalb des TU-Netzes (bzw. dessen IP-Bereich) über den Tunnel geleitet. Dies ist ab-und-zu ausreichend, um z.B. Online-Publikationen bei Verlagen, etc abzurufen.
Oft stören sich Verlage aber auch daran, weil dennoch die Nicht-TU-Adresse unseres Hosts in den Verbidnungen erscheint. Dies kann mit dem Full-Tunnel umgangen werden, welcher sämtlichen Traffic des Gerätes über die TU leitet (sog. Full-Tunnel).
Anleitung
In einem Ordner der Wahl ausführen:
# python3.12 nachinstallieren
dnf install python3.12 python3.12-devel
# Virtual-Env erzeugen und aktivieren
python3.12 -m venv .venv
source .venv/bin/activate
# prüfen, dass man python3.12 hat
python3 --version
# openconnect und Abhängigkeiten installieren
dnf install openconnect vpnc-script NetworkManager-openconnect
pip install openconnect-sso
Nach der erfolgreichen Installation kann man einen Tunnel so starten:
QTWEBENGINE_DISABLE_SANDBOX=1 openconnect-sso --server vpn.tu-berlin.de --authgroup=2-TU-Full-Tunnel-2FA
Die Virtual-Env muss dazu aktiviert sein.