Versucht man eine VPN-Verbindung mittels Cisco AnyConnect Secure Mobility Client in einer Hyper-V Virtual Machine die z.B. mit Windows 10 oder Windows 11 installiert ist herzustellen, so ist man typischerweise mit folgender Fehlermeldung beim Connect konfrontiert:
Cisco AnyConnect Secure Mobility Client: VPN establishment capability for a remote user is disabled. A VNP connection will not be established. AnyConnect was not able to establish a connection to the specified secure gateway. Please try connecting again.
Was bedeutet diese Fehlermeldung?
Cisco AnyConnect verweigert die Verbindungs-Herstellung, da die Session des in der Hyper-V VM angemeldeten Windows-Benutzer als „Remote User“ erkannt wurde.
Technischer Hintergrund: Wenn Hyper-V im Enhanced-Session-Mode betrieben wird, dann ist dies aus Sicht Anyconnect ein RDP (Remote Desktop Protocol, inkl. Datei-Austausch, Clipboard-Sharing etc… mit dem Virtualisierungs-Host) und somit wird dies etwas irreführender Weise als „Remote User“ klassifiziert.
Abhilfe – Variante 1: Allow Remote Users
Um die Cisco AnyConnect VPN-Connection in einer Hyper-V VM mit Enhanced Session Mode zuzulassen muss im VPN Profil (auf der Cisco ASA = VPN Konzentrator mittels des Cisco VPN Profile Editors) das Setting „WindowsVPNEstablishment“ von „LocalUsersOnly“ auf „AllowRemoteUsers“ geändert werden. Im Profile Editor ist dieses Setting „Windows VPN Establishment“ unter Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Client Profile – Preferences (Part 1) zu finden:
- Windows VPN Establishment – Determines the behavior of AnyConnect when a user who is remotely logged on to the client PC establishes a VPN connection. The possible values are:
- Local Users Only (Default) – Prevents a remotely logged-on user from establishing a VPN connection. This is the same functionality as in prior versions of AnyConnect.
- Allow Remote Users – Allows remote users to establish a VPN connection.
Die VPN-Konfiguration liegt beim Anyconnect-Client unter C:\ProgramData\Cisco\Cisco Anyconnect Secure Mobility Client\Profile, dort ist ein XML-File je Profil zu finden. Das oben genannte Setting „WindowsVPNEstablishment“ = „LocalUsersOnly“=> „AllowRemoteUsers“ ist hier zu finden. Das lokale XML-File zu editieren ist jedoch nicht zielführend, da das VPN-Profil (also diese XML-Datei) bei jeder Verbindungsherstellung neu von der VPN-Gegenstelle auf den Client gepusht und somit überschrieben wird.
Workaround – Variante 2: Enhanced Session Mode deaktivieren
Falls es nicht möglich ist die Einstellung im VPN-Profil durch den VPN-Admin anpassen zu lassen, so kann alternativ für Hyper-V der „Erweiterte Sitzungsmodus“ (= Enhanced Session Mode) deaktiviert werden:
Deaktiviert man den Enhanced Session Mode (= Erweiterte Sitzung) dann wird kein RDP für die VM genutzt und AnyConnect kann selbst dann eine Verbindung herstellen, wenn „LocalUsersOnly“ konfiguriert ist.
Nachteil: Es steht dann allerdings kein Copy&Paste Datenaustausch (Dateien, Zwischenablagen-Inhalte) mehr mit der Host-Maschine zur Verfügung, die dynamische Anpassung der VM-Monitor-Auflösung an die Fenstergröße funktioniert dann ebenfalls nicht – man muss in der VM eine für den eigenen Zweck und Fenstergröße geeigente Auflösung manuell konfigurieren.