Configurare una VPN da sito a sito tramite peering ExpressRoute MicrosoftConfigure a site-to-site VPN over ExpressRoute Microsoft peering

Questo articolo illustra come configurare una connettività crittografata protetta tra la rete locale e le reti virtuali (VNet) di Azure tramite una connessione privata ExpressRoute.This article helps you configure secure encrypted connectivity between your on-premises network and your Azure virtual networks (VNets) over an ExpressRoute private connection. È possibile usare il peering Microsoft per stabilire un tunnel VPN IPsec/IKE da sito a sito tra le reti locali selezionate e le reti virtuali di Azure.You can use Microsoft peering to establish a site-to-site IPsec/IKE VPN tunnel between your selected on-premises networks and Azure VNets. La configurazione di un tunnel sicuro tramite ExpressRoute consente lo scambio di dati con riservatezza, impossibilità di riproduzione, autenticità e integrità.Configuring a secure tunnel over ExpressRoute allows for data exchange with confidentiality, anti-replay, authenticity, and integrity.

Nota

Quando si configura una VPN da sito a sito tramite peering Microsoft vengono addebitati il gateway e i dati in uscita dalla VPN.When you set up site-to-site VPN over Microsoft peering, you are charged for the VPN gateway and VPN egress. Per altre informazioni, vedere Prezzi di Gateway VPN.For more information, see VPN Gateway pricing.

I passaggi e gli esempi in questo articolo usano Azure PowerShell AZ modules.The steps and examples in this article use Azure PowerShell Az modules. Per installare il comando AZ Modules localmente nel computer, vedere install Azure PowerShell.To install the Az modules locally on your computer, see Install Azure PowerShell. Per ulteriori informazioni sul nuovo AZ Module, vedere Introduzione al nuovo Azure PowerShell AZ Module.To learn more about the new Az module, see Introducing the new Azure PowerShell Az module. I cmdlet di PowerShell vengono aggiornati di frequente.PowerShell cmdlets are updated frequently. Se non si esegue la versione più recente, i valori specificati nelle istruzioni potrebbero avere esito negativo.If you are not running the latest version, the values specified in the instructions may fail. Per trovare le versioni installate di PowerShell nel sistema, usare il cmdlet Get-Module -ListAvailable Az.To find the installed versions of PowerShell on your system, use the Get-Module -ListAvailable Az cmdlet.

ArchitetturaArchitecture

Panoramica sulla connettività

Per ottenere disponibilità elevata e ridondanza, è possibile configurare più tunnel sulle due coppie MSEE-PE di un circuito ExpressRoute e abilitare il bilanciamento del carico tra i tunnel.For high availability and redundancy, you can configure multiple tunnels over the two MSEE-PE pairs of a ExpressRoute circuit and enable load balancing between the tunnels.

Opzioni di disponibilità elevata

I tunnel VPN tramite peering Microsoft possono essere terminati tramite gateway VPN o con un'appliance di rete virtuale (NVA) idonea, disponibile su Microsoft Azure Marketplace.VPN tunnels over Microsoft peering can be terminated either using VPN gateway, or using an appropriate Network Virtual Appliance (NVA) available through Azure Marketplace. È possibile scambiare le route collegate staticamente o dinamicamente attraverso i tunnel crittografati senza esporre lo scambio delle route al peering Microsoft sottostante.You can exchange routes statically or dynamically over the encrypted tunnels without exposing the route exchange to the underlying Microsoft peering. Negli esempi contenuti in questo articolo, il protocollo BGP (diverso dalla sessione BGP usata per creare il peering Microsoft) viene usato per scambiare in modo dinamico i prefissi fra i tunnel crittografati.In the examples in this article, BGP (different from the BGP session used to create the Microsoft peering) is used to dynamically exchange prefixes over the encrypted tunnels.

Importante

Dal lato locale, in genere il peering Microsoft viene terminato nella rete perimetrale, mentre il peering privato viene terminato nella zona della rete core.For the on-premises side, typically Microsoft peering is terminated on the DMZ and private peering is terminated on the core network zone. Le due zone verranno isolate tramite firewall.The two zones would be segregated using firewalls. Se si configura il peering Microsoft esclusivamente per l'abilitazione del tunneling protetto tramite ExpressRoute, è necessario filtrare solo gli indirizzi IP pubblici di interesse annunciati tramite il peering Microsoft.If you are configuring Microsoft peering exclusively for enabling secure tunneling over ExpressRoute, remember to filter through only the public IPs of interest that are getting advertised via Microsoft peering.

Flusso di lavoroWorkflow

  1. Configurare il peering Microsoft per un circuito ExpressRoute.Configure Microsoft peering for your ExpressRoute circuit.
  2. Annunciare i prefissi pubblici regionali di Azure selezionati sulla rete locale tramite il peering Microsoft.Advertise selected Azure regional public prefixes to your on-premises network via Microsoft peering.
  3. Configurare un gateway VPN e stabilire un tunnel IPsecConfigure a VPN gateway and establish IPsec tunnels
  4. Configurare un dispositivo VPN locale.Configure the on-premises VPN device.
  5. Creare una connessione IPsec/IKE da sito a sito.Create the site-to-site IPsec/IKE connection.
  6. (Facoltativo) Configurare firewall/filtri sul dispositivo VPN locale.(Optional) Configure firewalls/filtering on the on-premises VPN device.
  7. Test e convalida delle comunicazioni IPsec tramite il circuito ExpressRoute.Test and validate the IPsec communication over the ExpressRoute circuit.

1. configurare il peering Microsoft1. Configure Microsoft peering

Per configurare una connessione VPN da sito a sito tramite ExpressRoute è necessario sfruttare il peering ExpressRoute Microsoft.To configure a site-to-site VPN connection over ExpressRoute, you must leverage ExpressRoute Microsoft peering.

Dopo avere configurato il circuito e il peering Microsoft sarà possibile visualizzarlo facilmente tramite la pagina Panoramica nel portale di Azure.Once you have configured your circuit and Microsoft peering, you can easily view it using the Overview page in the Azure portal.

circuito

2. configurare i filtri di route2. Configure route filters

Un filtro di route consente di identificare i servizi da usare tramite il peering Microsoft del circuito di ExpressRoute.A route filter lets you identify services you want to consume through your ExpressRoute circuit's Microsoft peering. Si tratta essenzialmente di un elenco di tutti i valori di community BGP consentiti.It is essentially an allow list of all the BGP community values.

filtro della route

In questo esempio, la distribuzione è solo nella regione Stati Uniti occidentali 2.In this example, the deployment is only in the Azure West US 2 region. Viene aggiunta una regola di filtro della route per consentire solo l'annuncio di prefissi regionali della regione Stati Uniti occidentali 2 di Azure, che ha il valore di community BGP 12076:51026.A route filter rule is added to allow only the advertisement of Azure West US 2 regional prefixes, which has the BGP community value 12076:51026. Specificare i prefissi regionali che si desidera consentire selezionando Gestisci regola.You specify the regional prefixes that you want to allow by selecting Manage rule.

All'interno del filtro della route è anche necessario scegliere i circuiti ExpressRoute ai quali il filtro si applica.Within the route filter, you also need to choose the ExpressRoute circuits for which the route filter applies. È possibile scegliere i circuiti ExpressRoute selezionando Aggiungi circuito.You can choose the ExpressRoute circuits by selecting Add circuit. Nella figura precedente, il filtro della route è associato al circuito ExpressRoute di esempio.In the previous figure, the route filter is associated to the example ExpressRoute circuit.

2.1 Configurare un filtro della route2.1 Configure the route filter

Configurare un filtro della route.Configure a route filter. Per istruzioni, vedere Configurare i filtri di route per il peering Microsoft.For steps, see Configure route filters for Microsoft peering.

2.2 Verificare una route BGP2.2 Verify BGP routes

Dopo avere creato il peering Microsoft tramite il circuito ExpressRoute e avere associato un filtro della route al circuito è possibile verificare le route BGP ricevute dagli MSEE sui dispositivi PE che eseguono il peering con gli MSEE.Once you have successfully created Microsoft peering over your ExpressRoute circuit and associated a route filter with the circuit, you can verify the BGP routes received from MSEEs on the PE devices that are peering with the MSEEs. Il comando di verifica varia a seconda del sistema operativo dei dispositivi PE.The verification command varies, depending on the operating system of your PE devices.

Esempi CiscoCisco examples

In questo esempio viene usato un comando Cisco IOS-XE.This example uses a Cisco IOS-XE command. Nell'esempio sono usati un routing virtuale e un'istanza di inoltro (VRF) per isolare il traffico di peering.In the example, a virtual routing and forwarding (VRF) instance is used to isolate the peering traffic.

show ip bgp vpnv4 vrf 10 summary

L'output parziale seguente mostra che sono stati ricevuti 68 prefissi dal router adiacente *. 243.229.34 con ASN 12076 (MSEE):The following partial output shows that 68 prefixes were received from the neighbor *.243.229.34 with the ASN 12076 (MSEE):

...

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
X.243.229.34    4        12076   17671   17650    25228    0    0 1w4d           68

Per visualizzare l'elenco dei prefissi ricevuti dal router adiacente, usare l'esempio seguente:To see the list of prefixes received from the neighbor, use the following example:

sh ip bgp vpnv4 vrf 10 neighbors X.243.229.34 received-routes

Per confermare la ricezione del set di prefissi corretto è possibile effettuare una verifica incrociata.To confirm that you are receiving the correct set of prefixes, you can cross-verify. L'output del comando di Azure PowerShell seguente elenca i prefissi annunciati tramite peering Microsoft per ogni servizio e area di Azure:The following Azure PowerShell command output lists the prefixes advertised via Microsoft peering for each of the services and for each of the Azure region:

Get-AzBgpServiceCommunity

3. configurare il gateway VPN e i tunnel IPsec3. Configure the VPN gateway and IPsec tunnels

In questa sezione vengono creati i tunnel VPN IPsec tra il gateway VPN di Azure e il dispositivo VPN locale.In this section, IPsec VPN tunnels are created between the Azure VPN gateway and the on-premises VPN device. Gli esempi usano dispositivi VPN Cisco Router per servizio Cloud (CSR1000).The examples use Cisco Cloud Service Router (CSR1000) VPN devices.

Il diagramma seguente mostra i tunnel della VPN IPsec stabiliti tra il dispositivo VPN locale 1 e la coppia di istanza di gateway VPN di Azure.The following diagram shows the IPsec VPN tunnels established between on-premises VPN device 1, and the Azure VPN gateway instance pair. I due tunnel VPN IPsec stabiliti tra il dispositivo VPN locale 2 e la coppia di istanza di gateway VPN di Azure non sono illustrati nel diagramma e i dettagli di configurazione non sono elencati.The two IPsec VPN tunnels established between the on-premises VPN device 2 and the Azure VPN gateway instance pair isn't illustrated in the diagram, and the configuration details are not listed. Tuttavia, la presenza di altri tunnel VPN migliora la disponibilità elevata.However, having additional VPN tunnels improves high availability.

Tunnel VPN

Tramite la coppia di tunnel IPsec viene stabilita una sessione eBGP per scambiare le route della rete privata.Over the IPsec tunnel pair, an eBGP session is established to exchange private network routes. Il diagramma seguente mostra la sessione di eBGP stabilita attraverso la coppia di tunnel IPsec:The following diagram shows the eBGP session established over the IPsec tunnel pair:

sessioni eBGP sulla coppia di tunnel

Il diagramma seguente mostra una panoramica astratta della rete di esempio:The following diagram shows the abstracted overview of the example network:

rete di esempio

Informazioni sugli esempi di modello di Azure Resource ManagerAbout the Azure Resource Manager template examples

Negli esempi, il gateway VPN e le terminazioni dei tunnel IPsec vengono configurati tramite un Modello di Azure Resource Manager.In the examples, the VPN gateway and the IPsec tunnel terminations are configured using an Azure Resource Manager template. Se non si ha familiarità con l'uso di modelli di Resource Manager o si desidera apprendere le nozioni di base del modello di Resource Manager, vedere Comprendere la struttura e la sintassi dei modelli di Azure Resource Manager.If you are new to using Resource Manager templates, or to understand the Resource Manager template basics, see Understand the structure and syntax of Azure Resource Manager templates. Il modello contenuto in questa sezione crea un ambiente Azure greenfield (VNet).The template in this section creates a greenfield Azure environment (VNet). Tuttavia, se si dispone di una rete virtuale già esistente, è possibile farvi riferimento nel modello.However, if you have an existing VNet, you can reference it in the template. Se non si ha familiarità con la configurazione da sito a sito IPsec/IKE di gateway VPN, vedere Creare una connessione da sito a sito.If you are not familiar with VPN gateway IPsec/IKE site-to-site configurations, see Create a site-to-site connection.

Nota

Non è necessario usare i modelli di Azure Resource Manager per creare questa configurazione.You do not need to use Azure Resource Manager templates in order to create this configuration. Questa configurazione può essere creata tramite il portale di Azure o PowerShell.You can create this configuration using the Azure portal, or PowerShell.

3.1 Dichiarare le variabili3.1 Declare the variables

In questo esempio, le dichiarazioni di variabili corrispondono alla rete di esempio.In this example, the variable declarations correspond to the example network. Quando si dichiara una variabile è possibile modificare questa sezione per riflettere l'ambiente.When declaring variables, modify this section to reflect your environment.

  • La variabile localAddressPrefix è una matrice di indirizzi IP locali usata per terminare i tunnel IPsec.The variable localAddressPrefix is an array of on-premises IP addresses to terminate the IPsec tunnels.
  • La variabile gatewaySku determina la velocità effettiva VPN.The gatewaySku determines the VPN throughput. Per altre informazioni sulle variabili gatewaySku e vpnType, vedere Impostazioni di configurazione del gateway VPN.For more information about gatewaySku and vpnType, see VPN Gateway configuration settings. Per i prezzi, vedere Prezzi di Gateway VPN.For pricing, see VPN Gateway pricing.
  • Impostare i valore vpnType su RouteBased.Set the vpnType to RouteBased.
"variables": {
  "virtualNetworkName": "SecureVNet",       // Name of the Azure VNet
  "azureVNetAddressPrefix": "10.2.0.0/24",  // Address space assigned to the VNet
  "subnetName": "Tenant",                   // subnet name in which tenants exists
  "subnetPrefix": "10.2.0.0/25",            // address space of the tenant subnet
  "gatewaySubnetPrefix": "10.2.0.224/27",   // address space of the gateway subnet
  "localGatewayName": "localGW1",           // name of remote gateway (on-premises)
  "localGatewayIpAddress": "X.243.229.110", // public IP address of the on-premises VPN device
  "localAddressPrefix": [
    "172.16.0.1/32",                        // termination of IPsec tunnel-1 on-premises 
    "172.16.0.2/32"                         // termination of IPsec tunnel-2 on-premises 
  ],
  "gatewayPublicIPName1": "vpnGwVIP1",    // Public address name of the first VPN gateway instance
  "gatewayPublicIPName2": "vpnGwVIP2",    // Public address name of the second VPN gateway instance 
  "gatewayName": "vpnGw",                 // Name of the Azure VPN gateway
  "gatewaySku": "VpnGw1",                 // Azure VPN gateway SKU
  "vpnType": "RouteBased",                // type of VPN gateway
  "sharedKey": "string",                  // shared secret needs to match with on-premises configuration
  "asnVpnGateway": 65000,                 // BGP Autonomous System number assigned to the VPN Gateway 
  "asnRemote": 65010,                     // BGP Autonmous Syste number assigned to the on-premises device
  "bgpPeeringAddress": "172.16.0.3",      // IP address of the remote BGP peer on-premises
  "connectionName": "vpn2local1",
  "vnetID": "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]",
  "gatewaySubnetRef": "[concat(variables('vnetID'),'/subnets/','GatewaySubnet')]",
  "subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]",
  "api-version": "2017-06-01"
},

3.2 Creare una rete virtuale (VNet)3.2 Create virtual network (VNet)

Per associare una rete virtuale esistente con i tunnel VPN è possibile ignorare questo passaggio.If you are associating an existing VNet with the VPN tunnels, you can skip this step.

{
  "apiVersion": "[variables('api-version')]",
  "type": "Microsoft.Network/virtualNetworks",
  "name": "[variables('virtualNetworkName')]",
  "location": "[resourceGroup().location]",
  "properties": {
    "addressSpace": {
      "addressPrefixes": [
        "[variables('azureVNetAddressPrefix')]"
      ]
    },
    "subnets": [
      {
        "name": "[variables('subnetName')]",
        "properties": {
          "addressPrefix": "[variables('subnetPrefix')]"
        }
      },
      {
        "name": "GatewaySubnet",
        "properties": {
          "addressPrefix": "[variables('gatewaySubnetPrefix')]"
        }
      }
    ]
  },
  "comments": "Create a Virtual Network with Subnet1 and Gatewaysubnet"
},

3.3 Assegnare indirizzi IP pubblici a istanze di gateway VPN3.3 Assign public IP addresses to VPN gateway instances

Assegnare un indirizzo IP pubblico a ogni istanza di un gateway VPN.Assign a public IP address for each instance of a VPN gateway.

{
  "apiVersion": "[variables('api-version')]",
  "type": "Microsoft.Network/publicIPAddresses",
    "name": "[variables('gatewayPublicIPName1')]",
    "location": "[resourceGroup().location]",
    "properties": {
      "publicIPAllocationMethod": "Dynamic"
    },
    "comments": "Public IP for the first instance of the VPN gateway"
  },
  {
    "apiVersion": "[variables('api-version')]",
    "type": "Microsoft.Network/publicIPAddresses",
    "name": "[variables('gatewayPublicIPName2')]",
    "location": "[resourceGroup().location]",
    "properties": {
      "publicIPAllocationMethod": "Dynamic"
    },
    "comments": "Public IP for the second instance of the VPN gateway"
  },

3.4 specificare la terminazione del tunnel VPN locale (gateway di rete locale)3.4 Specify the on-premises VPN tunnel termination (local network gateway)

I dispositivi VPN locali vengono detti gateway di rete locali.The on-premises VPN devices are referred to as the local network gateway. Il seguente frammento di codice json specifica anche i dettagli di peer BGP remoto:The following json snippet also specifies remote BGP peer details:

{
  "apiVersion": "[variables('api-version')]",
  "type": "Microsoft.Network/localNetworkGateways",
  "name": "[variables('localGatewayName')]",
  "location": "[resourceGroup().location]",
  "properties": {
    "localNetworkAddressSpace": {
      "addressPrefixes": "[variables('localAddressPrefix')]"
    },
    "gatewayIpAddress": "[variables('localGatewayIpAddress')]",
    "bgpSettings": {
      "asn": "[variables('asnRemote')]",
      "bgpPeeringAddress": "[variables('bgpPeeringAddress')]",
      "peerWeight": 0
    }
  },
  "comments": "Local Network Gateway (referred to your on-premises location) with IP address of remote tunnel peering and IP address of remote BGP peer"
},

3.5 Creare il gateway VPN3.5 Create the VPN gateway

Questa sezione del modello consente di configurare il gateway VPN con le impostazioni necessarie per una configurazione attiva-attiva.This section of the template configures the VPN gateway with the required settings for an active-active configuration. Tenere presente quanto segue:Keep in mind the following requirements:

  • Creare il gateway VPN con variabile VpnType "RouteBased" .Create the VPN gateway with a "RouteBased" VpnType. Questa impostazione è obbligatoria per abilitare il routing BGP tra il gateway VPN e la VPN locale.This setting is mandatory if you want to enable the BGP routing between the VPN gateway, and the VPN on-premises.
  • Per stabilire tunnel VPN tra le due istanze del gateway VPN e un dispositivo locale specifico in modalità attivo-attivo, il parametro "activeActive" nel modello di Resource Manager sarà impostato su true.To establish VPN tunnels between the two instances of the VPN gateway and a given on-premises device in active-active mode, the "activeActive" parameter is set to true in the Resource Manager template. Per altre informazioni sui gateway VPN a disponibilità elevata, vedere Connettività a disponibilità elevata di gateway VPN.To understand more about highly available VPN gateways, see Highly available VPN gateway connectivity.
  • Per configurare una sessione eBGP tra i tunnel VPN è necessario specificare due ASN diversi su entrambi i lati.To configure eBGP sessions between the VPN tunnels, you must specify two different ASNs on either side. È preferibile specificare numeri ASN privati.It is preferable to specify private ASN numbers. Per altre informazioni, vedere Panoramica dei gateway VPN di BGP e Azure.For more information, see Overview of BGP and Azure VPN gateways.
{
"apiVersion": "[variables('api-version')]",
"type": "Microsoft.Network/virtualNetworkGateways",
"name": "[variables('gatewayName')]",
"location": "[resourceGroup().location]",
"dependsOn": [
  "[concat('Microsoft.Network/publicIPAddresses/', variables('gatewayPublicIPName1'))]",
  "[concat('Microsoft.Network/publicIPAddresses/', variables('gatewayPublicIPName2'))]",
  "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]"
],
"properties": {
  "ipConfigurations": [
    {
      "properties": {
        "privateIPAllocationMethod": "Dynamic",
        "subnet": {
          "id": "[variables('gatewaySubnetRef')]"
        },
        "publicIPAddress": {
          "id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('gatewayPublicIPName1'))]"
        }
      },
      "name": "vnetGtwConfig1"
    },
    {
      "properties": {
        "privateIPAllocationMethod": "Dynamic",
        "subnet": {
          "id": "[variables('gatewaySubnetRef')]"
        },
        "publicIPAddress": {
          "id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('gatewayPublicIPName2'))]"
        }
      },
          "name": "vnetGtwConfig2"
        }
      ],
      "sku": {
        "name": "[variables('gatewaySku')]",
        "tier": "[variables('gatewaySku')]"
      },
      "gatewayType": "Vpn",
      "vpnType": "[variables('vpnType')]",
      "enableBgp": true,
      "activeActive": true,
      "bgpSettings": {
        "asn": "[variables('asnVpnGateway')]"
      }
    },
    "comments": "VPN Gateway in active-active configuration with BGP support"
  },

3.6 Stabilire un tunnel IPsec3.6 Establish the IPsec tunnels

L'azione finale dello script crea tunnel IPsec tra il gateway VPN di Azure e il dispositivo VPN locale.The final action of the script creates IPsec tunnels between the Azure VPN gateway and the on-premises VPN device.

{
  "apiVersion": "[variables('api-version')]",
  "name": "[variables('connectionName')]",
  "type": "Microsoft.Network/connections",
  "location": "[resourceGroup().location]",
  "dependsOn": [
    "[concat('Microsoft.Network/virtualNetworkGateways/', variables('gatewayName'))]",
    "[concat('Microsoft.Network/localNetworkGateways/', variables('localGatewayName'))]"
  ],
  "properties": {
    "virtualNetworkGateway1": {
      "id": "[resourceId('Microsoft.Network/virtualNetworkGateways', variables('gatewayName'))]"
    },
    "localNetworkGateway2": {
      "id": "[resourceId('Microsoft.Network/localNetworkGateways', variables('localGatewayName'))]"
    },
    "connectionType": "IPsec",
    "routingWeight": 0,
    "sharedKey": "[variables('sharedKey')]",
    "enableBGP": "true"
  },
  "comments": "Create a Connection type site-to-site (IPsec) between the Azure VPN Gateway and the VPN device on-premises"
  }

4. configurare il dispositivo VPN locale4. Configure the on-premises VPN device

Il gateway VPN di Azure è compatibile con molti dispositivi VPN di fornitori diversi.The Azure VPN gateway is compatible with many VPN devices from different vendors. Per informazioni sulla configurazione e i dispositivi idonei all'uso con gateway VPN, vedere Informazioni sui dispositivi VPN.For configuration information and devices that have been validated to work with VPN gateway, see About VPN devices.

Per la configurazione del dispositivo VPN è necessario quanto segue:When configuring your VPN device, you need the following items:

  • Chiave condivisa.A shared key. Si tratta della stessa chiave condivisa che viene specificata durante la creazione della connessione VPN da sito a sito.This is the same shared key that you specify when creating your site-to-site VPN connection. Negli esempi viene usata una chiave condivisa semplice.The examples use a basic shared key. È consigliabile generare una chiave più complessa per l'uso effettivo.We recommend that you generate a more complex key to use.
  • Si tratta dell'indirizzo IP pubblico del gateway VPN.The Public IP address of your VPN gateway. È possibile visualizzare l'indirizzo IP pubblico usando il portale di Azure, PowerShell o l'interfaccia della riga di comando.You can view the public IP address by using the Azure portal, PowerShell, or CLI. Per trovare l'indirizzo IP pubblico del gateway VPN usando il portale di Azure, passare a Gateway di rete virtuali, quindi fare clic sul nome del gateway.To find the Public IP address of your VPN gateway using the Azure portal, navigate to Virtual network gateways, then click the name of your gateway.

In genere i peer eBGP sono connessi direttamente (spesso tramite una connessione WAN).Typically eBGP peers are directly connected (often over a WAN connection). Tuttavia, quando si configura eBGP tramite tunnel VPN IPsec con peering Microsoft ExpressRoute, esistono più domini di routing tra i peer eBGP.However, when you are configuring eBGP over IPsec VPN tunnels via ExpressRoute Microsoft peering, there are multiple routing domains between the eBGP peers. Usare il comando ebgp multihop per stabilire la relazione di adiacenza eBGP tra i due peer non connessi direttamente.Use the ebgp-multihop command to establish the eBGP neighbor relationship between the two not-directly connected peers. Il valore intero che segue il comando ebgp-multihop specifica il valore TTL nei pacchetti BGP.The integer that follows ebgp-multihop command specifies the TTL value in the BGP packets. Il comando maximum-paths eibgp 2 consente il bilanciamento del carico del traffico tra i due percorsi BGP.The command maximum-paths eibgp 2 enables load balancing of traffic between the two BGP paths.

Esempio con Cisco CSR1000Cisco CSR1000 example

Nell'esempio seguente viene illustrata la configurazione per Cisco CSR1000 su una macchina virtuale Hyper-V come dispositivo VPN locale:The following example shows the configuration for Cisco CSR1000 in a Hyper-V virtual machine as the on-premises VPN device:

!
crypto ikev2 proposal az-PROPOSAL
 encryption aes-cbc-256 aes-cbc-128 3des
 integrity sha1
 group 2
!
crypto ikev2 policy az-POLICY
 proposal az-PROPOSAL
!
crypto ikev2 keyring key-peer1
 peer azvpn1
  address 52.175.253.112
  pre-shared-key secret*1234
 !
!
crypto ikev2 keyring key-peer2
 peer azvpn2
  address 52.175.250.191
  pre-shared-key secret*1234
 !
!
!
crypto ikev2 profile az-PROFILE1
 match address local interface GigabitEthernet1
 match identity remote address 52.175.253.112 255.255.255.255
 authentication remote pre-share
 authentication local pre-share
 keyring local key-peer1
!
crypto ikev2 profile az-PROFILE2
 match address local interface GigabitEthernet1
 match identity remote address 52.175.250.191 255.255.255.255
 authentication remote pre-share
 authentication local pre-share
 keyring local key-peer2
!
crypto ikev2 dpd 10 2 on-demand
!
!
crypto ipsec transform-set az-IPSEC-PROPOSAL-SET esp-aes 256 esp-sha-hmac
 mode tunnel
!
crypto ipsec profile az-VTI1
 set transform-set az-IPSEC-PROPOSAL-SET
 set ikev2-profile az-PROFILE1
!
crypto ipsec profile az-VTI2
 set transform-set az-IPSEC-PROPOSAL-SET
 set ikev2-profile az-PROFILE2
!
!
interface Loopback0
 ip address 172.16.0.3 255.255.255.255
!
interface Tunnel0
 ip address 172.16.0.1 255.255.255.255
 ip tcp adjust-mss 1350
 tunnel source GigabitEthernet1
 tunnel mode ipsec ipv4
 tunnel destination 52.175.253.112
 tunnel protection ipsec profile az-VTI1
!
interface Tunnel1
 ip address 172.16.0.2 255.255.255.255
 ip tcp adjust-mss 1350
 tunnel source GigabitEthernet1
 tunnel mode ipsec ipv4
 tunnel destination 52.175.250.191
 tunnel protection ipsec profile az-VTI2
!
interface GigabitEthernet1
 description External interface
 ip address x.243.229.110 255.255.255.252
 negotiation auto
 no mop enabled
 no mop sysid
!
interface GigabitEthernet2
 ip address 10.0.0.1 255.255.255.0
 negotiation auto
 no mop enabled
 no mop sysid
!
router bgp 65010
 bgp router-id interface Loopback0
 bgp log-neighbor-changes
 network 10.0.0.0 mask 255.255.255.0
 network 10.1.10.0 mask 255.255.255.128
 neighbor 10.2.0.228 remote-as 65000
 neighbor 10.2.0.228 ebgp-multihop 5
 neighbor 10.2.0.228 update-source Loopback0
 neighbor 10.2.0.228 soft-reconfiguration inbound
 neighbor 10.2.0.228 filter-list 10 out
 neighbor 10.2.0.229 remote-as 65000    
 neighbor 10.2.0.229 ebgp-multihop 5
 neighbor 10.2.0.229 update-source Loopback0
 neighbor 10.2.0.229 soft-reconfiguration inbound
 maximum-paths eibgp 2
!
ip route 0.0.0.0 0.0.0.0 10.1.10.1
ip route 10.2.0.228 255.255.255.255 Tunnel0
ip route 10.2.0.229 255.255.255.255 Tunnel1
!

5. configurare i firewall e i filtri del dispositivo VPN (facoltativo)5. Configure VPN device filtering and firewalls (optional)

Configurare firewall e filtri in base alle esigenze.Configure your firewall and filtering according to your requirements.

6. testare e convalidare il tunnel IPsec6. Test and validate the IPsec tunnel

Lo stato dei tunnel IPsec può essere verificato nel gateway VPN di Azure tramite comandi Powershell:The status of IPsec tunnels can be verified on the Azure VPN gateway by Powershell commands:

Get-AzVirtualNetworkGatewayConnection -Name vpn2local1 -ResourceGroupName myRG | Select-Object  ConnectionStatus,EgressBytesTransferred,IngressBytesTransferred | fl

Output di esempio:Example output:

ConnectionStatus        : Connected
EgressBytesTransferred  : 17734660
IngressBytesTransferred : 10538211

Per controllare lo stato dei tunnel nelle istanze del gateway VPN di Azure in modo indipendente, usare l'esempio seguente:To check the status of the tunnels on the Azure VPN gateway instances independently, use the following example:

Get-AzVirtualNetworkGatewayConnection -Name vpn2local1 -ResourceGroupName myRG | Select-Object -ExpandProperty TunnelConnectionStatus

Output di esempio:Example output:

Tunnel                           : vpn2local1_52.175.250.191
ConnectionStatus                 : Connected
IngressBytesTransferred          : 4877438
EgressBytesTransferred           : 8754071
LastConnectionEstablishedUtcTime : 11/04/2017 17:03:30

Tunnel                           : vpn2local1_52.175.253.112
ConnectionStatus                 : Connected
IngressBytesTransferred          : 5660773
EgressBytesTransferred           : 8980589
LastConnectionEstablishedUtcTime : 11/04/2017 17:03:13

È anche possibile controllare lo stato dei tunnel sul dispositivo VPN locale.You can also check the tunnel status on your on-premises VPN device.

Esempio con Cisco CSR1000:Cisco CSR1000 example:

show crypto session detail
show crypto ikev2 sa
show crypto ikev2 session detail
show crypto ipsec sa

Output di esempio:Example output:

csr1#show crypto session detail

Crypto session current status

Code: C - IKE Configuration mode, D - Dead Peer Detection
K - Keepalives, N - NAT-traversal, T - cTCP encapsulation
X - IKE Extended Authentication, F - IKE Fragmentation
R - IKE Auto Reconnect

Interface: Tunnel1
Profile: az-PROFILE2
Uptime: 00:52:46
Session status: UP-ACTIVE
Peer: 52.175.250.191 port 4500 fvrf: (none) ivrf: (none)
      Phase1_id: 52.175.250.191
      Desc: (none)
  Session ID: 3
  IKEv2 SA: local 10.1.10.50/4500 remote 52.175.250.191/4500 Active
          Capabilities:DN connid:3 lifetime:23:07:14
  IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0
        Active SAs: 2, origin: crypto map
        Inbound:  #pkts dec'ed 279 drop 0 life (KB/Sec) 4607976/433
        Outbound: #pkts enc'ed 164 drop 0 life (KB/Sec) 4607992/433

Interface: Tunnel0
Profile: az-PROFILE1
Uptime: 00:52:43
Session status: UP-ACTIVE
Peer: 52.175.253.112 port 4500 fvrf: (none) ivrf: (none)
      Phase1_id: 52.175.253.112
      Desc: (none)
  Session ID: 2
  IKEv2 SA: local 10.1.10.50/4500 remote 52.175.253.112/4500 Active
          Capabilities:DN connid:2 lifetime:23:07:17
  IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0
        Active SAs: 2, origin: crypto map
        Inbound:  #pkts dec'ed 668 drop 0 life (KB/Sec) 4607926/437
        Outbound: #pkts enc'ed 477 drop 0 life (KB/Sec) 4607953/437

Il protocollo di linea sulla VTI (Virtual Tunnel Interface) non cambia in "up" fino a quando la fase IKE 2 non è stata completata.The line protocol on the Virtual Tunnel Interface (VTI) does not change to "up" until IKE phase 2 has completed. Il comando seguente verifica l'associazione di sicurezza:The following command verifies the security association:

csr1#show crypto ikev2 sa

IPv4 Crypto IKEv2  SA

Tunnel-id Local                 Remote                fvrf/ivrf            Status
2         10.1.10.50/4500       52.175.253.112/4500   none/none            READY
      Encr: AES-CBC, keysize: 256, PRF: SHA1, Hash: SHA96, DH Grp:2, Auth sign: PSK, Auth verify: PSK
      Life/Active Time: 86400/3277 sec

Tunnel-id Local                 Remote                fvrf/ivrf            Status
3         10.1.10.50/4500       52.175.250.191/4500   none/none            READY
      Encr: AES-CBC, keysize: 256, PRF: SHA1, Hash: SHA96, DH Grp:2, Auth sign: PSK, Auth verify: PSK
      Life/Active Time: 86400/3280 sec

IPv6 Crypto IKEv2  SA

csr1#show crypto ipsec sa | inc encaps|decaps
    #pkts encaps: 177, #pkts encrypt: 177, #pkts digest: 177
    #pkts decaps: 296, #pkts decrypt: 296, #pkts verify: 296
    #pkts encaps: 554, #pkts encrypt: 554, #pkts digest: 554
    #pkts decaps: 746, #pkts decrypt: 746, #pkts verify: 746

Verificare la connettività end-to-end tra la rete interna locale e la rete virtuale di AzureVerify end-to-end connectivity between the inside network on-premises and the Azure VNet

Se i tunnel IPsec sono attivi e le route statiche sono state impostate correttamente, sarà possibile effettuare il ping dell'indirizzo IP del peer BGP remoto:If the IPsec tunnels are up and the static routes are correctly set, you should be able to ping the IP address of the remote BGP peer:

csr1#ping 10.2.0.228
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.0.228, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/5/5 ms

#ping 10.2.0.229
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.0.229, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/6 ms

Verificare le sessioni BGP su IPsecVerify the BGP sessions over IPsec

Sul gateway VPN di Azure, verificare lo stato del peer BGP:On the Azure VPN gateway, verify the status of BGP peer:

Get-AzVirtualNetworkGatewayBGPPeerStatus -VirtualNetworkGatewayName vpnGtw -ResourceGroupName SEA-C1-VPN-ER | ft

Output di esempio:Example output:

  Asn ConnectedDuration LocalAddress MessagesReceived MessagesSent Neighbor    RoutesReceived State    
  --- ----------------- ------------ ---------------- ------------ --------    -------------- -----    
65010 00:57:19.9003584  10.2.0.228               68           72   172.16.0.10              2 Connected
65000                   10.2.0.228                0            0   10.2.0.228               0 Unknown  
65000 07:13:51.0109601  10.2.0.228              507          500   10.2.0.229               6 Connected

Per verificare l'elenco dei prefissi di rete ricevuti tramite eBGP dal concentratore VPN locale è possibile usare il filtro "Origin":To verify the list of network prefixes received via eBGP from the VPN concentrator on-premises, you can filter by attribute "Origin":

Get-AzVirtualNetworkGatewayLearnedRoute -VirtualNetworkGatewayName vpnGtw -ResourceGroupName myRG  | Where-Object Origin -eq "EBgp" |ft

Nell'esempio di output, il numero ASN 65010 è il numero di sistema autonomo BGP sulla VPN locale.In the example output, the ASN 65010 is the BGP autonomous system number in the VPN on-premises.

AsPath LocalAddress Network      NextHop     Origin SourcePeer  Weight
------ ------------ -------      -------     ------ ----------  ------
65010  10.2.0.228   10.1.10.0/25 172.16.0.10 EBgp   172.16.0.10  32768
65010  10.2.0.228   10.0.0.0/24  172.16.0.10 EBgp   172.16.0.10  32768

Per visualizzare l'elenco di route annunciate:To see the list of advertised routes:

Get-AzVirtualNetworkGatewayAdvertisedRoute -VirtualNetworkGatewayName vpnGtw -ResourceGroupName myRG -Peer 10.2.0.228 | ft

Output di esempio:Example output:

AsPath LocalAddress Network        NextHop    Origin SourcePeer Weight
------ ------------ -------        -------    ------ ---------- ------
       10.2.0.229   10.2.0.0/24    10.2.0.229 Igp                  0
       10.2.0.229   172.16.0.10/32 10.2.0.229 Igp                  0
       10.2.0.229   172.16.0.5/32  10.2.0.229 Igp                  0
       10.2.0.229   172.16.0.1/32  10.2.0.229 Igp                  0
65010  10.2.0.229   10.1.10.0/25   10.2.0.229 Igp                  0
65010  10.2.0.229   10.0.0.0/24    10.2.0.229 Igp                  0

Esempio per Cisco CSR1000 locale:Example for the on-premises Cisco CSR1000:

csr1#show ip bgp neighbors 10.2.0.228 routes
BGP table version is 7, local router ID is 172.16.0.10
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   10.2.0.0/24      10.2.0.228                             0 65000 i
 r>   172.16.0.1/32    10.2.0.228                             0 65000 i
 r>   172.16.0.2/32    10.2.0.228                             0 65000 i
 r>   172.16.0.3/32   10.2.0.228                             0 65000 i

Total number of prefixes 4

L'elenco delle reti annunciate dal dispositivo CSR1000 Cisco locale per il gateway VPN di Azure può essere visualizzato con il comando seguente:The list of networks advertised from the on-premises Cisco CSR1000 to the Azure VPN gateway can be listed using the following command:

csr1#show ip bgp neighbors 10.2.0.228 advertised-routes
BGP table version is 7, local router ID is 172.16.0.10
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   10.0.0.0/24      0.0.0.0                  0         32768 i
 *>   10.1.10.0/25     0.0.0.0                  0         32768 i

Total number of prefixes 2

Passaggi successiviNext steps