Creación de una red virtual con una conexión VPN de sitio a sitio mediante la CLI
Este artículo muestra cómo utilizar la CLI de Azure para crear una conexión de puerta de enlace VPN de sitio a sitio desde la red local a la red virtual. Los pasos descritos en este artículo se aplican al modelo de implementación de Resource Manager. También se puede crear esta configuración con una herramienta o modelo de implementación distintos, mediante la selección de una opción diferente en la lista siguiente:
Se utiliza una conexión de puerta de enlace VPN de sitio a sitio para conectar su red local a una red virtual de Azure a través de un túnel VPN de IPsec/IKE (IKEv1 o IKEv2). Este tipo de conexión requiere un dispositivo VPN local que tenga una dirección IP pública asignada. Para más información acerca de las puertas de enlace VPN, consulte Acerca de VPN Gateway.
Antes de empezar
Antes de comenzar con la configuración, compruebe que se cumplen los criterios siguientes:
- Asegúrese de tener un dispositivo VPN compatible y alguien que pueda configurarlo. Para más información acerca de los dispositivos VPN compatibles y su configuración, consulte Acerca de los dispositivos VPN.
- Compruebe que tiene una dirección IPv4 pública externa para el dispositivo VPN.
- Si no está familiarizado con los intervalos de direcciones IP ubicados en la red local, necesita trabajar con alguien que pueda proporcionarle estos detalles. Al crear esta configuración, debe especificar los prefijos del intervalo de direcciones IP al que Azure enrutará la ubicación local. Ninguna de las subredes de la red local puede superponerse con las subredes de la red virtual a la que desea conectarse.
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
- En este artículo se necesita la versión 2.0 o posterior de la CLI de Azure. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.
Valores de ejemplo
Puede usar los siguientes valores para crear un entorno de prueba o hacer referencia a ellos para comprender mejor los ejemplos de este artículo:
#Example values
VnetName = VNet1
ResourceGroup = TestRG1
Location = eastus
AddressSpace = 10.1.0.0/16
SubnetName = Frontend
Subnet = 10.1.0.0/24
GatewaySubnet = 10.1.255.0/27
LocalNetworkGatewayName = Site1
LNG Public IP = <On-premises VPN device IP address>
LocalAddrPrefix1 = 10.0.0.0/24
LocalAddrPrefix2 = 20.0.0.0/24
GatewayName = VNet1GW
PublicIP = VNet1GWIP
GatewayType = Vpn
ConnectionName = VNet1toSite2
1. su suscripción
Si decide ejecutar la CLI de forma local, conéctese a su suscripción. Si está usando Azure Cloud Shell en el explorador, no necesitará conectarse a su suscripción. Se conectará automáticamente en Azure Cloud Shell. Sin embargo, es posible que quiera comprobar si está usando la suscripción correcta después de conectarse.
Inicie sesión en la suscripción de Azure con el comando az login y siga las instrucciones que aparecen en pantalla. Para más información sobre el inicio de sesión, consulte Introducción a la CLI de Azure.
az login
Si tiene más de una suscripción de Azure, enumere las suscripciones de la cuenta.
az account list --all
Especifique la suscripción que desea usar.
az account set --subscription <replace_with_your_subscription_id>
2. Crear 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 que desea crear la red virtual, puede utilizarlo.
az group create --name TestRG --location eastus
3. Creación de una red virtual
Si aún no tiene una red virtual, créela con el comando az network vnet create. Al crear una red virtual, compruebe que los espacios de direcciones especificados no se superponen con los espacios de direcciones que existen en la red local.
Nota:
Para que esta red virtual se conecte a una ubicación local, debe coordinarse con el administrador de la red local para delimitar un intervalo de direcciones IP que pueda usar específicamente para esta red virtual. Si existe un intervalo de direcciones duplicado en ambos lados de la conexión VPN, el tráfico no se enrutará como cabría esperar. Además, si desea conectar esta red virtual a otra red virtual, el espacio de direcciones no se puede superponer con otra red virtual. Por consiguiente, tenga cuidado al planear la configuración de red.
En el siguiente ejemplo se crea una red virtual denominada “VNet1” y una subred llamada “Subnet1”.
az network vnet create --name VNet1 --resource-group TestRG1 --address-prefix 10.1.0.0/16 --location eastus --subnet-name Subnet1 --subnet-prefix 10.1.0.0/24
4. Creación de la subred de la puerta de enlace
La puerta de enlace de red virtual usa una subred concreta llamada la subred de la puerta de enlace. Esta subred forma parte del intervalo de direcciones IP de red virtual que se especifican al configurar una red virtual. Contiene las direcciones IP que usan los recursos y servicios de puerta de enlace de la red virtual. La subred debe llamarse "GatewaySubnet" para que Azure implemente los recursos de la puerta de enlace. No se puede especificar otra subred en la que implementar los recursos de la puerta de enlace. Si no dispone de una subred llamada "GatewaySubnet", al crear la puerta de enlace de VPN, se producirá un error.
Al crear la subred de puerta de enlace, especifique el número de direcciones IP que contiene la subred. El número de direcciones IP que se necesitan depende de la configuración de puerta de enlace de VPN que se desea crear. Algunas configuraciones requieren más direcciones IP que otras. Es aconsejable crear una subred de puerta de enlace que use /27 o /28.
Si ve un error en el que se indica que el espacio de direcciones se solapa con una subred o que la subred no se encuentra dentro del espacio de direcciones de la red virtual, compruebe el intervalo de direcciones de la red virtual. Es posible que no tenga suficientes direcciones IP disponibles en el intervalo de direcciones que creó para la red virtual. Por ejemplo, si la subred predeterminada engloba todo el intervalo de direcciones, no quedan direcciones IP para crear más subredes. Puede ajustar las subredes en el espacio de direcciones existente para liberar direcciones IP o especificar un intervalo de direcciones adicionales y crear en él la subred de la puerta de enlace.
Use el comando az network vnet subnet create para la subred de la puerta de enlace.
az network vnet subnet create --address-prefix 10.1.255.0/27 --name GatewaySubnet --resource-group TestRG1 --vnet-name VNet1
Importante
No se admiten grupos de seguridad de red (NSG) en la subred de puerta de enlace. La asociación de grupos de seguridad de red a esta subred podría causar que la puerta de enlace de la red virtual (puertas de enlace de ExpressRoute y VPN) dejase de funcionar como cabría esperar. Para más información acerca de los grupos de seguridad de red, consulte ¿Qué es un grupo de seguridad de red?
5. Creación de la puerta de enlace de red local
La puerta de enlace de red local suele hacer referencia a la ubicación local. Asigne al sitio un nombre al que Azure pueda hacer referencia y, luego, especifique la dirección IP del dispositivo VPN local con la que creará una conexión. Especifique también los prefijos de dirección IP que se enrutarán a través de la puerta de enlace VPN al dispositivo VPN. Los prefijos de dirección que especifique son los prefijos que se encuentran en la red local. Puede actualizar fácilmente estos prefijos si cambia su red local.
Use los valores siguientes:
- --gateway-ip-address es la dirección IP del dispositivo VPN local.
- --local-address-prefixes son los espacios de direcciones locales.
Use el comando az network local-gateway create para agregar una puerta de enlace de red local con varios prefijos de direcciones:
az network local-gateway create --gateway-ip-address 23.99.221.164 --name Site2 --resource-group TestRG1 --local-address-prefixes 10.0.0.0/24 20.0.0.0/24
6. Solicitud de una dirección IP pública
Una puerta de enlace VPN tiene que tener una dirección IP pública. Primero se solicita el recurso de la dirección IP y, después, se hace referencia a él al crear la puerta de enlace de red virtual. La dirección IP se asigna dinámicamente al recurso cuando se crea la puerta de enlace VPN. La única vez que la dirección IP pública cambia es cuando la puerta de enlace se elimina y se vuelve a crear. No cambia cuando se cambia el tamaño, se restablece o se realizan actualizaciones u otras operaciones de mantenimiento interno de una puerta de enlace VPN. Tenga en cuenta que, si desea crear una puerta de enlace de VPN mediante la SKU de puerta de enlace básica, tiene que solicitar una dirección IP pública con los valores siguientes: --allocation-method Dynamic --sku Basic
.
Use el comando az network public-ip create para solicitar una dirección IP pública.
az network public-ip create --name VNet1GWIP --resource-group TestRG1 --allocation-method Static --sku Standard
7. Creación de la puerta de enlace VPN
Cree la puerta de enlace VPN de la red virtual. 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.
Use los valores siguientes:
- El valor ---gateway-type para una configuración de sitio a sitio es Vpn. El tipo de puerta de enlace siempre es específico de la configuración que se vaya a implementar. Para más información, consulte Tipos de puerta de enlace.
- El tipo --vpn es RouteBased (denominado puerta de enlace dinámica en alguna documentación).
- Seleccione la SKU de la puerta de enlace que desea utilizar. Hay limitaciones de configuración para determinadas SKU. Consulte SKU de puertas de enlace para más información.
Cree la puerta de enlace VPN con el comando az network vnet-gateway create. Si este comando se ejecuta con el parámetro '--no-wait', no se verán los comentarios o resultados. Este parámetro permite que la puerta de enlace se cree en segundo plano. La creación de una puerta de enlace tarda 45 minutos o más.
az network vnet-gateway create --name VNet1GW --public-ip-address VNet1GWIP --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw1 --no-wait
8. Configurar el dispositivo VPN
Las conexiones de sitio a sitio a una red local requieren un dispositivo VPN. En este paso, se configura el dispositivo VPN. Al configurar el dispositivo VPN, necesita lo siguiente:
Una clave compartida. Se trata de la misma clave compartida que se especifica al crear la conexión VPN de sitio a sitio. En estos ejemplos se utiliza una clave compartida básica. Se recomienda que genere y utilice una clave más compleja.
La dirección IP pública de la puerta de enlace de red virtual. Puede ver la dirección IP pública mediante Azure Portal, PowerShell o la CLI. Para buscar la dirección IP pública de la puerta de enlace de red virtual, use el comando az network public-ip list. Para facilitar la lectura, la salida muestra la lista de direcciones IP públicas en formato de tabla.
az network public-ip list --resource-group TestRG1 --output table
En función del dispositivo VPN que tenga, es posible que pueda descargar un script de configuración del mismo. Para más información, consulte Descarga de scripts de configuración de dispositivos VPN para conexiones VPN S2S.
En los siguientes vínculos se proporciona más información de configuración:
Para obtener más información sobre dispositivos VPN compatibles, consulte Acerca de los dispositivos VPN.
Antes de configurar el dispositivo VPN, compruebe si hay problemas conocidos de compatibilidad de dispositivos.
Para obtener vínculos a los valores de configuración del dispositivo, consulte Dispositivos VPN validados. Proporcionamos los vínculos de configuración de dispositivos en la medida de lo posible, pero siempre es mejor comprobar con el fabricante del dispositivo la información de configuración más reciente.
En la lista se muestran las versiones que probamos. Aunque la versión del sistema operativo del dispositivo VPN no aparezca en la lista, podría ser compatible. Consulte con el fabricante del dispositivo.
Para obtener información básica sobre la configuración de dispositivos VPN, consulte Introducción a las configuraciones de dispositivos VPN de asociados.
Para obtener información sobre cómo modificar los ejemplos de configuración de dispositivo, consulte Edición de ejemplos.
Para conocer los requisitos criptográficos, consulte About cryptographic requirements and Azure VPN gateways (Acerca de los requisitos criptográficos y la puertas de enlace de VPN de Azure).
Para obtener información sobre los parámetros que necesita para completar la configuración, consulte Parámetros de IPsec o IKE predeterminados. La información incluye la versión de IKE, el grupo Diffie-Hellman (DH), el método de autenticación, los algoritmos de cifrado y hash, la duración de la asociación de seguridad (SA), la confidencialidad directa total (PFS) y la detección de elementos del mismo nivel inactivos (DPD).
Para conocer los pasos de configuración de la directiva IPsec o IKE, consulte Configuración de directivas de conexión IPsec o IKE personalizadas para VPN S2S y red virtual a red virtual.
Para conectar varios dispositivos VPN basados en directivas, consulte Conexión de una puerta de enlace de VPN a varios dispositivos VPN locales basados en directivas.
9. Creación de la conexión VPN
Creación de la conexión VPN de sitio a sitio entre la puerta de enlace de la red virtual y el dispositivo VPN local. Preste especial atención al valor de la clave compartida, que debe coincidir con el valor de la clave compartida configurada para el dispositivo VPN.
Cree la conexión mediante el comando az network vpn-connection create.
az network vpn-connection create --name VNet1toSite2 --resource-group TestRG1 --vnet-gateway1 VNet1GW -l eastus --shared-key abc123 --local-gateway2 Site2
Pasado un momento, se establecerá la conexión.
10. Comprobación de la conexión VPN
Puede comprobar que la conexión se realizó correctamente mediante el comando az network vpn-connection show. En el ejemplo, "-Name" hace referencia al nombre de la conexión que quiere probar. Mientras la conexión aún se está estableciendo, su estado de conexión muestra "Conectando". Una vez establecida la conexión, el estado cambia a "Conectado". Modifica el siguiente ejemplo con los valores para tu entorno.
az network vpn-connection show --name <connection-name> --resource-group <resource-group-name>
Si desea usar otro método para comprobar la conexión, consulte Comprobación de una conexión de VPN Gateway.
Para conectarse a una máquina virtual
Puedes conectarte a una máquina virtual que esté implementada en la red virtual mediante la creación de una conexión de Escritorio remoto a la máquina virtual. La mejor manera de comprobar inicialmente que puede conectarse a la máquina virtual es hacerlo mediante su dirección IP privada, en lugar del nombre de equipo. Con este método prueba si puede conectarse, no si la resolución de nombres está configurada correctamente.
Busque la dirección IP privada. Para buscar la dirección IP privada de una máquina virtual, examina las propiedades en Azure Portal o usa PowerShell.
Azure Portal: Ubica la máquina virtual en Azure Portal. Vea las propiedades de la máquina virtual. Se enumera la dirección IP privada.
PowerShell: Utiliza el ejemplo para ver una lista de las máquinas virtuales y las direcciones IP privadas de los grupos de recursos. No es preciso modificar el ejemplo para usarlo.
$VMs = Get-AzVM $Nics = Get-AzNetworkInterface | Where-Object VirtualMachine -ne $null foreach ($Nic in $Nics) { $VM = $VMs | Where-Object -Property Id -eq $Nic.VirtualMachine.Id $Prv = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAddress $Alloc = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAllocationMethod Write-Output "$($VM.Name): $Prv,$Alloc" }
Comprueba que está conectado a la red virtual.
Abre Conexión a Escritorio remoto, para lo que debes escribir RDP o Conexión a Escritorio remoto en el cuadro de búsqueda de la barra de tareas. Luego, selecciona Conexión a Escritorio remoto. También puedes abrir Conexión a Escritorio remoto con el comando
mstsc
de PowerShell.En Conexión a Escritorio remoto, escriba la dirección IP privada de la máquina virtual. Puedes seleccionar Mostrar opciones para ajustar parámetros adicionales y, después, conectarte.
Si tienes problemas para conectarte a una máquina virtual a través de tu conexión VPN, comprueba los siguientes puntos:
- Compruebe que la conexión VPN se ha establecido correctamente.
- Compruebe que se conecta a la dirección IP privada de la máquina virtual.
- Si puedes conectarte a la máquina virtual mediante la dirección IP privada, pero no el nombre del equipo, comprueba que has configurado el DNS correctamente. Para más información acerca de cómo funciona la resolución de nombres para las máquinas virtuales, consulta Resolución de nombres para las máquinas virtuales e instancias de rol.
Para más información acerca de las conexiones RDP, consulte Solución de problemas de conexiones del Escritorio remoto a una máquina virtual de Azure.
Tareas comunes
Esta sección contiene comandos comunes que son útiles al trabajar con configuraciones de sitio a sitio. Para obtener la lista completa de los comandos de red de la CLI, consulte Azure CLI - Networking (CLI de Azure - Redes).
Para ver las puertas de enlace de la red local
Para ver una lista de las puertas de enlace de red local, use el comando az network local-gateway list.
az network local-gateway list --resource-group TestRG1
Para modificar los prefijos de dirección IP de la puerta de enlace de red local (sin conexión de puerta de enlace)
Si no dispone de una conexión de puerta de enlace y desea agregar o quitar prefijos de direcciones IP, utilice el mismo comando que se usa para crear la puerta de enlace de red local, az network local-gateway create. Este comando también se puede usar para actualizar la dirección IP de la puerta de enlace del dispositivo VPN. Para sobrescribir la configuración actual, utilice el nombre existente de la puerta de enlace de red local. Si usa otro nombre, creará una nueva puerta de enlace de red local, en lugar de sobrescribir la existente.
Cada vez que se realiza un cambio, debe especificarse toda la lista de prefijos, no solo los prefijos que se desea cambiar. Especifique solo los prefijos que desea conservar. En este caso, 10.0.0.0/24 y 20.0.0.0/24
az network local-gateway create --gateway-ip-address 23.99.221.164 --name Site2 -g TestRG1 --local-address-prefixes 10.0.0.0/24 20.0.0.0/24
Para modificar los prefijos de dirección IP de la puerta de enlace de red local (conexión de puerta de enlace existente)
Si tiene una conexión de puerta de enlace y desea agregar o quitar prefijos de direcciones IP, estos se pueden actualizar mediante az network local-gateway update. Esto tendrá como resultado un tiempo de inactividad para la conexión VPN. Al modificar los prefijos de direcciones IP, no preciso eliminar la puerta de enlace VPN.
Cada vez que se realiza un cambio, debe especificarse toda la lista de prefijos, no solo los prefijos que se desea cambiar. En este ejemplo, 10.0.0.0/24 y 20.0.0.0/24 ya están presentes. Agregamos los prefijos 30.0.0.0/24 y 40.0.0.0/24, y especificamos los cuatro prefijos al actualizar.
az network local-gateway update --local-address-prefixes 10.0.0.0/24 20.0.0.0/24 30.0.0.0/24 40.0.0.0/24 --name VNet1toSite2 -g TestRG1
Para modificar la puerta de enlace de red local "gatewayIpAddress"
Si el dispositivo VPN al que desea conectarse ha cambiado su dirección IP pública, debe modificar la puerta de enlace de red local para reflejar ese cambio. La dirección IP de puerta de enlace se puede cambiar sin quitar una conexión de puerta de enlace VPN existente (si tiene una). Para modificar la dirección IP de puerta de enlace, reemplace los valores "Site2" y "TestRG1" por los suyos propios mediante el comando az network local-gateway update.
az network local-gateway update --gateway-ip-address 23.99.222.170 --name Site2 --resource-group TestRG1
Compruebe que la dirección IP sea correcta en la salida:
"gatewayIpAddress": "23.99.222.170",
Para comprobar los valores de la clave compartida
Compruebe que el valor de la clave compartida es el mismo valor que utilizó para la configuración del dispositivo VPN. Si no es así, ejecute de nuevo la conexión con el valor del dispositivo, o actualice el dispositivo con el valor devuelto. Los valores deben coincidir. Para ver la clave compartida, use az network vpn-connection-list.
az network vpn-connection shared-key show --connection-name VNet1toSite2 --resource-group TestRG1
Para ver la dirección IP pública de la puerta de enlace de VPN
Para buscar la dirección IP pública de la puerta de enlace de red virtual, use el comando az network public-ip list. Para facilitar la lectura, la salida de este ejemplo tiene el formato preciso para mostrar la lista de direcciones IP públicas en formato de tabla.
az network public-ip list --resource-group TestRG1 --output table
Pasos siguientes
- Una vez completada la conexión, puede agregar máquinas virtuales a las redes virtuales. Consulte Virtual Machines para más información.
- Para más información acerca de BGP, consulte Información general de BGP y Configuración de BGP.
- Para más información acerca de la tunelización forzada, consulte la información acerca de la tunelización forzada.
- Para obtener información acerca de las conexiones activo/activo de alta disponibilidad, consulte Conectividad de alta disponibilidad entre locales y de red virtual a red virtual.
- Para obtener una lista de comandos de red de la CLI de Azure, consulte Networking - az network (Redes: az network).
- Para más información acerca de cómo crear una conexión VPN de sitio a sitio mediante una plantilla de Azure Resource Manager, consulte Creación de una conexión VPN de sitio a sitio.
- Para obtener información acerca de cómo crear una conexión VPN entre redes virtuales mediante una plantilla de Azure Resource Manager, consulte Deploy HBase geo replication (Implementación de replicación geográfica de HBase).