Comparteix a través de


Configuración de BGP para Azure VPN Gateway: CLI

Este artículo le ayuda a habilitar BGP en conexiones VPN de sitio a sitio (S2S) entre entornos locales y conexiones de red virtual a red virtual mediante la CLI de Azure. También puede crear esta configuración mediante los pasos para Azure Portal o PowerShell.

BGP es el protocolo de enrutamiento estándar usado habitualmente en Internet para intercambiar información de enrutamiento y disponibilidad entre dos o más redes. BGP permite que instancias de Azure VPN Gateway y los dispositivos VPN locales, denominados vecinos o pares BGP, intercambien "rutas" que comunicarán a ambas puertas de enlace la disponibilidad y la posibilidad de que dichos prefijos pasen a través de las puertas de enlace o los enrutadores implicados. BGP también puede permitir el enrutamiento del tránsito entre varias redes mediante la propagación de las rutas que una puerta de enlace de BGP aprende de un par BGP a todos los demás pares BGP.

Para obtener más información sobre las ventajas de BGP y conocer los requisitos técnicos y las consideraciones sobre el uso de BGP, consulte Acerca de BGP con Azure VPN Gateway.

Cada parte de este artículo le ayuda a constituir un bloque de creación básico para habilitar BGP en la conectividad de red. Si completa las tres partes (configurar BGP en la puerta de enlace, la conexión S2S y la conexión de red virtual a red virtual), creará una topología como la que se muestra en el diagrama 1.

Diagrama 1

Diagrama que muestra la configuración y la arquitectura de red.

Puede combinar estas secciones para crear una red de tránsito más compleja y de saltos múltiples que satisfaga sus necesidades.

Prerrequisitos

Habilitación de BGP para VPN Gateway

Esta sección es necesaria antes de realizar alguno de los pasos de las otras dos secciones de configuración. Los siguientes pasos de configuración permiten establecer los parámetros de BGP de la instancia de Azure VPN Gateway, como se muestra en el diagrama 2.

Diagrama 2

Diagrama que muestra la configuración de la puerta de enlace de red virtual.

Creación y configuración de TestVNet1

1. Creación de un grupo de recursos

En el ejemplo siguiente se crea un grupo de recursos con el nombre "TestRG1" en la ubicación "eastus". Si ya tiene un grupo de recursos en la región en la que desea crear la red virtual, puede utilizar ese.

az group create --name TestRG1 --location eastus

2. Creación de TestVNet1

En el siguiente ejemplo se crean una red virtual denominada "TestVNet1" y tres subredes: GatewaySubnet, FrontEnd y Backend. Al reemplazar valores, es importante que siempre asigne el nombre "GatewaySubnet" a la subred de la puerta de enlace. Si usa otro, se produce un error al crear la puerta de enlace.

El primer comando crea el espacio de direcciones de front-end y la subred de front-end. El segundo comando crea otro espacio de direcciones para la subred de back-end. Los comandos terceros y cuarto crean la subred Backend y GatewaySubnet.

az network vnet create -n TestVNet1 -g TestRG1 --address-prefix 10.11.0.0/16 --subnet-name FrontEnd --subnet-prefix 10.11.0.0/24
az network vnet update -n TestVNet1 --address-prefixes 10.11.0.0/16 10.12.0.0/16 -g TestRG1
 
az network vnet subnet create --vnet-name TestVNet1 -n BackEnd -g TestRG1 --address-prefix 10.12.0.0/24
 
az network vnet subnet create --vnet-name TestVNet1 -n GatewaySubnet -g TestRG1 --address-prefix 10.12.255.0/27

Creación de VPN Gateway para TestVNet1 con parámetros BGP

1. Crear la dirección IP pública

Pida una dirección IP pública. La dirección IP pública se asignará a la instancia de VPN Gateway creada para la red virtual.

az network public-ip create -n GWPubIP -g TestRG1 --allocation-method Dynamic 

2. Cree la puerta de enlace de VPN con el número de AS

Cree la puerta de enlace de red virtual para TestVNet1. BGP requiere una instancia de VPN Gateway basada en rutas. También necesita el parámetro adicional -Asn para establecer el número de sistema autónomo (ASN) para TestVNet1. La creación de una puerta de enlace suele tardar 45 minutos o más, según la SKU de la puerta de enlace seleccionada.

Si este comando se ejecuta con el parámetro --no-wait, no se verán los comentarios o resultados. Este parámetro --no-wait permite que la puerta de enlace se cree en segundo plano. No significa que la puerta de enlace de VPN se cree de inmediato.

az network vnet-gateway create -n VNet1GW -l eastus --public-ip-address GWPubIP -g TestRG1 --vnet TestVNet1 --gateway-type Vpn --sku HighPerformance --vpn-type RouteBased --asn 65010 --no-wait

Después de crear la puerta de enlace, puede usarla para establecer una conexión entre locales o una conexión de red virtual a red virtual con BGP.

3. Obtención de la dirección IP del par BGP de Azure

Después de crear la puerta de enlace, debe obtener la dirección IP del par BGP en Azure VPN Gateway. Esta dirección es necesaria para configurar VPN Gateway como par BGP para los dispositivos de VPN local.

Ejecute el siguiente comando.

az network vnet-gateway list -g TestRG1

Tome nota de la sección bgpSettings en la parte superior de la salida. La utilizará más adelante.

"bgpSettings": { 
      "asn": 65010, 
      "bgpPeeringAddress": "10.12.255.30", 
      "peerWeight": 0 
    }

Si no aparece el elemento BgpPeeringAddress como una dirección IP, la puerta de enlace todavía se está configurando. Inténtelo de nuevo cuando se complete la configuración de la puerta de enlace.

Establecer una conexión entre locales con BGP

Para establecer una conexión entre locales, debe crear una puerta de enlace de red local para representar el dispositivo VPN local. A continuación, conecte Azure VPN Gateway con la puerta de enlace de red local. Aunque estos pasos son similares a los de creación de otras conexiones, incluyen propiedades adicionales necesarias para especificar los parámetros de configuración de BGP, como se muestra en el diagrama 3.

Diagrama 3

Diagrama que muestra la configuración de IPsec.

Cree y configure la puerta de enlace de red local

Este ejercicio es continuación del paso de creación de la configuración mostrada en el diagrama. Asegúrese de reemplazar los valores por los que desea usar para su configuración. Cuando trabaje con puertas de enlace de red local, tenga en cuenta los siguientes aspectos:

  • La puerta de enlace de red local puede estar en la misma ubicación y grupo de recursos que la puerta de enlace de VPN o en una ubicación y grupo de recurso distintos. Este ejemplo los muestra las puertas de enlace en distintos grupos de recursos en diferentes ubicaciones.
  • El prefijo mínimo que debe declarar para la puerta de enlace de red local es la dirección del host de la dirección IP del par BGP en el dispositivo VPN. En este caso, es un prefijo /32 de 10.51.255.254/32.
  • También puede dejar el prefijo vacío si usa BGP para conectarse a esta red. Azure VPN Gateway agregará de forma interna una ruta de la dirección IP del par BGP al túnel IPsec correspondiente.
  • Como recordatorio, debe usar diferentes ASN de BGP entre las redes locales y la red virtual de Azure. Si son iguales, debe cambiar el ASN de la red virtual si los dispositivos VPN locales ya utilizan el ASN para el emparejamiento con otros vecinos BGP.

Antes de continuar, asegúrese de haber completado la sección Habilitación de BGP para VPN Gateway de este ejercicio. Tenga en cuenta que, en este ejemplo, se crea un grupo de recursos. Además, observe los dos parámetros adicionales para la puerta de enlace de red local: Asn y BgpPeerAddress.

az group create -n TestRG5 -l westus 
 
az network local-gateway create --gateway-ip-address 23.99.221.164 -n Site5 -g TestRG5 --local-address-prefixes 10.51.255.254/32 --asn 65050 --bgp-peering-address 10.51.255.254

Conecte la puerta de enlace de red virtual y la puerta de enlace de red local

En este paso, creará la conexión de TestVNet1 a Site5. Debe especificar el parámetro --enable-bgp para habilitar BGP para esta conexión.

En este ejemplo, la puerta de enlace de red virtual y la puerta de enlace de red local están en distintos grupos de recursos. Cuando las puertas de enlace están en distintos grupos de recursos, debe especificar el identificador de recurso completo de las dos puertas de enlace para establecer una conexión entre las redes virtuales.

1. Obtención del id. de recurso de VNet1GW

Use la salida del siguiente comando para obtener el id. de recurso de VNet1GW:

az network vnet-gateway show -n VNet1GW -g TestRG1

En la salida, busque la línea "id":. Necesita los valores entrecomillados para crear la conexión en la sección siguiente.

Salida de ejemplo:

{ 
  "activeActive": false, 
  "bgpSettings": { 
    "asn": 65010, 
    "bgpPeeringAddress": "10.12.255.30", 
    "peerWeight": 0 
  }, 
  "enableBgp": true, 
  "etag": "W/\"<your etag number>\"", 
  "gatewayDefaultSite": null, 
  "gatewayType": "Vpn", 
  "id": "/subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW",

Copie estos valores después de "id": en un editor de texto, como el Bloc de notas, para que pueda pegarlos fácilmente al crear la conexión.

"id": "/subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW"

2. Obtención del id. de recurso de Site5

Use el siguiente comando para obtener el id. de recurso de Site5 de la salida:

az network local-gateway show -n Site5 -g TestRG5

3. Creación de la conexión de TestVNet1 a Site5

En este paso, creará la conexión de TestVNet1 a Site5. Como se explicó anteriormente, es posible tener conexiones BGP y no BGP para la misma instancia de Azure VPN Gateway. A menos que BGP esté habilitado en la propiedad de conexión, Azure no habilitará BGP para esta conexión, aunque los parámetros de BGP ya estén configurados en ambas puertas de enlace. Reemplace los identificadores de suscripción por los suyos propios.

az network vpn-connection create -n VNet1ToSite5 -g TestRG1 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW --enable-bgp -l eastus --shared-key "abc123" --local-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG5/providers/Microsoft.Network/localNetworkGateways/Site5

Configuración del dispositivo local

En el ejemplo siguiente se enumeran los parámetros que deberá especificar en la sección de configuración de BGP en el dispositivo VPN local para este ejercicio:

- Site5 ASN            : 65050
- Site5 BGP IP         : 10.51.255.254
- Prefixes to announce : (for example) 10.51.0.0/16
- Azure VNet ASN       : 65010
- Azure VNet BGP IP    : 10.12.255.30
- Static route         : Add a route for 10.12.255.30/32, with nexthop being the VPN tunnel interface on your device
- eBGP Multihop        : Ensure the "multihop" option for eBGP is enabled on your device if needed

Después de unos minutos, la conexión debería haberse establecido. Se inicia la sesión de emparejamiento de BGP después de establecer la conexión IPsec.

Establecer una conexión de red virtual a red virtual con BGP

En esta sección, se agrega una conexión de red virtual a red virtual con BGP, tal como se muestra en el diagrama 4.

Diagrama 4

Diagrama que muestra la configuración de red completa.

Las siguientes instrucciones son la continuación de los pasos de las secciones previas. Debe completar la sección Habilitar BGP para VPN Gateway para crear y configurar TestVNet1 y VPN Gateway con BGP.

Cree TestVNet2 y VPN Gateway

Es importante asegurarse de que el espacio de direcciones IP de la red virtual nueva, TestVNet2, no se solape con ninguno de los intervalos de red virtual.

En este ejemplo, las redes virtuales pertenecen a la misma suscripción. Se pueden configurar conexiones de red virtual a red virtual entre distintas suscripciones. Para más información, vea Configuración de una conexión de red virtual a red virtual. Asegúrese de agregar -EnableBgp $True al crear las conexiones para habilitar BGP.

1. Creación de un nuevo grupo de recursos

az group create -n TestRG2 -l eastus

2. Cree TestVNet2 en el nuevo grupo de recursos

El primer comando crea el espacio de direcciones de front-end y la subred de front-end. El segundo comando crea otro espacio de direcciones para la subred de back-end. Los comandos terceros y cuarto crean la subred Backend y GatewaySubnet.

az network vnet create -n TestVNet2 -g TestRG2 --address-prefix 10.21.0.0/16 --subnet-name FrontEnd --subnet-prefix 10.21.0.0/24
az network vnet update -n TestVNet2 --address-prefixes 10.21.0.0/16 10.22.0.0/16 -g TestRG2
 
az network vnet subnet create --vnet-name TestVNet2 -n BackEnd -g TestRG2 --address-prefix 10.22.0.0/24
 
az network vnet subnet create --vnet-name TestVNet2 -n GatewaySubnet -g TestRG2 --address-prefix 10.22.255.0/27

3. Crear la dirección IP pública

Pida una dirección IP pública. La dirección IP pública se asignará a la instancia de VPN Gateway creada para la red virtual.

az network public-ip create -n GWPubIP2 -g TestRG2 --allocation-method Dynamic

4. Cree la puerta de enlace de VPN con el número de AS

Cree la puerta de enlace de red virtual para TestVNet2. Debe reemplazar el valor predeterminado del ASN en Azure VPN Gateway. Los ASN para las redes virtuales conectadas deben ser diferentes para habilitar el enrutamiento de tránsito y de BGP.

az network vnet-gateway create -n VNet2GW -l eastus --public-ip-address GWPubIP2 -g TestRG2 --vnet TestVNet2 --gateway-type Vpn --sku Standard --vpn-type RouteBased --asn 65020 --no-wait

Conecte las puertas de enlace de TestVNet1 y TestVNet2

En este paso, creará la conexión de TestVNet1 a Site5. Debe especificar el parámetro --enable-bgp para habilitar BGP para esta conexión.

En el ejemplo siguiente, la puerta de enlace de red virtual y la puerta de enlace de red local están en distintos grupos de recursos. Cuando las puertas de enlace están en distintos grupos de recursos, debe especificar el identificador de recurso completo de las dos puertas de enlace para establecer una conexión entre las redes virtuales.

1. Obtención del id. de recurso de VNet1GW

Obtenga el id. de recurso de VNet1GW de la salida del comando siguiente:

az network vnet-gateway show -n VNet1GW -g TestRG1

Valor de ejemplo para el recurso de puerta de enlace:

"/subscriptions/<subscripion ID value>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW"

2. Obtención del id. de recurso de VNet2GW

Obtenga el id. de recurso de VNet2GW de la salida del comando siguiente:

az network vnet-gateway show -n VNet2GW -g TestRG2

3. Crear las conexiones

Cree la conexión de TestVNet1 a TestVNet2 y viceversa. Estos comandos usan los identificadores de recurso. Para este ejercicio, la mayoría de los identificadores de recurso ya están en el ejemplo. Asegúrese de reemplazar los valores del identificador de suscripción por sus propios valores. El identificador de suscripción se usa en varios lugares del mismo comando. Al usar este comando para producción, reemplazará todo el identificador de recurso de cada objeto al que se hace referencia.

az network vpn-connection create -n VNet1ToVNet2 -g TestRG1 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW --enable-bgp -l eastus --shared-key "abc123" --vnet-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW
az network vpn-connection create -n VNet2ToVNet1 -g TestRG2 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW --enable-bgp -l eastus --shared-key "abc123" --vnet-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW

Importante

Habilite BGP para ambas conexiones.

Después de completar estos pasos, se establecerá la conexión en cuestión de minutos. La sesión de emparejamiento BGP funcionará después de completar la conexión de red virtual a red virtual.

Pasos siguientes

Para más información sobre BGP, consulte Acerca de BGP con Azure VPN Gateway.