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:
- Configurare i prerequisiti.
- Configurare le risorse necessarie in Azure.
- Creare e configurare una rete virtuale e le subnet necessarie.
- Creare e configurare un gateway VPN di Azure (gateway di rete virtuale).
- Configurare Firewall di Azure e aggiungere regole di rete e app.
- Creare tabelle di routing di Azure e aggiungere route.
- Abilitare Da punto a sito nel gateway VPN.
- Aggiungere il pool di indirizzi client.
- Configurare il tipo di tunnel.
- Configurare il tipo di autenticazione.
- Creare un certificato.
- Caricare il certificato.
- Scarica rubrica telefonica.
- Configurare la VPN nell'interfaccia utente Web locale del dispositivo.
- Specificare la rubrica.
- 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.
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
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.
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.
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.
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 comepfx
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.
Eseguire PowerShell. Passare alla directory in cui si trova lo script.
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:
Scaricare la rubrica telefonica per il profilo VPN
In questo passaggio si scaricherà il profilo VPN per il dispositivo.
Nella portale di Azure passare al gruppo di risorse e quindi selezionare il gateway di rete virtuale creato nel passaggio precedente.
Passare a Impostazioni > configurazione da punto a sito. Selezionare Scarica client VPN.
Salvare il profilo compresso ed estrarre nel client Windows.
Passare alla cartella WindowsAmd64 e quindi estrarre :
.exe
VpnClientSetupAmd64.exe.Creare un percorso temporaneo. Ad esempio:
C:\NewTemp\vnet\tmp
Eseguire PowerShell e passare alla directory in cui si trova .
.exe
Per eseguire ,.exe
digitare:.\VpnClientSetupAmd64.exe /Q /C /T:"C:\NewTemp\vnet\tmp"
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>
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.
Nell'interfaccia utente locale passare alla pagina VPN . In Stato VPN selezionare Configura.
Nel pannello Configura VPN:
- Nel file Carica rubrica fare riferimento al file con estensione pbk creato nel passaggio precedente.
- 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.
- Selezionare eastus come area e selezionare Applica.
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.
Verificare la connessione client
- Nella portale di Azure passare al gateway VPN.
- 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.
Copiare un file, ad esempio \data\pictures\waterfall.jpg nella condivisione SMB montata nel sistema client.
Per verificare che i dati vengano sottoposti a VPN, durante la copia dei dati:
Passare al gateway VPN nel portale di Azure.
Passare a Monitoraggio > metriche.
Nel riquadro destro scegliere Ambito come gateway VPN, Metrica come larghezza di banda da gateway P2S e Aggregazione come media.
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à.
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.