Share via


Configurare la VPN nel dispositivo Azure Stack Edge Mini R tramite Azure PowerShell

L'opzione VPN offre un secondo livello di crittografia per il movimento dei dati su TLS dal dispositivo Azure Stack Edge Mini R o Azure Stack Edge Pro R ad Azure. È possibile configurare la VPN nel dispositivo Azure Stack Edge Mini R tramite il portale di Azure o tramite Azure PowerShell.

Questo articolo descrive i passaggi necessari per configurare una VPN da punto a sito (P2S) nel dispositivo Azure Stack Edge Mini R usando uno script di Azure PowerShell per creare la configurazione nel cloud. La configurazione nel dispositivo Azure Stack Edge viene eseguita tramite l'interfaccia utente locale.

Informazioni sulla configurazione della VPN

Una connessione gateway VPN da sito a sito consente di creare una connessione sicura alla rete virtuale da un singolo computer client o dal dispositivo Azure Stack Edge Mini R. Avviare la connessione da punto a sito dal computer client o dal dispositivo. La connessione da sito a sito in questo caso usa la VPN IKEv2, una soluzione VPN IPsec basata su standard.

Il flusso di lavoro tipico è costituito dai passaggi seguenti:

  1. Configurare i prerequisiti.
  2. Configurare le risorse necessarie in Azure.
    1. Creare e configurare una rete virtuale e le subnet necessarie.
    2. Creare e configurare un gateway VPN di Azure (gateway di rete virtuale).
    3. Configurare Firewall di Azure e aggiungere regole di rete e app.
    4. Creare tabelle di routing di Azure e aggiungere route.
    5. Abilitare Da punto a sito nel gateway VPN.
      1. Aggiungere il pool di indirizzi client.
      2. Configurare il tipo di tunnel.
      3. Configurare il tipo di autenticazione.
      4. Creare un certificato.
      5. Caricare il certificato.
    6. Scarica rubrica telefonica.
  3. Configurare la VPN nell'interfaccia utente Web locale del dispositivo.
    1. Specificare la rubrica.
    2. Specificare il file tag del servizio (json).

I passaggi dettagliati sono descritti nelle sezioni seguenti.

Configurare i prerequisiti

  • È necessario avere accesso a un dispositivo Azure Stack Edge Mini R installato in base alle istruzioni riportate in Installare il dispositivo Azure Stack Edge Mini R. Questo dispositivo stabilirà una connessione da sito a sito con Azure.

  • È necessario avere accesso a una sottoscrizione di Azure valida abilitata per il servizio Azure Stack Edge in Azure. Usare questa sottoscrizione per creare una risorsa corrispondente in Azure per gestire il dispositivo Azure Stack Edge Mini R.

  • È possibile accedere a un client Windows che verrà usato per accedere al dispositivo Azure Stack Edge Mini R. Questo client verrà usato per creare a livello di codice la configurazione nel cloud.

    1. Per installare la versione richiesta di PowerShell nel client Windows, eseguire i comandi seguenti:

      Install-Module -Name Az -AllowClobber -Scope CurrentUser 
      Import-Module Az.Accounts
      
    2. Per connettersi all'account e alla sottoscrizione di Azure, eseguire i comandi seguenti:

      Connect-AzAccount 
      Set-AzContext -Subscription "<Your subscription name>"
      

      Specificare il nome della sottoscrizione di Azure usato con il dispositivo Azure Stack Edge Mini R per configurare la VPN.

    3. Scaricare lo script necessario per creare la configurazione nel cloud. Lo script consentirà di:

      • Creare una rete virtuale di Azure e le subnet seguenti: GatewaySubnet e AzureFirewallSubnet.
      • Creare e configurare un gateway VPN di Azure.
      • Creare e configurare un gateway di rete locale di Azure.
      • Creare e configurare una connessione VPN di Azure tra il gateway VPN di Azure e il gateway di rete locale.
      • Creare un Firewall di Azure e aggiungere regole di rete, regole dell'app.
      • Creare una tabella di routing di Azure e aggiungervi route.
    4. Creare il gruppo di risorse nella portale di Azure in cui si vuole creare le risorse di Azure. Passare all'elenco dei servizi in portale di Azure, selezionare Gruppo di risorse e quindi selezionare + Aggiungi. Specificare le informazioni sulla sottoscrizione e il nome del gruppo di risorse e quindi selezionare Crea. Se si passa a questo gruppo di risorse, al momento non dovrebbe essere presente alcuna risorsa.

      Azure resource group

    5. Sarà necessario avere un certificato con codifica Base 64 in .cer formato per il dispositivo Azure Stack Edge Mini R. Questo certificato deve essere caricato nel dispositivo Azure Stack Edge come pfx con una chiave privata. Questo certificato deve anche essere installato nella radice attendibile dell'archivio nel client che sta tentando di stabilire la connessione da punto a sito.

Usare lo script

Prima di tutto si modifica il parameters-p2s.json file in modo da immettere i parametri. Eseguire quindi lo script usando il file JSON modificato.

Ognuno di questi passaggi viene illustrato nelle sezioni seguenti.

Scaricare il file dei tag del servizio

Potrebbe essere già presente un ServiceTags.json file nella cartella in cui è stato scaricato lo script. In caso contrario, è possibile scaricare il file dei tag del servizio.

Scaricare i tag del servizio da Azure nel client locale e salvarli come file JSON nella stessa cartella che contiene gli script: https://www.microsoft.com/download/details.aspx?id=56519.

Questo file viene caricato nell'interfaccia utente Web locale in un passaggio successivo.

Modificare il file dei parametri

Il primo passaggio consiste nel modificare il parameters-p2s.json file e salvare le modifiche.

Per le risorse di Azure create, verranno forniti i nomi seguenti:

Nome parametro Descrizione
virtualNetworks_vnet_name Nome Rete virtuale di Azure
azureFirewalls_firewall_name nome Firewall di Azure
routeTables_routetable_name Nome tabella di Route di Azure
publicIPAddresses_VNGW_public_ip_name Nome indirizzo IP pubblico per il gateway di rete virtuale
virtualNetworkGateways_VNGW_name Nome del gateway VPN di Azure (gateway di rete virtuale)
publicIPAddresses_firewall_public_ip_name Nome dell'indirizzo IP pubblico per il Firewall di Azure
posizione Si tratta dell'area in cui si vuole creare la rete virtuale. Selezionare la stessa area di quella associata al dispositivo.
RouteTables_routetable_onprem_name Si tratta del nome della tabella di route aggiuntiva per consentire al firewall di instradare i pacchetti al dispositivo Azure Stack Edge. Lo script crea due route aggiuntive e associa il valore predefinito e FirewallSubnet a questa tabella di route.

Specificare gli indirizzi IP e gli spazi di indirizzi seguenti per le risorse di Azure create, incluse la rete virtuale e le subnet associate (impostazione predefinita, firewall, GatewaySubnet).

Nome parametro Descrizione
VnetIPv4AddressSpace Si tratta dello spazio indirizzi associato alla rete virtuale. Specificare l'intervallo IP della rete virtuale come intervallo IP privato (https://en.wikipedia.org/wiki/Private_network#Private_IPv4_addresses).
DefaultSubnetIPv4AddressSpace Si tratta dello spazio indirizzi associato alla subnet per la Default rete virtuale.
FirewallSubnetIPv4AddressSpace Si tratta dello spazio indirizzi associato alla subnet per la Firewall rete virtuale.
GatewaySubnetIPv4AddressSpace Questo è lo spazio indirizzi associato a per la GatewaySubnet rete virtuale.
GatewaySubnetIPv4bgpPeeringAddress Questo è l'indirizzo IP riservato per la comunicazione BGP e si basa sullo spazio degli indirizzi associato a per la GatewaySubnet rete virtuale.
ClientAddressPool Questo indirizzo IP viene usato per il pool di indirizzi nella configurazione da sito a sito in portale di Azure.
PublicCertData I dati dei certificati pubblici vengono usati dal Gateway VPN per autenticare i client da punto a sito che si connettono. Per ottenere i dati del certificato, installare il certificato radice. Assicurarsi che il certificato sia codificato in Base 64 con estensione cer. Aprire questo certificato e copiare il testo nel certificato tra ==BEGIN CERTIFICATE== e ==END CERTIFICATE== in una riga continua.

Eseguire lo script

Seguire questa procedura per usare lo script modificato parameters-p2s.json ed eseguire lo script per creare risorse di Azure.

  1. Eseguire PowerShell. Passare alla directory in cui si trova lo script.

  2. Eseguire lo script.

    .\AzDeployVpn.ps1 -Location <Location> -AzureAppRuleFilePath "appRule.json" -AzureIPRangesFilePath "<Service tag json file>" -ResourceGroupName "<Resource group name>" -AzureDeploymentName "<Deployment name>" -NetworkRuleCollectionName "<Name for collection of network rules>" -Priority 115 -AppRuleCollectionName "<Name for collection of app rules>"

    Nota

    In questa versione lo script funziona solo nella località Stati Uniti orientali.

    Quando si esegue lo script, sarà necessario immettere le informazioni seguenti:

    Parametro Descrizione
    Ubicazione Si tratta dell'area in cui devono essere create le risorse di Azure.
    AzureAppRuleFilePath Questo è il percorso del file per appRule.json.
    AzureIPRangesFilePath Si tratta del file JSON del tag di servizio scaricato nel passaggio precedente.
    ResourceGroupName Si tratta del nome del gruppo di risorse in cui vengono create tutte le risorse di Azure.
    AzureDeploymentName Questo è il nome per la distribuzione di Azure.
    NetworkRuleCollectionName Si tratta del nome della raccolta di tutte le regole di rete create e aggiunte al Firewall di Azure.
    Priorità Questa è la priorità assegnata a tutte le regole di rete e applicazione create.
    AppRuleCollectionName Si tratta del nome della raccolta di tutte le regole dell'applicazione create e aggiunte al Firewall di Azure.

    Di seguito è riportato un output di esempio.

    PS C:\Offline docs\AzureVpnConfigurationScripts> .\AzDeployVpn.ps1 -Location eastus -AzureAppRuleFilePath "appRule.json" -AzureIPRangesFilePath ".\ServiceTags_Public_20200203.json" -ResourceGroupName "mytmarg3" -AzureDeploymentName "tmap2stestdeploy1" -NetworkRuleCollectionName "testnrc1" -Priority 115 -AppRuleCollectionName "testarc2"
        validating vpn deployment parameters
        Starting vpn deployment
        C:\Offline docs\AzureVpnConfigurationScripts\parameters-p2s.json
        C:\Offline docs\AzureVpnConfigurationScripts\template-p2s.json
        vpn deployment: tmap2stestdeploy1 started and status: Running
        Waiting for vpn deployment completion....
        ==== CUT ==================== CUT ==============
        Adding route 191.236.0.0/18 for AzureCloud.eastus
        Adding route 191.237.0.0/17 for AzureCloud.eastus
        Adding route 191.238.0.0/18 for AzureCloud.eastus
        Total Routes:294, Existing Routes: 74, New Routes Added: 220
        Additional routes getting added
    

    Importante

    • L'esecuzione dello script richiede circa 90 minuti. Assicurarsi di accedere alla rete subito prima dell'avvio dello script.
    • Se per qualsiasi motivo è presente una sessione non riuscita con lo script, assicurarsi di eliminare il gruppo di risorse per eliminare tutte le risorse create al suo interno.

    Al termine dello script, viene generato un log di distribuzione nella stessa cartella in cui risiede lo script.

Verificare le risorse di Azure

Dopo aver eseguito correttamente lo script, verificare che tutte le risorse siano state create in Azure. Passare al gruppo di risorse creato. Verranno visualizzate le risorse seguenti:

Azure resources

Scaricare la rubrica telefonica per il profilo VPN

In questo passaggio si scaricherà il profilo VPN per il dispositivo.

  1. Nella portale di Azure passare al gruppo di risorse e quindi selezionare il gateway di rete virtuale creato nel passaggio precedente.

    Azure virtual network gateway

  2. Passare a Impostazioni > configurazione da punto a sito. Selezionare Scarica client VPN.

    Enable P2S configuration 1

  3. Salvare il profilo compresso ed estrarre nel client Windows.

    Enable P2S configuration 2

  4. Passare alla cartella WindowsAmd64 e quindi estrarre : .exeVpnClientSetupAmd64.exe.

    Enable P2S configuration 3

  5. Creare un percorso temporaneo. Ad esempio:

    C:\NewTemp\vnet\tmp

  6. Eseguire PowerShell e passare alla directory in cui si trova ..exe Per eseguire , .exedigitare:

    .\VpnClientSetupAmd64.exe /Q /C /T:"C:\NewTemp\vnet\tmp"

  7. Il percorso temporaneo avrà nuovi file. Di seguito è riportato un output di esempio:

    
    PS C:\windows\system32> cd "C:\Users\Ase\Downloads\vngw5\WindowsAmd64"
    PS C:\Users\Ase\Downloads\vngw5\WindowsAmd64> .\VpnClientSetupAmd64.exe /Q /C /T:"C:\NewTemp\vnet\tmp"
    PS C:\Users\Ase\Downloads\vngw5\WindowsAmd64> cd "C:\NewTemp\vnet"
    PS C:\NewTemp\vnet> ls .\tmp
    
        Directory: C:\NewTemp\vnet\tmp
    
    Mode                LastWriteTime         Length Name
    ----                -------------         ------ ----
    -a----         2/6/2020   6:18 PM            947 8c670077-470b-421a-8dd8-8cedb4f2f08a.cer
    -a----         2/6/2020   6:18 PM            155 8c670077-470b-421a-8dd8-8cedb4f2f08a.cmp
    -a----         2/6/2020   6:18 PM           3564 8c670077-470b-421a-8dd8-8cedb4f2f08a.cms
    -a----         2/6/2020   6:18 PM          11535 8c670077-470b-421a-8dd8-8cedb4f2f08a.inf
    -a----         2/6/2020   6:18 PM           2285 8c670077-470b-421a-8dd8-8cedb4f2f08a.pbk
    -a----         2/6/2020   6:18 PM           5430 azurebox16.ico
    -a----         2/6/2020   6:18 PM           4286 azurebox32.ico
    -a----         2/6/2020   6:18 PM         138934 azurevpnbanner.bmp
    -a----         2/6/2020   6:18 PM          46064 cmroute.dll
    -a----         2/6/2020   6:18 PM            196 routes.txt
    
    PS C:\NewTemp\vnet>
    
  8. Il file con estensione pbk è la rubrica telefonica per il profilo VPN. Questa operazione verrà usata nell'interfaccia utente locale.

Configurazione VPN nel dispositivo

Seguire questa procedura nell'interfaccia utente locale del dispositivo Azure Stack Edge.

  1. Nell'interfaccia utente locale passare alla pagina VPN . In Stato VPN selezionare Configura.

    Configure VPN 1

  2. Nel pannello Configura VPN:

    1. Nel file Carica rubrica fare riferimento al file con estensione pbk creato nel passaggio precedente.
    2. Nel file di configurazione Upload public IP list (Carica file di configurazione dell'elenco IP pubblico) specificare il file JSON dell'intervallo IP del data center di Azure come input. Il file è stato scaricato in un passaggio precedente da: https://www.microsoft.com/download/details.aspx?id=56519.
    3. Selezionare eastus come area e selezionare Applica.

    Configure VPN 2

  3. Nella sezione Intervalli di indirizzi IP a cui accedere usando solo VPN immettere l'intervallo IPv4 della rete virtuale scelto per l'Rete virtuale di Azure.

    Configure VPN 3

Verificare la connessione client

  1. Nella portale di Azure passare al gateway VPN.
  2. Passare a Impostazioni > configurazione da punto a sito. In Indirizzi IP allocati, verrà visualizzato l'indirizzo IP del dispositivo Azure Stack Edge.

Convalidare il trasferimento dei dati tramite VPN

Per verificare che la VPN funzioni, copiare i dati in una condivisione SMB. Seguire la procedura descritta in Aggiungere una condivisione nel dispositivo Azure Stack Edge.

  1. Copiare un file, ad esempio \data\pictures\waterfall.jpg nella condivisione SMB montata nel sistema client.

  2. Per verificare che i dati vengano sottoposti a VPN, durante la copia dei dati:

    1. Passare al gateway VPN nel portale di Azure.

    2. Passare a Monitoraggio > metriche.

    3. Nel riquadro destro scegliere Ambito come gateway VPN, Metrica come larghezza di banda da gateway P2S e Aggregazione come media.

    4. Man mano che i dati verranno copiati, si noterà un aumento dell'utilizzo della larghezza di banda e al termine della copia dei dati, l'utilizzo della larghezza di banda scenderà.

      Azure vpn metrics

  3. Verificare che questo file sia visualizzato nell'account di archiviazione nel cloud.

Eseguire il debug dei problemi

Per eseguire il debug di eventuali problemi, usare i comandi seguenti:

Get-AzResourceGroupDeployment -DeploymentName $deploymentName -ResourceGroupName $ResourceGroupName

L'output di esempio è illustrato di seguito:

PS C:\Projects\TZL\VPN\Azure-VpnDeployment> Get-AzResourceGroupDeployment -DeploymentName "tznvpnrg14_deployment" -ResourceGroupName "tznvpnrg14"


DeploymentName          : tznvpnrg14_deployment
ResourceGroupName       : tznvpnrg14
ProvisioningState       : Succeeded
Timestamp               : 1/21/2020 6:23:13 PM
Mode                    : Incremental
TemplateLink            :
Parameters              :
                          Name                                         Type                       Value
                          ===========================================  =========================  ==========
                          virtualNetworks_vnet_name                    String                     tznvpnrg14_vnet
                          azureFirewalls_firewall_name                 String                     tznvpnrg14_firewall
                          routeTables_routetable_name                  String                     tznvpnrg14_routetable
                          publicIPAddresses_VNGW_public_ip_name        String                     tznvpnrg14_vngwpublicip
                          virtualNetworkGateways_VNGW_name             String                     tznvpnrg14_vngw
                          publicIPAddresses_firewall_public_ip_name    String                     tznvpnrg14_fwpip
                          localNetworkGateways_LNGW_name               String                     tznvpnrg14_lngw
                          connections_vngw_lngw_name                   String                     tznvpnrg14_connection
                          location                                     String                     East US
                          vnetIPv4AddressSpace                         String                     172.24.0.0/16
                          defaultSubnetIPv4AddressSpace                String                     172.24.0.0/24
                          firewallSubnetIPv4AddressSpace               String                     172.24.1.0/24
                          gatewaySubnetIPv4AddressSpace                String                     172.24.2.0/24
                          gatewaySubnetIPv4bgpPeeringAddress           String                     172.24.2.254
                          customerNetworkAddressSpace                  String                     10.0.0.0/18
                          customerPublicNetworkAddressSpace            String                     207.68.128.0/24
                          dbeIOTNetworkAddressSpace                    String                     10.139.218.0/24
                          azureVPNsharedKey                            String                     1234567890
                          dbE-Gateway-ipaddress                        String                     207.68.128.113

Outputs                 :
                          Name                     Type                       Value
                          =======================  =========================  ==========
                          virtualNetwork           Object                     {
                            "provisioningState": "Succeeded",
                            "resourceGuid": "dcf673d3-5c73-4764-b077-77125eda1303",
                            "addressSpace": {
                              "addressPrefixes": [
                                "172.24.0.0/16"
                              ]
================= CUT ============================= CUT ===========================
Get-AzResourceGroupDeploymentOperation -ResourceGroupName $ResourceGroupName -DeploymentName $AzureDeploymentName

Passaggi successivi

Configurare la VPN tramite l'interfaccia utente locale nel dispositivo Azure Stack Edge.