Introduzione
Questo documento descrive l'utilizzo delle applicazioni VPN basate sulla piattaforma UWP (Universal Windows Platform) di Microsoft. Queste applicazioni vengono in genere visualizzate come applicazioni nella GUI Metro/Modern di Windows 8 o versione successiva. Le applicazioni desktop e i programmi Windows tradizionali non utilizzano l'UWP e non sono interessati.
Se si riscontrano problemi con la VPN Windows non di tipo App o sempre su VPN, vedere la nostra nota su VPN Windows in Umbrella Roaming Client: Guida alla compatibilità per software e VPN.
Il modulo di roaming AnyConnect Umbrella non genera gli stessi problemi di interoperabilità.
Conseguenze
Quando il client in roaming è attivo, gli utenti dell'applicazione VPN UWP ricevono un messaggio di errore del tipo "Host sconosciuto" o simile quando tentano di avviare una sessione VPN. In questo modo si impedisce all'utente di connettersi correttamente alla VPN. Questo errore non viene visualizzato se il client mobile è arrestato o se viene utilizzata l'edizione desktop del client VPN.
Ad esempio, questi non funzionano:
- Pulse Secure App + client mobile
- SonicWall MobileConnect + client mobile
Per questi motivi, la connessione allo stesso headend VPN non funziona:
- Applicazione desktop Pulse Secure + client mobile
- Applicazione SonicWall NetExtender o SonicWall Desktop + client mobile
- Pulse Secure App + modulo di roaming AnyConnect Umbrella*
- SonicWall MobileConnect + modulo di roaming AnyConnect Umbrella*
*Il modulo AnyConnect Umbrella non imposta 127.0.0.1 (un'altra interfaccia) come impostazione DNS, ma reindirizza il DNS a 127.0.0.1 utilizzando un driver del kernel. Le applicazioni UWP non sono a conoscenza del fatto che stanno utilizzando un adattatore diverso per DNS e non sono interessate in questo momento.
Causa principale
In base alla progettazione, Microsoft ha costruito app "moderne" in Windows 8+ per essere più sandbox. Una di queste limitazioni si applica alle applicazioni VPN. Le VPN costruite sugli UWP (app) sono limitate all'uso dell'interfaccia che genera la query. Poiché il client di roaming Umbrella è in ascolto su 127.0.0.1 - un'interfaccia diversa l0 - la query non colpisce mai il client di roaming (o qualsiasi altro inoltro DNS eseguito su 127.0.0.1).
La chiamata seguente consente di limitare la creazione di un socket a una sola interfaccia. Questo è il caso delle applicazioni VPN UWP conosciute che vincolano il DNS alla propria interfaccia:
ConnectAsync(NomeHost, Stringa, LivelloProtezioneSocket, SchedaRete)
"Il meccanismo di risoluzione dei nomi utilizzato dal metodo ConnectAsync(Hostname, String, SocketProtectionLevel, NetworkAdapter) è limitato all'interfaccia specificata per lo spazio dei nomi DNS (Domain Name System)." https://learn.microsoft.com/en-us/uwp/api/windows.networking.sockets.streamsocket
Si ritiene che l'API VPN per Windows utilizzi questo o un meccanismo di connessione simile, il che fa sì che le VPN in stile "app" UWP non funzionino con il client in roaming a causa dell'uso di 127.0.0.1 per DNS. Di conseguenza, le connessioni VPN hanno esito negativo perché il DNS viene inviato a 127.0.0.1; tuttavia, a causa dei limiti della chiamata, il client in roaming non la riceve né risponde. Di conseguenza, la connessione VPN non riesce a causa di un errore DNS.
La causa principale è simile nell'origine a una limitazione della progettazione all'indicatore di connettività NCSI di Windows, dove non viene mai eseguita una query per la conferma della connettività DNS (risolta da Microsoft).
Risoluzione
Al momento, per il client in roaming autonomo non è disponibile alcun aggiornamento del client in roaming che possa modificare il comportamento di Windows, poiché 127.0.0.1 è impostato come server DNS locale. Questo è un nucleo
il funzionamento del client di roaming. Finché Microsoft non consentirà l'uso di 127.0.0.1 per il DNS da parte di un'app VPN UWP, l'unica opzione è passare all'edizione desktop del client VPN o utilizzare il modulo di roaming AnyConnect che utilizza un driver del kernel per indirizzare il DNS.