VPN unter Linux einrichten

Wie kann ich auf meinem Linux-Gerät MFA VPN einrichten?

Eine Alternative zum offiziellen GlobalProtect-Client für die Nutzung von VPN mit MFA unter Linux ist die Verwendung von gp-saml-gui in Verbindung mit einer Version von openconnect, die das GlobalProtect-Protokoll unterstützt.

Vorausgesetzt sind sudo-Berechtigungen, um Administratorrechte zu erlangen.
  1. Installieren Sie Openconnect:

    bash
    sudo apt update
    sudo apt install -y openconnect


  2. Installieren Sie benötigte Abhängigkeiten:

    bash
    sudo apt install -y git python3-venv build-essential python3-dev gobject-introspection \
    libgirepository1.0-dev python3-gi gir1.2-gtk-3.0 gir1.2-webkit2-4.1


  3. Klonen Sie das Git‑Repository (Passen Sie den Pfad /home/example an Ihr System an.):
    bash
    cd /home/<user>
    sudo git clone https://github.com/dlenski/gp-saml-gui

  4. Erstellen Sie die virtuelle Umgebung:

    bash
    sudo python3 -m venv --system-site-packages /home/<user>/gp-saml-gui/


  5. Installieren Sie benötigte Abhängigkeiten in der virtuellen Umgebung:

    bash
    /home/<user>/gp-saml-gui/bin/pip install -r /home/<user>/gp-saml-gui/requirements.txt

  6. Bauen Sie die VPN‑Verbindung mit gp-saml-gui auf:

    bash
    gp-saml-gui/bin/python /home/<user>/gp-saml-gui/gp_saml_gui.py --sudo-openconnect mfavpn.hs-hannover.de

  7. Im Terminal sollte folgendes o.Ä. erscheinen.

    Launching OpenConnect with sudo, equivalent to:
    ...
    POST https://mfavpn.hs-hannover.de/global-protect/prelogin.esp?tmp=tmp&clientVer=4100&clientos=Linux
    Verbunden mit 141.71.0.21:443
    SSL-Verhandlung mit mfavpn.hs-hannover.de
    Connected to HTTPS on mfavpn.hs-hannover.de with ciphersuite (TLS1.2)-(ECDHE-SECP256R1)-(RSA-SHA256)-(AES-256-GCM)
    Enter login credentials
    POST https://mfavpn.hs-hannover.de/global-protect/getconfig.esp
    Portal reports GlobalProtect version 6.3.3-633; we will report the same client version.
    Portal set HIP report interval to 60 minutes).
    1 Gateway-Server verfügbar:
    gp-gw-mfa-vpn-ext (mfavpn.hs-hannover.de)


  8. Dazu sollte sich ein Browserfenster zur Anmeldung mit dem SSO‑Account erscheinen.
    Nach erfolgreicher Anmeldung wird `openconnect` zur Herstellung der VPN‑Verbindung verwendet.
    Im Terminal erscheint dann wiederum folgende (o.Ä.) Meldung

    Tunnel-Zeitspanne (Intervall zum erneuten Schlüsselaustausch) ist 180 Minuten.
    Idle timeout is 180 minutes.
    GlobalProtect IPv6 support is experimental. Please report results to <openconnect-devel@lists.infradead.org>.
    Kein MTU empfangen. Berechnet 1422 für ESP tunnel
    POST https://mfavpn.hs-hannover.de/ssl-vpn/hipreportcheck.esp
    WARNING: Server asked us to submit HIP report with md5sum 88aaecdbce7c0b33d26a19845199bbed.
    VPN connectivity may be disabled or limited without HIP report submission.
    You need to provide a --csd-wrapper argument with the HIP report submission script.
    ESP-tunnel konnte nicht verbunden werden; stattdessen wird HTTPS verwendet.
    Configured as 141.71.155.228 + 2001:638:614:fe10::46f, with SSL connected and ESP unsuccessful
    Session authentication will expire at Thu Apr 23 03:25:27 2026
    Using vhost-net for tun acceleration, ring size 32
    POST https://mfavpn.hs-hannover.de/ssl-vpn/logout.esp
    SSL-Verhandlung mit mfavpn.hs-hannover.de
    Connected to HTTPS on mfavpn.hs-hannover.de with ciphersuite (TLS1.2)-(ECDHE-SECP256R1)-(RSA-SHA256)-(AES-256-GCM)

  9. Die Verbindung beenden Sie mit STRG+C.
  10. Damit Sie den VPN‑Client beim nächsten Mal einfacher starten möchten, können Sie einen Alias in ~/.bashrc anlegen:
  11. Öffnen Sie ~/.bashrc:

    bash
    nano ~/.bashrc


  12. Fügen Sie am Ende diese Zeile ein:

    bash
    alias gp-saml="/home/<user>/gp-saml-gui/bin/python /home/<user>/gp-saml-gui/gp_saml_gui.py --sudo-openconnect mfavpn.hs-hannover.de"

  13. Speichern und neu laden:

    bash
    source ~/.bashrc


  14. Nun starten Sie den VPN‑Client einfach mit:

    bash
    gp-saml
 

DNS-Probleme mit Snap-Anwendungen (z.B. Firefox)

Möglicherweise sind Snap-Anwendungen in Kombination mit dem GlobalProtect-Client (und ggf. auch anderen VPN-Clients) nicht in der Lage, Namen über DNS korrekt aufzulösen.

Abhilfe kann geschaffen werden, indem Sie den Dienst systemd-resolved konfigurieren, zusätzlich auf 127.0.0.1:53 DNS-Anfragen zu beantworten.

Editieren Sie die /etc/systemd/resolved.conf und fügen Sie die folgende Zeile unterhalb des [Resolve]-Bereichs ein:

DNSStubListenerExtra = 127.0.0.1:53

systemctl daemon-reload; systemctl restart systemd-resolved.service

Quelle: https://live.paloaltonetworks.com/t5/globalprotect-discussions/ubuntu-firefox-gp-web-issue/td-p/560821

Letzte Änderung: 24. April 2026