Condividi tramite


Creare un gateway VPN tramite PowerShell

Questo articolo illustra come creare un gateway VPN di Azure con PowerShell. Il gateway VPN viene usato quando si crea una connessione VPN alla rete locale. È anche possibile usare un gateway VPN per connettere reti virtuali. Per informazioni più complete su alcune delle impostazioni illustrate in questo articolo, vedere Creare un gateway VPN-portale.

Diagramma che mostra una rete virtuale e un gateway VPN.

  • Sul lato sinistro del diagramma vengono mostrati la rete virtuale e il gateway VPN creati seguendo i passaggi descritti in questo articolo.
  • In seguito, è possibile aggiungere diversi tipi di connessioni, come viene mostrato nella parte destra del diagramma. Ad esempio, è possibile creare connessioni da sito a sito e da punto a sito. Per visualizzare le diverse architetture di progettazione che è possibile creare, vedere Progettazione di gateway VPN.

I passaggi descritti in questo articolo creano una rete virtuale, una subnet, una subnet del gateway e un gateway VPN attivo-attivo con ridondanza della zona e con ridondanza della zona (gateway di rete virtuale) usando lo SKU VpnGw2AZ di seconda generazione. Dopo aver creato il gateway, è possibile configurare le connessioni.

  • Se invece si vuole creare un gateway VPN usando lo SKU Basic, vedere Creare un gateway VPN con SKU Basic.
  • È consigliabile creare un gateway VPN in modalità attiva quando possibile. I gateway VPN in modalità attiva offrono una disponibilità e prestazioni migliori rispetto ai gateway VPN in modalità standard. Per altre informazioni sui gateway attivi-attivi, vedere Informazioni sui gateway in modalità active-active.
  • Per informazioni sulle zone di disponibilità e sui gateway con ridondanza della zona, vedere Che cosa sono le zone di disponibilità?

Nota

Nei passaggi descritti in questo articolo viene usato lo SKU del gateway VpnGw2AZ, che supporta le zone di disponibilità di Azure. Se le zone di disponibilità non sono supportate per l'area, usare invece uno SKU non AZ. Per informazioni sugli SKU, vedere Informazioni sugli SKU del gateway.

Operazioni preliminari

Questi passaggi richiedono una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Questo articolo usa i cmdlet di PowerShell. Per eseguire i cmdlet, è possibile usare Azure Cloud Shell. Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.

Per aprire Cloud Shell, basta selezionare Apri Cloud Shell nell'angolo superiore destro di un blocco di codice. È anche possibile aprire Cloud Shell in una scheda separata del browser andando su https://shell.azure.com/powershell. Selezionare Copia per copiare i blocchi di codice e incollarli in Cloud Shell, poi premere INVIO per eseguirli.

È anche possibile installare ed eseguire i cmdlet di Azure PowerShell in locale nel computer. I cmdlet di PowerShell vengono aggiornati di frequente. Se non è stata installata la versione più recente, i valori specificati nelle istruzioni potrebbero non avere successo. Per trovare le versioni di Azure PowerShell installate nel computer, usare il cmdlet Get-Module -ListAvailable Az. Per installare o aggiornare, vedere Installare il modulo Azure PowerShell.

Creare un gruppo di risorse

Creare un gruppo di risorse di Azure usando il comando New-AzResourceGroup . Un gruppo di risorse è un contenitore logico in cui vengono distribuite e gestite le risorse di Azure. Se si esegue PowerShell in locale, aprire la console di PowerShell con privilegi elevati e connettersi a Azure per mezzo del comando Connect-AzAccount.

New-AzResourceGroup -Name TestRG1 -Location EastUS

Creare una rete virtuale

Se non si ha già una rete virtuale, crearne una con New-AzVirtualNetwork. Quando si crea una rete virtuale, assicurarsi che gli spazi indirizzi specificati non si sovrappongano ad alcuno degli spazi indirizzi presenti nella rete locale. Se esiste un intervallo di indirizzi duplicato su entrambi i lati della connessione VPN, il traffico non instrada il modo in cui potrebbe essere previsto. Inoltre, se si vuole connettere questa rete virtuale a un'altra rete virtuale, lo spazio indirizzi non può sovrapporsi ad altre reti virtuali. Pianificare quindi con attenzione la configurazione della rete.

L'esempio seguente crea una rete virtuale denominata VNet1 nella posizione EastUS:

$virtualnetwork = New-AzVirtualNetwork `
  -ResourceGroupName TestRG1 `
  -Location EastUS `
  -Name VNet1 `
  -AddressPrefix 10.1.0.0/16

Creare una configurazione della subnet usando il cmdlet New-AzVirtualNetworkSubnetConfig. La subnet FrontEnd non viene usata in questo esercizio. È possibile sostituire il nome della subnet.

$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
  -Name FrontEnd `
  -AddressPrefix 10.1.0.0/24 `
  -VirtualNetwork $virtualnetwork

Impostare la configurazione della subnet per la rete virtuale usando il cmdlet Set-AzVirtualNetwork.

$virtualnetwork | Set-AzVirtualNetwork

Aggiungere una subnet del gateway

Le risorse del gateway di rete virtuale vengono distribuite in una subnet specifica denominata GatewaySubnet. La subnet del gateway è inclusa nell'intervallo di indirizzi IP della rete virtuale specificato durante la configurazione della rete virtuale.

Se non si ha una subnet denominata GatewaySubnet, quando si crea il gateway VPN, l'operazione ha esito negativo. È consigliabile creare una subnet del gateway che usa /27 (o superiore). Ad esempio, /27 o /26. Per altre informazioni, vedere impostazioni Gateway VPN - Subnet del gateway.

Importante

I gruppi di sicurezza di rete nella subnet del gateway non sono supportati. Se si associa un gruppo di sicurezza di rete a tale subnet, il gateway della rete virtuale (VPN e gateway Express Route) potrebbe smettere di funzionare come previsto. Per altre informazioni sui gruppi di sicurezza di rete, vedere Che cos'è un gruppo di sicurezza di rete.

Impostare una variabile per la rete virtuale.

$vnet = Get-AzVirtualNetwork -ResourceGroupName TestRG1 -Name VNet1

Creare la subnet del gateway usando il cmdlet Add-AzVirtualNetworkSubnetConfig.

Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.1.255.0/27 -VirtualNetwork $vnet

Impostare la configurazione della subnet per la rete virtuale usando il cmdlet Set-AzVirtualNetwork.

$vnet | Set-AzVirtualNetwork

Richiedere indirizzi IP pubblici

Un gateway VPN deve avere un indirizzo IP pubblico. Si tratta dell'indirizzo IP specificato durante la creazione di una connessione in un gateway VPN. Per i gateway in modalità active-active, ogni istanza del gateway ha una propria risorsa indirizzo IP pubblico. È necessario richiedere prima di tutto la risorsa dell'indirizzo IP e quindi farvi riferimento durante la creazione del gateway di rete virtuale. Inoltre, per qualsiasi SKU del gateway che termina con AZ, è necessario specificare anche l'impostazione Zona. In questo esempio viene specificata una configurazione con ridondanza della zona perché specifica tutte e tre le zone a livello di area.

L'indirizzo IP viene assegnato alla risorsa quando viene creato il gateway VPN. L'unica volta in cui l'indirizzo IP pubblico viene modificato è quando il gateway viene eliminato e creato di nuovo. Non viene modificato in caso di ridimensionamento, reimpostazione o altre manutenzioni/aggiornamenti del gateway VPN.

Usare gli esempi seguenti per richiedere un indirizzo IP pubblico statico per ogni istanza del gateway.

$gw1pip1 = New-AzPublicIpAddress -Name "VNet1GWpip1" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard -Zone 1,2,3

Per creare un gateway attivo-attivo (scelta consigliata), richiedere un secondo indirizzo IP pubblico:

$gw1pip2 = New-AzPublicIpAddress -Name "VNet1GWpip2" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard -Zone 1,2,3

Creare la configurazione dell'indirizzo IP del gateway

La configurazione del gateway definisce la subnet e l'indirizzo IP pubblico da utilizzare. Per creare la configurazione del gateway, usare l'esempio seguente.

$vnet = Get-AzVirtualNetwork -Name VNet1 -ResourceGroupName TestRG1
$subnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet

$gwipconfig1 = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $subnet.Id -PublicIpAddressId $gw1pip1.Id
$gwipconfig2 = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig2 -SubnetId $subnet.Id -PublicIpAddressId $gw1pip2.Id

Creare il gateway VPN

La creazione di un gateway spesso richiede anche più di 45 minuti di tempo a seconda dello SKU gateway selezionato. Dopo aver creato il gateway, è possibile creare una connessione tra la rete virtuale e il percorso locale. In alternativa, creare una connessione tra la rete virtuale e un'altra rete virtuale.

Creare un gateway VPN usando il cmdlet New-AzVirtualNetworkGateway. Si noti che negli esempi viene fatto riferimento a entrambi gli indirizzi IP pubblici e che il gateway è configurato come attivo-attivo tramite l'opzione EnableActiveActiveFeature . Nell'esempio viene aggiunta l'opzione -Debug facoltativa. Per creare un gateway usando uno SKU diverso, vedere Informazioni sugli SKU del gateway per determinare lo SKU più adatto ai requisiti di configurazione.

New-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 `
-Location "East US" -IpConfigurations $gwipconfig1,$gwipconfig2 -GatewayType "Vpn" -VpnType RouteBased `
-GatewaySku VpnGw2AZ -VpnGatewayGeneration Generation2 -EnableActiveActiveFeature -Debug

Visualizzare il gateway VPN

È possibile visualizzare il gateway VPN usando il cmdlet Get-AzVirtualNetworkGateway.

Get-AzVirtualNetworkGateway -Name Vnet1GW -ResourceGroup TestRG1

Visualizzare gli indirizzi IP del gateway

A ogni istanza del gateway VPN viene assegnata una risorsa indirizzo IP pubblico. Per visualizzare l'indirizzo IP associato alla risorsa, usare il cmdlet Get-AzPublicIpAddress . Ripetere per ogni istanza del gateway. I gateway attivi hanno un indirizzo IP pubblico diverso assegnato a ogni istanza.

Get-AzPublicIpAddress -Name VNet1GWpip1 -ResourceGroupName TestRG1

Pulire le risorse

Quando le risorse create non sono più necessarie, usare il comando Remove-AzResourceGroup per eliminare il gruppo di risorse. Il comando elimina il gruppo di risorse e tutte le risorse in esso contenute.

Remove-AzResourceGroup -Name TestRG1

Passaggi successivi

Dopo aver creato il gateway, è possibile configurare le connessioni.