Connettere reti virtuali da diversi modelli di distribuzione usando PowerShell

Questo articolo descrive come connettere reti virtuali classiche a reti virtuali di Resource Manager per consentire alle risorse presenti nei modelli di distribuzione separati di comunicare tra di loro. La procedura descritta in questo articolo usa PowerShell, tuttavia è inoltre possibile creare questa configurazione tramite il portale di Azure selezionando l'articolo da questo elenco.

La connessione di una rete virtuale classica a una rete virtuale di Resource Manager è simile alla connessione di una rete virtuale a una posizione del sito locale. Entrambi i tipi di connettività utilizzano un gateway VPN per fornire un tunnel sicuro tramite IPsec/IKE. È possibile creare una connessione tra reti virtuali in sottoscrizioni diverse e in aree diverse. È anche possibile connettere reti virtuali che già dispongono di connessioni alle reti locali, purché il gateway con cui sono state configurate sia dinamico o basato su route. Per altre informazioni sulle connessioni da rete virtuale a rete virtuale, vedere la sezione Domande frequenti relative alla connessione da rete virtuale a rete virtuale alla fine di questo articolo.

Se le reti virtuali si trovano nella stessa area, è consigliabile considerare invece la possibilità di connetterle tramite peering reti virtuali. Peering reti virtuali non usa un gateway VPN. Per altre informazioni, vedere Peering reti virtuali.

Prima di iniziare

I passaggi seguenti illustrano le impostazioni necessarie per configurare un gateway dinamico o basato su route per ogni rete virtuale e creare una connessione VPN tra i gateway. Questa configurazione non supporta i gateway con routing statico o basati su criteri.

Prerequisiti

  • Entrambe le reti virtuali sono già state create.
  • Gli intervalli di indirizzi per le reti virtuali non si sovrappongono l'uno con l'altro o non si sovrappongano con gli intervalli delle eventuali altre connessioni a cui i gateway potrebbero essere collegati.
  • Sono stati installati i cmdlet di PowerShell più recenti. Per altre informazioni, vedere Come installare e configurare Azure PowerShell . Assicurarsi di installare sia i cmdlet di Gestione dei servizi (SM) che i cmdlet di Resource Manager (RM).

Impostazioni di esempio

È possibile usare questi valori per creare un ambiente di test o farvi riferimento per comprendere meglio gli esempi di questo articolo.

Impostazioni della rete virtuale classica

Nome rete virtuale = ClassicVNet
Località = Stati Uniti occidentali
Spazi degli indirizzi della rete virtuale = 10.0.0.0/24
Subnet-1 = 10.0.0.0/27
GatewaySubnet = 10.0.0.32/29
Nome della rete locale = RMVNetLocal
GatewayType = DynamicRouting

Impostazioni della rete virtuale di Resource Manager

Nome della rete virtuale = RMVNet
Gruppo di risorse= RG1
Spazi degli indirizzi della rete virtuale = 192.168.0.0/16
Subnet-1 = 192.168.1.0/24
GatewaySubnet = 192.168.0.0/26
Località = Stati Uniti orientali
Nome IP pubblico del gateway = gwpip
Gateway di rete locale = ClassicVNetLocal
Nome gateway di rete virtuale = RMGateway
Configurazione di indirizzamento IP del gateway = gwipconfig

Sezione 1: Configurare una rete virtuale classica

1. Eseguire il download del file di configurazione di rete

  1. Accedere all'account Azure nella console di PowerShell con diritti elevati. Il cmdlet seguente richiede le credenziali di accesso per l'account Azure. Dopo l'accesso, vengono scaricate le impostazioni dell'account in modo che siano disponibili per Azure PowerShell. Per completare questa parte della configurazione, si usano i cmdlet PowerShell di Gestione dei servizi.

    Add-AzureAccount
    
  2. Esportare il file di configurazione di rete di Azure eseguendo il comando seguente. Se necessario è possibile modificare il percorso del file da esportare.

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  3. Aprire il file XML scaricato per modificarlo. Per un esempio del file di configurazione di rete, vedere lo Schema di configurazione di rete.

2. Verificare la subnet del gateway

Nell'elemento VirtualNetworkSites aggiungere una subnet del gateway alla rete virtuale se non ne è ancora stato creato uno. Quando si lavora con il file di configurazione di rete, la subnet del gateway DEVE essere denominata "GatewaySubnet", altrimenti Azure non potrà riconoscerla e utilizzarla come una subnet del gateway.

Importante

Quando si usano le subnet del gateway, evitare di associare un gruppo di sicurezza di rete (NSG) alla subnet del gateway. Se si associa un gruppo di sicurezza di rete a tale subnet, il gateway VPN potrebbe smettere di funzionare come previsto. Per altre informazioni sui gruppi di sicurezza di rete, vedere Che cos'è un gruppo di sicurezza di rete.

Esempio:

<VirtualNetworkSites>
  <VirtualNetworkSite name="ClassicVNet" Location="West US">
    <AddressSpace>
      <AddressPrefix>10.0.0.0/24</AddressPrefix>
    </AddressSpace>
    <Subnets>
      <Subnet name="Subnet-1">
        <AddressPrefix>10.0.0.0/27</AddressPrefix>
      </Subnet>
      <Subnet name="GatewaySubnet">
        <AddressPrefix>10.0.0.32/29</AddressPrefix>
      </Subnet>
    </Subnets>
  </VirtualNetworkSite>
</VirtualNetworkSites>

3. Aggiungere il sito di rete locale

Il sito di rete locale aggiunto rappresenta la rete virtuale di Resource Manager a cui si desidera connettersi. Aggiungere un elemento LocalNetworkSites al file, se non ne esiste già uno. A questo punto nella configurazione, il parametro VPNGatewayAddress può essere qualsiasi indirizzo IP pubblico valido poiché non è stato ancora creato il gateway per la rete virtuale di Resource Manager. Dopo aver creato il gateway, l'indirizzo IP segnaposto verrà sostituito con l'indirizzo IP pubblico corretto assegnato al gateway di Resource Manager.

<LocalNetworkSites>
  <LocalNetworkSite name="RMVNetLocal">
    <AddressSpace>
      <AddressPrefix>192.168.0.0/16</AddressPrefix>
    </AddressSpace>
    <VPNGatewayAddress>13.68.210.16</VPNGatewayAddress>
  </LocalNetworkSite>
</LocalNetworkSites>

4. Associare la rete locale al sito della rete locale

Questa sezione descrive come specificare il sito di rete locale a cui si desidera connettere la rete virtuale. In questo caso, è la rete virtuale di Resource Manager a cui si è fatto riferimento in precedenza. Assicurarsi che i nomi corrispondano. Questo passaggio non crea un gateway. Specifica la rete locale a cui il gateway si collegherà.

    <Gateway>
      <ConnectionsToLocalNetwork>
        <LocalNetworkSiteRef name="RMVNetLocal">
          <Connection type="IPsec" />
        </LocalNetworkSiteRef>
      </ConnectionsToLocalNetwork>
    </Gateway>

5. Salvare il file e caricarlo

Salvare il file, quindi importarlo in Azure eseguendo il comando seguente. Assicurarsi di modificare il percorso del file in base al proprio ambiente.

Set-AzureVNetConfig -ConfigurationPath C:\AzureNet\NetworkConfig.xml

Viene visualizzato un risultato simile che mostra che l'importazione è stata completata.

    OperationDescription        OperationId                      OperationStatus                                                
    --------------------        -----------                      ---------------                                                
    Set-AzureVNetConfig        e0ee6e66-9167-cfa7-a746-7casb9    Succeeded 

6. Creare il gateway

Prima di eseguire questo esempio, vedere i nomi esatti previsti da Azure nel file di configurazione di rete scaricato. Il file di configurazione di rete contiene i valori per le reti virtuali classiche. In alcuni casi, i nomi di rete virtuale classica vengono modificati nel file di configurazione di rete durante la creazione di impostazioni di rete virtuale classica nel portale di Azure, a causa delle differenze nei modelli di distribuzione. Ad esempio, se è stato usato il portale di Azure per creare una rete virtuale classica denominata "Classic VNet"' in un gruppo di risorse denominato "ClassicRG", il nome contenuto nel file di configurazione di rete viene convertito in "Group ClassicRG Classic VNet". Quando si specifica il nome di una rete virtuale che contiene spazi, racchiudere il valore tra virgolette.

Usare l'esempio seguente per creare un gateway con routing dinamico:

New-AzureVNetGateway -VNetName ClassicVNet -GatewayType DynamicRouting

È possibile controllare lo stato del gateway tramite il cmdlet Get-AzureVNetGateway.

Sezione 2: Configurazione del gateway della rete virtuale di Resource Manager

Per creare un gateway VPN per la rete virtuale di Resource Manager, seguire le istruzioni seguenti. Non eseguire i passaggi fino a quando non si è recuperato l'indirizzo IP pubblico del gateway della rete virtuale classica.

  1. Accedere all'account Azure nella console di PowerShell. Il cmdlet seguente richiede le credenziali di accesso per l'account Azure. Dopo l'accesso, vengono scaricate le impostazioni dell'account in modo che siano disponibili per Azure PowerShell.

    Login-AzureRmAccount
    

    Ottenere un elenco delle sottoscrizioni di Azure se si dispone di più di una sottoscrizione.

    Get-AzureRmSubscription
    

    Specificare la sottoscrizione da usare.

    Select-AzureRmSubscription -SubscriptionName "Name of subscription"
    
  2. Creare un gateway di rete locale. In una rete virtuale il gateway di rete locale in genere fa riferimento al percorso locale. In questo caso, il gateway di rete locale fa riferimento alla rete virtuale classica. Assegnargli un nome che Azure possa usare come riferimento e specificare il prefisso dello spazio indirizzi. Azure usa il prefisso di indirizzo IP che viene specificato per identificare il traffico da inviare al percorso locale. Se si desidera modificare le informazioni prima di creare il gateway, è possibile modificare i valori ed eseguire nuovamente l'esempio.

    -Name è il nome da assegnare per fare riferimento al gateway di rete locale.
    -AddressPrefix è lo spazio degli indirizzi per una rete virtuale classica.
    -GatewayIpAddress è l'indirizzo IP pubblico del gateway della rete virtuale classica. Assicurarsi di modificare l'esempio seguente in modo da riflettere l'indirizzo IP corretto.

    New-AzureRmLocalNetworkGateway -Name ClassicVNetLocal `
    -Location "West US" -AddressPrefix "10.0.0.0/24" `
    -GatewayIpAddress "n.n.n.n" -ResourceGroupName RG1
    
  3. Richiedere un indirizzo IP pubblico da allocare al gateway di rete virtuale per la rete virtuale di Resource Manager. Non è possibile specificare l'indirizzo IP che si vuole usare. L'indirizzo IP viene allocato in modo dinamico al gateway di rete virtuale. Ciò non significa però che l'indirizzo IP verrà modificato. L'indirizzo IP del gateway di rete virtuale viene modificato solamente quando il gateway viene eliminato e ricreato. Non viene modificato in caso di ridimensionamento, reimpostazione o altre manutenzioni/aggiornamenti del gateway.

    In questo passaggio viene anche impostata una variabile che verrà usata in un passaggio successivo.

    $ipaddress = New-AzureRmPublicIpAddress -Name gwpip `
    -ResourceGroupName RG1 -Location 'EastUS' `
    -AllocationMethod Dynamic
    
  4. Verificare che la rete virtuale disponga di una subnet del gateway. Se non esiste alcuna subnet del gateway, aggiungerne una. Assicurarsi che la subnet del gateway sia denominata GatewaySubnet.

  5. Recuperare la subnet usata per il gateway tramite il comando seguente. In questo passaggio, è anche possibile impostare una variabile da usare nel passaggio successivo.

    -Name è il nome della rete virtuale di Resource Manager.
    -ResourceGroupName è il gruppo di risorse a cui la rete virtuale è associata. Per poter funzionare correttamente, la subnet del gateway deve esistere già per questa rete virtuale e deve essere denominata GatewaySubnet .

    $subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name GatewaySubnet `
    -VirtualNetwork (Get-AzureRmVirtualNetwork -Name RMVNet -ResourceGroupName RG1)
    
  6. Creare la configurazione di indirizzamento 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.

    In questo passaggio i parametri -SubnetId e -PublicIpAddressId devono essere passati alla proprietà id dalla subnet e dagli oggetti dell'indirizzo IP rispettivamente. Non è possibile usare una semplice stringa. Queste variabili vengono impostate nel passaggio per richiedere un indirizzo IP pubblico e nel passaggio per recuperare la subnet.

    $gwipconfig = New-AzureRmVirtualNetworkGatewayIpConfig `
    -Name gwipconfig -SubnetId $subnet.id `
    -PublicIpAddressId $ipaddress.id
    
  7. Creare il gateway di rete virtuale di Resource Manager tramite il comando seguente. -VpnType deve essere RouteBased. La creazione del gateway può richiedere oltre 45 minuti.

    New-AzureRmVirtualNetworkGateway -Name RMGateway -ResourceGroupName RG1 `
    -Location "EastUS" -GatewaySKU Standard -GatewayType Vpn `
    -IpConfigurations $gwipconfig `
    -EnableBgp $false -VpnType RouteBased
    
  8. Dopo che il gateway della rete privata virtuale è stato creato, copiare l'indirizzo IP pubblico. Verrà usato al momento della configurazione delle impostazioni di rete locale per la rete virtuale classica. È possibile usare il cmdlet seguente per recuperare l'indirizzo IP pubblico. L'indirizzo IP pubblico viene elencato nel valore restituito come IpAddress.

    Get-AzureRmPublicIpAddress -Name gwpip -ResourceGroupName RG1
    

Sezione 3: Modificare le impostazioni del sito locale della rete virtuale classica

In questa sezione viene usata la rete virtuale classica. Viene sostituito l'indirizzo IP segnaposto usato nella specifica delle impostazioni del sito locale, che verrà usato per connettersi al gateway di rete virtuale di Resource Manager.

  1. Esportare il file di configurazione della rete.

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  2. In un editor di testo modificare il valore di VPNGatewayAddress. Sostituire l'indirizzo IP segnaposto con l'indirizzo IP pubblico del gateway di Resource Manager e salvare le modifiche.

    <VPNGatewayAddress>13.68.210.16</VPNGatewayAddress>
    
  3. Importare il file di configurazione di rete modificato in Azure.

    Set-AzureVNetConfig -ConfigurationPath C:\AzureNet\NetworkConfig.xml
    

Sezione 4: Creazione di una connessione tra i gateway

La creazione di una connessione tra i gateway richiede PowerShell. Potrebbe essere necessario aggiungere l'account Azure per usare la versione classica dei cmdlet di PowerShell. A tale scopo, usare Add-AzureAccount.

  1. Nella console di PowerShell impostare la chiave condivisa. Prima di eseguire i cmdlet, vedere i nomi esatti previsti da Azure nel file di configurazione di rete scaricato. Quando si specifica il nome di una rete virtuale che contiene spazi, racchiudere il valore tra virgolette singole.

    Nell'esempio seguente -VNetName è il nome della rete virtuale classica, mentre -LocalNetworkSiteName è il nome specificato per il sito della rete locale. -SharedKey è un valore che è possibile generare e specificare. Per questo esempio è stato usato "abc123", ma è possibile generare e usare un elemento più complesso. È importante che il valore specificato qui sia lo stesso valore specificato nel passaggio successivo quando si crea la connessione. Il valore restituito deve mostrare lo stato: Operazione completata.

    Set-AzureVNetGatewayKey -VNetName ClassicVNet `
    -LocalNetworkSiteName RMVNetLocal -SharedKey abc123
    
  2. Creare la connessione VPN eseguendo i comandi seguenti:

    Impostare le variabili.

    $vnet01gateway = Get-AzureRMLocalNetworkGateway -Name ClassicVNetLocal -ResourceGroupName RG1
    $vnet02gateway = Get-AzureRmVirtualNetworkGateway -Name RMGateway -ResourceGroupName RG1
    

    Creare la connessione. Si noti che -ConnectionType è IPsec, non Vnet2Vnet.

    New-AzureRmVirtualNetworkGatewayConnection -Name RM-Classic -ResourceGroupName RG1 `
    -Location "East US" -VirtualNetworkGateway1 `
    $vnet02gateway -LocalNetworkGateway2 `
    $vnet01gateway -ConnectionType IPsec -RoutingWeight 10 -SharedKey 'abc123'
    

Sezione 5: Verificare le connessioni

Per verificare la connessione dalla rete virtuale classica alla rete virtuale di Resource Manager

PowerShell

È possibile verificare se la connessione è riuscita usando il cmdlet "Get-AzureVNetConnection".

  1. Per configurare i valori in modo che corrispondano ai propri, usare l'esempio di cmdlet seguente. Il nome della rete virtuale deve essere tra virgolette se contiene spazi.

    Get-AzureVNetConnection "Group ClassicRG ClassicVNet"
    
  2. Al termine dell'esecuzione del cmdlet, visualizzare i valori. Nell'esempio seguente lo stato di connettività risulta "Connesso" ed è possibile visualizzare i byte in ingresso e in uscita.

     ConnectivityState         : Connected
     EgressBytesTransferred    : 181664
     IngressBytesTransferred   : 182080
     LastConnectionEstablished : 1/7/2016 12:40:54 AM
     LastEventID               : 24401
     LastEventMessage          : The connectivity state for the local network site 'RMVNetLocal' changed from Connecting to
                                 Connected.
     LastEventTimeStamp        : 1/7/2016 12:40:54 AM
     LocalNetworkSiteName      : RMVNetLocal
    

Portale di Azure

Nel portale di Azure è possibile visualizzare lo stato della connessione di un gateway VPN di rete virtuale classica passando alla connessione. La procedura seguente illustra uno dei modi in cui è possibile accedere alla connessione e verificarla.

  1. Nel portale di Azure fare clic su Tutte le risorse e passare alla rete virtuale classica.
  2. Nel pannello della rete virtuale fare clic su Panoramica per accedere alla sezione Connessioni VPN del pannello.
  3. Nell'elemento grafico Connessioni VPN fare clic sul sito.

    Sito locale

  4. Nel pannello Connessioni VPN da sito a sito visualizzare le informazioni sul sito.

    Stato della connessione

  5. Per visualizzare altre informazioni sulla connessione, fare clic sul nome della connessione per aprire il pannello Connessione VPN da sito a sito.

    Altre informazioni sullo stato della connessione

Per verificare la connessione dalla rete virtuale di Resource Manager alla rete virtuale classica

PowerShell

Per verificare l'esito positivo della connessione è possibile usare il cmdlet 'Get-AzureRmVirtualNetworkGatewayConnection' con o senza '-Debug'.

  1. Per configurare i valori in modo che corrispondano ai propri, usare l'esempio di cmdlet seguente. Quando richiesto, selezionare "A" per eseguire "Tutti". Il valore " -Name" nell'esempio fa riferimento al nome della connessione che si vuole testare.

    Get-AzureRmVirtualNetworkGatewayConnection -Name MyGWConnection -ResourceGroupName MyRG
    
  2. Al termine dell'esecuzione del cmdlet, visualizzare i valori. Nell'esempio seguente lo stato di connessione risulta "Connesso" ed è possibile visualizzare i byte in ingresso e in uscita.

    "connectionStatus": "Connected",
    "ingressBytesTransferred": 33509044,
    "egressBytesTransferred": 4142431
    

Portale di Azure

Nel portale di Azure è possibile visualizzare lo stato della connessione di un gateway VPN di Resource Manager passando alla connessione. La procedura seguente illustra uno dei modi in cui è possibile accedere alla connessione e verificarla.

  1. Nel portale di Azure fare clic su Tutte le risorse e passare al gateway di rete virtuale.
  2. Nel pannello del gateway di rete virtuale fare clic su Connessioni. È possibile visualizzare lo stato di ogni connessione.
  3. Fare clic sul nome della connessione da verificare per aprire Informazioni di base. In Informazioni di base è possibile visualizzare altre informazioni sulla connessione. Dopo aver stabilito una connessione, lo stato visualizzato è "Operazione riuscita" e "Connesso".

    Verificare la connessione gateway VPN usando il portale di Azure

Domande frequenti sulle connessioni da rete virtuale a rete virtuale

Le domande frequenti sulla connessione tra reti virtuali si applicano alle connessioni gateway VPN. Per informazioni sul peering reti virtuali, vedere Peering di rete virtuale

È previsto un addebito per il traffico tra le reti virtuali?

Il traffico da rete virtuale a rete virtuale nella stessa area è gratuito in entrambe le direzioni quando si usa una connessione gateway VPN. Per il traffico in uscita tra reti virtuali in aree diverse vengono applicate le tariffe di trasferimento dati in uscita tra reti virtuali in base alle aree di origine. Per informazioni dettagliate, vedere la pagina dei prezzi del gateway VPN. Se si connettono le reti virtuali tramite peering reti virtuali e non con il gateway VPN, vedere la pagina dei prezzi delle reti virtuali.

Il traffico da rete virtuale a rete virtuale viene trasmesso su Internet?

No. Il traffico tra reti virtuali passa per il backbone di Microsoft Azure, non Internet.

Il traffico tra reti virtuali è sicuro?

Sì, è protetto mediante la crittografia IPsec/IKE.

È necessario un dispositivo VPN per connettere le reti virtuali?

No. Per il collegamento di più reti virtuali di Azure non è necessario un dispositivo VPN, a meno che non sia necessaria la connettività cross-premise.

Le reti virtuali devono trovarsi nella stessa area?

No. Le reti virtuali possono essere nelle sottoscrizioni uguale o diverse.

Se le reti virtuali non sono nella stessa sottoscrizione, è necessario che le sottoscrizioni siano associate allo stesso tenant di AD?

No.

È possibile usare la connettività da rete virtuale a rete virtuale per connettere reti virtuali in istanze separate di Azure?

No. La connettività da rete virtuale a rete virtuale supporta la connessione di reti virtuali nella stessa istanza di Azure. Non è ad esempio possibile creare una connessione tra istanze pubbliche di Azure e istanze di Azure cinesi/tedesche/US Gov. Per questi scenari, considerare la possibilità di usare una connessione VPN da sito a sito.

È possibile usare la connessione da rete virtuale a rete virtuale insieme alle connessioni multisito?

Sì. La connettività di rete virtuale può essere usata contemporaneamente con VPN multisito,

A quanti siti locali e reti virtuali può connettersi una rete virtuale?

Vedere la tabella Requisiti del gateway.

È possibile usare la connessione da rete virtuale a rete virtuale per connettere macchine virtuali o servizi cloud esterni a una rete virtuale?

No. La connettività da VNet a VNet supporta la connessione di reti virtuali. Non supporta la connessione di macchine virtuali o servizi cloud non inclusi in una rete virtuale.

È possibile estendere un servizio cloud o un endpoint del servizio di bilanciamento del carico in più reti virtuali?

No. Un servizio cloud o un endpoint di bilanciamento del carico non può estendersi tra reti virtuali, anche se sono connesse tra loro.

È possibile usare una VPN di tipo PolicyBased per connessioni da rete virtuale a rete virtuale o multisito?

No. La connettività tra reti virtuali e multisito richiede la presenza di gateway VPN con tipi VPN RouteBased (in precedenza denominato routing dinamico).

È possibile connettere una rete virtuale con un tipo di VPN RouteBased a un'altra rete virtuale con un tipo di VPN PolicyBased?

No, entrambe le reti virtuali DEVONO usare VPN basate su route (denominate in precedenza routing dinamico).

I tunnel VPN condividono la larghezza di banda?

Sì. Tutti i tunnel VPN della rete virtuale condividono la larghezza di banda disponibile sul gateway VPN di Azure e i tempi di servizio del gateway VPN dello stesso contratto di servizio in Azure.

Sono supportati i tunnel ridondanti?

I tunnel ridondanti tra una coppia di reti virtuali sono supportati quando un gateway di rete virtuale è configurato come attivo/attivo.

È consentita la sovrapposizione di spazi di indirizzi per configurazioni da rete virtuale a rete virtuale?

No. Gli intervalli di indirizzi IP non possono sovrapporsi.

Possono esistere spazi di indirizzi sovrapposti tra le reti virtuali connesse e i siti locali?

No. Gli intervalli di indirizzi IP non possono sovrapporsi.