La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come risolvere i problemi relativi a Optimal Gateway Selection (OGS). OGS è una funzione che può essere utilizzata per determinare il gateway con il Round Trip Time (RTT) più basso e connettersi a tale gateway. È possibile utilizzare la funzione OGS per ridurre al minimo la latenza per il traffico Internet senza l'intervento dell'utente. Con OGS, Cisco AnyConnect Secure Mobility Client (AnyConnect) identifica e seleziona il gateway sicuro migliore per la connessione o la riconnessione. Il sistema OGS inizia al momento della prima connessione o al momento della riconnessione almeno quattro ore dopo la disconnessione precedente. Per ulteriori informazioni, consultare la Guida dell'amministratore.
Suggerimento: per ottenere risultati ottimali, il software OGS usa la versione più recente del client AnyConnect e del software ASA 9.1(3)* o successive.
Una richiesta ping ICMP (Internet Control Message Protocol) non funziona perché molti firewall di Cisco Adaptive Security Appliance (ASA) sono configurati per bloccare i pacchetti ICMP e impedire il rilevamento. Al contrario, il client invia tre richieste HTTP/443 a ciascun headend che viene visualizzato in una unione di tutti i profili. Queste sonde HTTP vengono chiamate ping OGS nei log, ma, come spiegato in precedenza, non sono ping ICMP. Per evitare che una (ri)connessione richieda troppo tempo, il servizio GOS seleziona il gateway precedente per impostazione predefinita se non riceve alcun risultato del ping GOS entro sette secondi. Cercare i risultati del ping OGS nel registro.
Nota: AnyConnect deve inviare una richiesta HTTP a 443, in quanto la risposta stessa è importante, non è una risposta corretta. La correzione per la gestione del proxy invia tutte le richieste come HTTPS. Vedere l'ID bug Cisco CSCtg38672 - Il servizio OGS deve eseguire il ping con le richieste HTTP.
Nota: se la cache non contiene headend, AnyConnect invia una richiesta HTTP per determinare se esiste un proxy di autenticazione e se può gestire la richiesta. È solo dopo questa richiesta iniziale che viene avviato il ping OGS per eseguire il probe del server.
******************************************
Date : 10/04/2013
Time : 14:00:44
Type : Information
Source : acvpnui
Description : Function: ClientIfcBase::startAHS
File: .\ClientIfcBase.cpp
Line: 2785
OGS was already performed, previous selection will be used.
******************************************
Nota: a differenza di HTTP-ping, che esegue un semplice post HTTP e quindi visualizza RTT e il risultato, i calcoli OGS sono leggermente più complicati. AnyConnect invia tre sonde per ciascun server e calcola il ritardo tra l'SYN HTTP inviato e l'FIN/ACK per ciascuna di queste sonde. Utilizza quindi il delta più basso per confrontare i server ed effettuare la selezione. Pertanto, anche se i ping HTTP sono un'indicazione abbastanza buona di quale server AnyConnect sceglierà, potrebbero non corrispondere necessariamente. Ulteriori informazioni al riguardo sono disponibili nel resto del documento.
Al termine del calcolo, i risultati vengono memorizzati nel file preferences_global. Si sono verificati problemi con i dati non memorizzati nel file in precedenza.
Per ulteriori informazioni, fare riferimento all'ID bug Cisco CSCtj84626.
La memorizzazione nella cache OGS funziona su una combinazione di dominio DNS e indirizzi IP dei singoli server DNS. Funziona come segue:
Di seguito sono riportati alcuni possibili scenari di errore:
Quando si usa OGS, se la connettività al gateway a cui gli utenti sono connessi viene interrotta, AnyConnect si connette ai server nel elenco dei server di backupenon al successivo host OGS. L'ordine delle operazioni è il seguente:
Nota: quando l'amministratore configura l'elenco dei server di backup, l'editor di profili corrente consente solo all'amministratore di immettere il nome di dominio completo (FQDN) per il server di backup, ma non il gruppo di utenti come è possibile per il server primario:
Per risolvere questo problema, consultare l'ID bug Cisco CSCud84778, ma l'URL completo deve essere immesso nel campo dell'indirizzo host del server di backup e deve funzionare: https://<indirizzo-ip>/usergroup.
Per consentire l'esecuzione di GOS dopo una ripresa, è necessario che per AnyConnect sia stata stabilita una connessione quando il computer è stato messo in sospensione. Il sistema OGS viene eseguito solo dopo il test dell'ambiente di rete, allo scopo di verificare che la connettività di rete sia disponibile. Questo test include un subtest di connettività DNS.
Tuttavia, se il server DNS rifiuta le richieste di tipo A con un indirizzo IP nel campo della query, in contrapposizione alla risposta con "nome non trovato" (il caso più comune, sempre rilevato durante i test), allora Cisco bug ID CSCti20768 Si applica il criterio "Query DNS di tipo A per l'indirizzo IP, deve essere PTR per evitare il timeout".
Quando si usano versioni ASA precedenti alla versione 9.1(3), le clip sul client mostrano un ritardo persistente nell'handshake SSL. Si noti che il client invia il proprio ClientHello, quindi l'ASA invia il proprio ServerHello. In genere, questo messaggio è seguito da un messaggio di certificato (richiesta di certificato facoltativa) e da un messaggio ServerHelloDone. L'anomalia è duplice:
Questo si verifica a causa dell'interazione tra TCP slow-start e TCP delayed-ACK. Nelle versioni precedenti alla 9.1(3), l'ASA usa una dimensione della finestra con avvio lento pari a 1, mentre il client Windows usa un valore di delay-ACK pari a 2. Ciò significa che l'ASA invia un solo pacchetto di dati finché non riceve un ACK, ma che il client non invia un ACK finché non riceve due pacchetti di dati. L'ASA scade dopo 120 ms e trasmette nuovamente ServerHello, dopodiché il client raccoglie i dati e la connessione continua. Questo comportamento è stato modificato dall'ID bug Cisco CSCug98113 in modo che l'appliance ASA usi per impostazione predefinita una finestra con avvio lento di 2 anziché di 1.
Questo può influire sul calcolo di OGS quando:
In queste situazioni, il ritardo introdotto dal comando delayed-ACK potrebbe essere sufficiente per indurre il client a selezionare l'appliance ASA errata. Se il valore varia tra il client e l'appliance ASA, potrebbero verificarsi dei problemi. In tali situazioni, per ovviare al problema è possibile modificare le dimensioni della finestra Conferme di ricezione ritardate.
Windows
Nota: per rendere i parametri di sintonizzazione TCP configurabili sull'appliance ASA, è stato archiviato l'ID bug Cisco CSCum19065.
Il caso d'uso più comune si verifica quando un utente a casa esegue OGS per la prima volta, in quanto registra le impostazioni DNS e i risultati del ping OGS nella cache (per impostazione predefinita, il timeout è di 14 giorni). Quando l'utente torna a casa la sera successiva, OGS rileva le stesse impostazioni DNS, le trova nella cache e ignora il test ping di OGS. In seguito, quando l'utente si reca in un hotel o in un ristorante che offre un servizio Internet, il servizio OGS rileva diverse impostazioni DNS, esegue i test ping di OGS, seleziona il gateway migliore e registra i risultati nella cache.
L'elaborazione è identica quando riprende da uno stato di sospensione o ibernazione, se le impostazioni di ripristino di OGS e AnyConnect lo consentono.
Per cancellare la cache OGS e rivalutare l'RTT dei gateway disponibili, è sufficiente eliminare il file delle preferenze AnyConnect globali dal PC. La posizione del file varia in base al sistema operativo:
C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\preferences_global.xml
Note: in older client versions it used to be stored in C:\ProgramData\Cisco\Cisco
AnyConnect VPN Client
C:\Documents and Settings\AllUsers\Application Data\Cisco\Cisco AnyConnect VPN
Client\preferences_global.xml
/opt/cisco/anyconnect/.anyconnect_global
Note: with older versions of the client it used to be /opt/cisco/vpn..
/opt/cisco/anyconnect/.anyconnect_global
Note: with older versions of the client it used to be /opt/cisco/vpn..
Suggerimento: poiché l'acquisizione viene usata solo per testare il software OGS, è meglio arrestarla non appena AnyConnect seleziona un gateway. È preferibile non passare attraverso un tentativo di connessione completo, perché questo può cloud l'acquisizione del pacchetto.
Per verificare il motivo per cui GOS ha selezionato un particolare gateway, attenersi alla seguente procedura:
******************************************
Date : 10/04/2013
Time : 14:21:27
Type : Information
Source : acvpnui
Description : Function: CHeadendSelection::CSelectionThread::Run
File: .\AHS\HeadendSelection.cpp
Line: 928
OGS starting thread named gw2.cisco.com
******************************************
******************************************È importante prestare attenzione a questi tre valori, in quanto devono corrispondere ai risultati dell'acquisizione.
Date : 10/04/2013
Time : 14:31:37
Type : Information
Source : acvpnui
Description : Function: CHeadendSelection::CSelectionThread::logThreadPingResults
File: .\AHS\HeadendSelection.cpp
Line: 1137
OGS ping results for gw2.cisco.com: (219 218 132 )
******************************************
******************************************
Date : 10/04/2013
Time : 12:29:38
Type : Information
Source : vpnui
Description : Function: CHeadendSelection::logPingResults
File: .\AHS\HeadendSelection.cpp
Line: 589
*** OGS Selection Results ***
OGS performed for connection attempt. Last server: 'gw2.cisco.com'
Results obtained from OGS cache. No ping tests were performed.
Server Address RTT (ms)
gw1.cisco.com 302
gw2.cisco.com 132 <========= As seen, 132 was the lowest delay
of the three probes from the previous DART log
gw3.cisco.com 506
gw4.cisco.com 877
Selected 'gw2.cisco.com' as the optimal server.
******************************************
Esaminare l'acquisizione delle sonde TCP/SSL utilizzate per calcolare il valore RTT. Verifica il tempo impiegato dalla richiesta HTTPS su una singola connessione TCP. Ogni richiesta di sonda deve utilizzare una connessione TCP diversa. A tale scopo, aprire l'acquisizione in Wireshark e ripetere i seguenti passaggi per ognuno dei server:
Se dopo l'analisi delle acquisizioni i valori RTT determinati vengono calcolati e confrontati con i valori visualizzati nei log DART e viene trovata una corrispondenza per tutti gli elementi, ma sembra che sia stato selezionato il gateway errato, allora ciò è dovuto a uno dei due problemi seguenti:
D: Il sistema OGS funziona con il bilanciamento del carico?
R: Sì. OGS è a conoscenza solo del nome del master del cluster e lo utilizza per valutare l'headend più vicino.
D: Il software OGS funziona con le impostazioni proxy definite nel browser?
R: OGS non supporta i file proxy automatico o i file PAC (proxy Auto Config), ma supporta un server proxy hardcoded. Di conseguenza, l'operazione OGS non viene eseguita. Il messaggio di registro pertinente è: "OGS non verrà eseguito perché è configurato il rilevamento automatico del proxy".
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
26-Oct-2013 |
Versione iniziale |