Configurare connessioni coesistenti expressroute e da sito a sito tramite PowerShell
Questo articolo illustra come configurare connessioni VPN expressroute e da sito a sito coesistenti. La configurazione di entrambe le connessioni presenta diversi vantaggi:
- È possibile configurare una VPN da sito a sito come percorso di failover sicuro per ExpressRoute.
- In alternativa, è possibile usare VPN da sito a sito per connettersi a siti non connessi tramite ExpressRoute.
Questo articolo illustra i passaggi necessari per configurare entrambi questi scenari. Questo articolo si applica al modello di distribuzione di Resource Manager e usa PowerShell. È anche possibile configurare questi scenari usando il portale di Azure, anche se la documentazione non è ancora disponibile. È possibile configurare per primo uno dei due gateway. In genere, non si verificano tempi di inattività durante l'aggiunta di una nuova connessione gateway o gateway.
Nota
Se si vuole creare una VPN da sito a sito su un circuito ExpressRoute, vedere VPN da sito a sito tramite peering Microsoft.
Limiti e limitazioni
- È supportato solo il gateway VPN basato su route. È necessario usare un gateway VPN basato su route. È anche possibile usare un gateway VPN basato su route con una connessione VPN configurata per i selettori di traffico basati su criteri, come descritto in Connettersi a più dispositivi VPN basati su criteri.
- Le configurazioni coesistenti di ExpressRoute-Gateway VPN non sono supportate con l'INDIRIZZO IP pubblico dello SKU Basic.
- Se si vuole usare il routing di transito tra ExpressRoute e VPN, è necessario impostare l'ASN di Azure Gateway VPN su 65515 e usare il server di route di Azure. Azure Gateway VPN supporta il protocollo di routing BGP. Per integrare ExpressRoute e la VPN di Azure, è necessario mantenere il valore predefinito 65515 del numero di sistema autonomo (ASN, Autonomous System Number) del gateway VPN di Azure. Se in precedenza è stato selezionato un numero ASN diverso da 65515 e lo si modifica impostandolo su 65515, è necessario reimpostare il gateway VPN per rendere effettiva l'impostazione.
- La subnet del gateway deve essere /27 o un prefisso più breve, ad esempio /26 o /25 oppure viene visualizzato un messaggio di errore quando si aggiunge il gateway di rete virtuale ExpressRoute.
Progetti di configurazione
Configurare una VPN da sito a sito come percorso di failover per ExpressRoute
È possibile configurare una connessione VPN da sito a sito come backup per la connessione ExpressRoute. Questa configurazione si applica solo alle reti virtuali collegate al percorso di peering privato di Azure. Non esiste alcuna soluzione di failover basato su VPN per i servizi accessibili tramite i peering di Microsoft Azure. Il circuito ExpressRoute è sempre il collegamento primario e i dati passano attraverso il percorso VPN da sito a sito solo se il circuito ExpressRoute non riesce. Per evitare il routing asimmetrico, configurare la rete locale in modo che preferisca il circuito ExpressRoute rispetto alla VPN da sito a sito impostando una preferenza locale più elevata per le route ricevute tramite ExpressRoute.
Nota
- Se è abilitato il peering Microsoft ExpressRoute, è possibile ricevere l'indirizzo IP pubblico del gateway VPN di Azure nella connessione ExpressRoute. Per configurare la connessione VPN da sito a sito come backup, configurare la rete locale in modo che la connessione VPN venga instradata a Internet.
- Anche se il percorso del circuito ExpressRoute è preferibile rispetto alla VPN da sito a sito quando entrambe le route sono uguali, Azure usa la corrispondenza del prefisso più lunga per scegliere la route verso la destinazione del pacchetto.
Configurare una VPN da sito a sito per connettersi a siti non connessi tramite ExpressRoute
È possibile configurare la rete in modo che alcuni siti si connettano direttamente ad Azure tramite una VPN da sito a sito, mentre altri si connettono tramite ExpressRoute.
Selezione dei passaggi da usare
È possibile scegliere tra due set diversi di procedure. La procedura di configurazione selezionata dipende dalla presenza di una rete virtuale esistente o dalla necessità di crearne una nuova.
Non ho una rete virtuale ed è necessario crearne una.
Se non si ha già una rete virtuale, questa procedura illustra come creare una nuova rete virtuale usando il modello di distribuzione Resource Manager e creare nuove connessioni ExpressRoute e VPN da sito a sito.
Si dispone già di una rete virtuale del modello di distribuzione di Resource Manager.
Se si dispone già di una rete virtuale con una connessione VPN da sito a sito o ExpressRoute esistente e il prefisso della subnet del gateway è /28 o più lungo (/29, /30 e così via), è necessario eliminare il gateway esistente. La procedura per configurare le connessioni coesistenti per una sezione di rete virtuale esistente illustra come eliminare il gateway e quindi creare nuove connessioni EXPRESSRoute e VPN da sito a sito.
L'eliminazione e la ricreazione del gateway causano tempi di inattività per le connessioni cross-premise. Tuttavia, le macchine virtuali e i servizi possono connettersi tramite Internet mentre si configura il gateway se sono configurati per farlo.
Operazioni preliminari
I passaggi e gli esempi in questo articolo usano i moduli Az di Azure PowerShell. Per installare il modulo Az nel computer locale, vedere Installare Azure PowerShell. Per altre informazioni, vedere Introduzione al nuovo modulo Az di Azure PowerShell. I cmdlet di PowerShell vengono aggiornati di frequente. Se non si esegue la versione più recente, i valori specificati nelle istruzioni potrebbero generare errori. Per trovare la versione installata di PowerShell nel sistema, usare il cmdlet Get-Module -ListAvailable Az
.
È possibile usare Azure Cloud Shell per eseguire la maggior parte dei cmdlet di PowerShell e dei comandi dell'interfaccia della riga di comando, invece di installare Azure PowerShell o l'interfaccia della riga di comando localmente. Azure Cloud Shell è una shell interattiva gratuita, configurata per l'uso con il proprio account, in cui sono preinstallati gli strumenti comuni di Azure. Per eseguire il codice contenuto in questo articolo in Azure Cloud Shell, aprire una sessione di Cloud Shell, usare il pulsante Copia in un blocco di codice per copiare il codice e incollarlo nella sessione di Cloud Shell con CTRL+MAIUSC+V in Windows e Linux o CMD+MAIUSC+V in macOS. Il testo incollato non viene eseguito automaticamente. Premere INVIO per eseguire il codice.
Esistono alcuni modi per avviare Cloud Shell:
Questa procedura illustra come creare una rete virtuale e configurare connessioni VPN coesistenti da sito a sito ed ExpressRoute. I cmdlet usati in questa configurazione potrebbero essere diversi dai cmdlet con cui si ha familiarità, quindi assicurarsi di usare i cmdlet specificati.
Accedere e selezionare la sottoscrizione.
Se si usa Azure Cloud Shell, l'accesso all'account di Azure viene eseguito automaticamente quando si fa clic su 'Prova'. Per accedere in locale, aprire la console di PowerShell con privilegi elevati ed eseguire il cmdlet per connettersi.
Connect-AzAccount
Se si dispone di più sottoscrizioni, ottenere un elenco delle sottoscrizioni di Azure.
Get-AzSubscription
Specificare la sottoscrizione da usare.
Select-AzSubscription -SubscriptionName "Name of subscription"
Definire le variabili e creare un gruppo di risorse.
$location = "Central US" $resgrp = New-AzResourceGroup -Name "ErVpnCoex" -Location $location $VNetASN = 65515
Creare una rete virtuale che includa .
GatewaySubnet
Per altre informazioni sulle creazione di una rete virtuale, vedere Creare una rete virtuale. Per altre informazioni sulla creazione di subnet, vedere Creare una subnet.Importante
GatewaySubnet deve essere un prefisso /27 o più breve, ad esempio /26 o /25.
Creare una nuova rete virtuale.
$vnet = New-AzVirtualNetwork -Name "CoexVnet" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AddressPrefix "10.200.0.0/16"
Aggiungere due subnet denominate App e GatewaySubnet.
Add-AzVirtualNetworkSubnetConfig -Name "App" -VirtualNetwork $vnet -AddressPrefix "10.200.1.0/24" Add-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet -AddressPrefix "10.200.255.0/24"
Salvare la configurazione della rete virtuale.
$vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet
Creare il gateway VPN da sito a sito. Per altre informazioni sulla configurazione del gateway VPN, vedere Configurare una rete virtuale con una connessione da sito a sito. GatewaySku è supportato per i gateway VPN VpnGw1, VpnGw2, VpnGw3, Standard e HighPerformance . Le configurazioni con coesistenza di gateway VPN ed ExpressRoute non sono supportate nello SKU di livello Basic. Il valore di VpnType deve essere RouteBased.
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet $gwIP = New-AzPublicIpAddress -Name "VPNGatewayIP" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AllocationMethod Dynamic $gwConfig = New-AzVirtualNetworkGatewayIpConfig -Name "VPNGatewayIpConfig" -SubnetId $gwSubnet.Id -PublicIpAddressId $gwIP.Id New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
Il gateway VPN di Azure supporta il protocollo di routing BGP. È possibile specificare l'ASN (numero AS) per la rete virtuale aggiungendo il
-Asn
flag nel comando seguente. Se non si specifica ilAsn
parametro, il numero AS viene impostato su 65515.$azureVpn = New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
Nota
Per i gateway coesistenti, è necessario usare l'ASN predefinito 65515. Per altre informazioni, vedere Limiti e limitazioni.
È possibile trovare l'IP del peering BGP e il numero AS usato da Azure per il gateway VPN eseguendo
$azureVpn.BgpSettings.BgpPeeringAddress
e$azureVpn.BgpSettings.Asn
. Per altre informazioni, vedere Configurare BGP per il gateway VPN di VPN.Creare un'entità gateway VPN del sito locale. Questo comando non configura il gateway VPN locale. Consente invece di specificare le impostazioni del gateway locale, ad esempio l'indirizzo IP pubblico e lo spazio indirizzi locale, in modo che il gateway VPN di Azure possa connettersi.
Se il dispositivo VPN locale supporta solo il routing statico, configurare le route statiche come indicato di seguito:
$MyLocalNetworkAddress = @("10.100.0.0/16","10.101.0.0/16","10.102.0.0/16") $localVpn = New-AzLocalNetworkGateway -Name "LocalVPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -GatewayIpAddress "<Public IP>" -AddressPrefix $MyLocalNetworkAddress
Se il dispositivo VPN locale supporta BGP e si vuole abilitare il routing dinamico, è necessario conoscere l'IP del peering BGP e il numero AS del dispositivo VPN locale.
$localVPNPublicIP = "<Public IP>" $localBGPPeeringIP = "<Private IP for the BGP session>" $localBGPASN = "<ASN>" $localAddressPrefix = $localBGPPeeringIP + "/32" $localVpn = New-AzLocalNetworkGateway -Name "LocalVPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -GatewayIpAddress $localVPNPublicIP -AddressPrefix $localAddressPrefix -BgpPeeringAddress $localBGPPeeringIP -Asn $localBGPASN
Configurare il dispositivo VPN locale per la connessione al nuovo gateway VPN di Azure. Per altre informazioni sulla configurazione del dispositivo VPN, vedere l'articolo relativo alla configurazione del dispositivo VPN.
Collegare il gateway VPN da sito a sito in Azure al gateway locale.
$azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName New-AzVirtualNetworkGatewayConnection -Name "VPNConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $azureVpn -LocalNetworkGateway2 $localVpn -ConnectionType IPsec -SharedKey "<yourkey>"
Se ci si connette a un circuito ExpressRoute esistente, ignorare i passaggi 8 e 9 e passare al passaggio 10. Configurare circuiti ExpressRoute. Per altre informazioni sulla configurazione dei circuiti ExpressRoute, vedere Creare un circuito ExpressRoute.
Configurare il peering privato di Azure tramite il circuito ExpressRoute. Per altre informazioni sulla configurazione del peering privato di Azure sul circuito ExpressRoute, vedere Configurare il peering.
Creare un gateway ExpressRoute. Per altre informazioni sulla configurazione di gateway ExpressRoute, vedere il relativo articolo. Il valore di GatewaySKU deve essere Standard, HighPerformance o UltraPerformance.
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet
$gwIP = New-AzPublicIpAddress -Name "ERGatewayIP" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AllocationMethod Dynamic
$gwConfig = New-AzVirtualNetworkGatewayIpConfig -Name "ERGatewayIpConfig" -SubnetId $gwSubnet.Id -PublicIpAddressId $gwIP.Id
$gw = New-AzVirtualNetworkGateway -Name "ERGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "ExpressRoute" -GatewaySku Standard
- Collegare il gateway ExpressRoute al circuito ExpressRoute. Dopo aver completato questo passaggio, la connessione tra la rete locale e Azure viene stabilita tramite ExpressRoute. Per altre informazioni sull'operazione di collegamento, vedere Collegamento di reti virtuali a circuiti ExpressRoute.
$ckt = Get-AzExpressRouteCircuit -Name "YourCircuit" -ResourceGroupName "YourCircuitResourceGroup"
New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $gw -PeerId $ckt.Id -ConnectionType ExpressRoute