Distribuire a mano un pacchetto Azure da punto a sito funziona con cinque portatili e crolla a cinquanta. Il percorso con script ha due trappole che costano un pomeriggio ciascuna: un errore di parametro che sembra un guasto del certificato, e una route che la connessione non installa mai, anche quando tutto il resto è corretto. Nessuna delle due si risolve riscaricando il pacchetto client. Esegui i controlli qui sotto in ordine e fermati al primo che fallisce.

Mantengo l'ordine fisso perché ogni passo presuppone che il precedente sia vero.

1. Correggi l'ambito del profilo prima del primo dispositivo

Un profilo per tutti gli utenti vive sulla macchina e compare in ogni sessione. Un profilo per utente segue un account e conserva le sue credenziali nel contesto di quell'account. Scegline uno e resta su quello, perché una macchina che li porta entrambi mostra due voci con lo stesso nome, e gli utenti si connettono a quella che compare per prima. Cambiare ambito più avanti significa rimuovere prima il vecchio profilo invece di modificarlo sul posto.

I profili per tutti gli utenti si adattano ai dispositivi condivisi e ai chioschi dove nessuno accede con un account personale. Sono il valore predefinito sbagliato quando il certificato viene rilasciato per persona, poiché un profilo con ambito macchina non può presentare una credenziale che appartiene a qualcun altro. Scrivi la scelta nel registro di distribuzione prima che esista il secondo portatile.

2. Passa gli switch come switch

Add-VpnConnection accetta parametri switch che o sono presenti o non lo sono. Passare loro $true genera un errore EapConfigXmlStream, ed è per questo che tanti thread sull'argomento finiscono per ispezionare catene di certificati che non sono mai state il problema.

Add-VpnConnection -Name "Contoso P2S" `
  -ServerAddress "azuregateway-00000000-0000-0000-0000-000000000000.cloudapp.net" `
  -AllUserConnection -UseWinLogonCredential -RememberCredential `
  -TunnelType Automatic -EncryptionLevel Required -AuthenticationMethod MSChapv2

L'indirizzo del gateway qui sopra è illustrativo; prendi quello reale dal pacchetto scaricato e tienilo tra virgolette. -AllUserConnection richiede una sessione elevata, e il profilo che crea è con ambito macchina anche se hai eseguito il comando come amministratore. Leggi il set di parametri con Get-Help Add-VpnConnection -Parameter * prima di aggiungere altri switch.

3. Aggiungi la route che l'adattatore non aggiunge

L'adattatore da punto a sito installa una route per il pool di indirizzi client e nient'altro.

Un prefisso di rete virtuale fuori da quel pool resta irraggiungibile mentre il tunnel riporta ancora Connected, ed è il guasto più confuso di questo flusso di lavoro. Aggiungi la route esplicitamente dopo che la connessione riesce, e puntala all'indirizzo di interfaccia ricevuto dall'adattatore invece che al nome pubblico del gateway. Quell'indirizzo arriva da ipconfig dopo la connessione, e cambia tra una sessione e l'altra.

route add 10.0.0.0 mask 255.255.0.0 10.0.1.5
route print -4 | findstr /c:"10.0.0.0"

Elimina la route alla disconnessione così un prossimo hop obsoleto non possa mandare il traffico in un buco nero più tardi. Tratta il comando come una deviazione locale documentata: se una versione futura del client aggiunge la route da sola, la tua riga diventa un duplicato che compete con il prossimo hop del pacchetto.

4. Verifica come utente standard

Una sessione da amministratore nasconde gli errori di ambito, perché l'elevazione a volte fornisce una credenziale che l'utente reale non avrebbe.

Accedi come non amministratore, connettiti tramite il profilo e prova un servizio privato invece di internet pubblico. Conferma che il profilo compaia in Get-VpnConnection -AllUserConnection, che lo stato arrivi a Connected e che la route aggiunta punti all'indirizzo attuale dell'adattatore. Poi sospendi la macchina, svegliala e confronta di nuovo ipconfig.

5. Rimuovi con ordine una distribuzione difettosa

Remove-VpnConnection con -AllUserConnection e -Force elimina il profilo con ambito macchina. Force conta perché un profilo connesso altrimenti rifiuta la rimozione, e un profilo rimosso a metà è più difficile da diagnosticare di una reinstallazione pulita.

Conserva il nome del profilo, l'indirizzo del gateway e le route aggiunte nelle note di distribuzione. Quei tre valori sono ciò che serve a una chiamata all'assistenza prima che qualcuno apra un ticket, e sono anche ciò che serve al prossimo script quando l'indirizzo del gateway cambia. Aggiungi la versione del pacchetto client alla stessa nota, perché il comportamento della route appartiene a quel pacchetto e non a Windows.

Articoli correlati