Einleitung
Dieses Dokument beschreibt die Nutzung von VPN-Anwendungen, die auf der Universal Windows Platform (UWP) von Microsoft basieren. Diese Anwendungen werden in der Regel in der Metro/Modern GUI von Windows 8 oder höher als Apps angezeigt. Desktop-Anwendungen und herkömmliche Windows-Programme verwenden UWP nicht und sind davon nicht betroffen.
Wenn Sie Probleme mit dem Nicht-App-Stil Windows VPN oder immer auf VPN sehen, lesen Sie unseren Hinweis auf Windows VPN bei Umbrella Roaming Client: Kompatibilitätsleitfaden für Software und VPNs .
Das AnyConnect Umbrella-Roaming-Modul führt nicht zu demselben Interoperabilitätsproblem.
Auswirkungen
Wenn der Roaming-Client aktiv ist, erhalten Benutzer der UWP-VPN-Anwendung beim Versuch, eine VPN-Sitzung zu initiieren, die Fehlermeldung "No such host is known" (Kein solcher Host ist bekannt) oder eine ähnliche Fehlermeldung. Dadurch wird verhindert, dass der Benutzer erfolgreich eine Verbindung mit dem VPN herstellen kann. Dieser Fehler tritt nicht auf, wenn der Roaming-Client gestoppt oder die Desktop-Edition des VPN-Clients verwendet wird.
Dies funktioniert beispielsweise nicht:
- Pulse Secure App + Roaming-Client
- SonicWall MobileConnect + Roaming-Client
Bei diesen Geräten funktioniert die Verbindung mit demselben VPN-Headend:
- Pulse Sichere Desktop-Anwendung + Roaming-Client
- SonicWall NetExtender oder SonicWall Desktop-Anwendung + Roaming-Client
- Pulse Secure App und AnyConnect Umbrella Roaming-Modul*
- SonicWall MobileConnect und AnyConnect Umbrella Roaming-Modul*
*Das AnyConnect Umbrella-Modul legt nicht 127.0.0.1 (eine andere Schnittstelle) als DNS-Einstellung fest, sondern leitet DNS mithilfe eines Kerneltreibers auf 127.0.0.1 um. Die UWP-Apps sind sich nicht bewusst, dass sie einen anderen Adapter für DNS verwenden, und dies ist derzeit nicht der Fall.
Ursache
Microsoft hat "moderne" Apps in Windows 8+ so konzipiert, dass sie besser in Sandboxes untergebracht sind. Eine dieser Einschränkungen gilt für VPN-Anwendungen. VPNs, die auf UWP (Apps) basieren, sind auf die Verwendung der Schnittstelle beschränkt, die die Abfrage generiert. Da der Umbrella-Roaming-Client 127.0.0.1 abhört - eine andere Schnittstelle l0 - wird die Abfrage daher nie auf den Roaming-Client (oder einen anderen DNS-Weiterleitungslauf auf 127.0.0.1) angewendet.
Mit dem folgenden Aufruf kann die Socketerstellung auf nur eine Schnittstelle beschränkt werden. Dies ist der Fall bei bekannten UWP VPN-Anwendungen, die DNS auf ihre Schnittstelle beschränken:
ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)
"Der von der ConnectAsync(Hostname, String, SocketProtectionLevel, NetworkAdapter)-Methode verwendete Mechanismus zur Namensauflösung ist auf die angegebene Schnittstelle für den DNS-Namespace (Domain Name System) beschränkt." https://learn.microsoft.com/en-us/uwp/api/windows.networking.sockets.streamsocket
Die Windows-VPN-API soll diesen oder einen ähnlichen Verbindungsmechanismus verwenden, der dazu führt, dass VPNs im UWP-"App"-Stil nicht mit dem Roaming-Client funktionieren, da dieser 127.0.0.1 für DNS verwendet. VPN-Verbindungen schlagen daher fehl, da DNS an 127.0.0.1 gesendet wird. Aufgrund der Einschränkungen des Anrufs wird der Anruf jedoch vom Roaming-Client weder empfangen noch beantwortet. Daher schlägt die VPN-Verbindung aufgrund eines DNS-Fehlers fehl.
Die Ursache ist ähnlich wie eine Designeinschränkung zum Windows NCSI-Verbindungsindikator, bei dem 127.0.0.1 niemals abgefragt wird, um die DNS-Konnektivität zu bestätigen (von Microsoft behoben).
Auflösung
Für den eigenständigen Roaming-Client gibt es derzeit kein Update für den Roaming-Client, das dieses Windows-Verhalten ändern kann, das sich daraus ergibt, dass 127.0.0.1 als lokaler DNS-Server festgelegt wurde. Dies ist ein Kern
Anforderung an den Roaming-Client, zu funktionieren. Bis Microsoft die Verwendung von 127.0.0.1 für DNS durch eine UWP-VPN-App zulässt, besteht die einzige Option darin, entweder zur Desktop-Edition des VPN-Clients zu wechseln oder das AnyConnect-Roaming-Modul zu verwenden, das einen Kerneltreiber zum Weiterleiten von DNS verwendet.