Creación de una puerta de enlace de VPN mediante PowerShell
Este artículo le ayuda a crear una puerta de enlace de VPN de Azure mediante PowerShell. Una instancia de VPN Gateway se usa al crear una conexión VPN a la red local. También puede usar una VPN Gateway para conectar redes virtuales. Para obtener información más completa sobre algunas de las opciones de configuración de este artículo, consulte Creación de una puerta de enlace de VPN: Azure Portal.
- En el diagrama del lado izquierdo se muestra la red virtual y la puerta de enlace de VPN que se crean siguiendo los pasos descritos en este artículo.
- Más adelante puede agregar diferentes tipos de conexiones, como se muestra en el lado derecho del diagrama. Por ejemplo, puede crear conexiones de sitio a sitio y de punto a sitio. Para ver diferentes arquitecturas de diseño que puede compilar, consulte diseño de VPN Gateway.
Los pasos de este artículo crean una red virtual, una subred, una subred de puerta de enlace y una puerta de enlace VPN en modo activo-activo basada en rutas y redundante por zonas (puerta de enlace de red virtual) utilizando la SKU VpnGw2AZ de Generación 2. Una vez creada la puerta de enlace, puede configurar conexiones.
- Si quiere crear una puerta de enlace de VPN mediante la SKU básica en su lugar, consulte Creación de una puerta de enlace de VPN de SKU básica.
- Se recomienda crear una VPN Gateway en modo activo-activo siempre que sea posible. Las puertas de enlace de VPN en modo activo proporcionan una mejor disponibilidad y rendimiento que las puertas de enlace de VPN en modo estándar. Para obtener más información sobre las puertas de enlace activas-activas, consulte Acerca de las puertas de enlace en modo activo-activo.
- Para obtener información sobre las zonas de disponibilidad y las puertas de enlace con redundancia de zona, consulte ¿Qué son las zonas de disponibilidad?
Nota:
En los pasos de este artículo se usa la SKU de puerta de enlace VpnGw2AZ, que es una SKU que admite zonas de disponibilidad de Azure. Si no se admiten zonas de disponibilidad para su región, use en su lugar una SKU que no sea AZ. Para obtener más información sobre las SKU, consulte Acerca de las SKU de puerta de enlace.
Antes de empezar
Estos pasos requieren una suscripción a Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
En este artículo se usan cmdlets de PowerShell. Para ejecutar los cmdlets, puede usar Azure Cloud Shell. Cloud Shell es un servicio de shell interactivo gratuito que se puede usar para ejecutar los pasos de este artículo. Tiene las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta.
Para abrir Cloud Shell, seleccione Abrir Cloud Shell en la esquina superior derecha de un bloque de código. También puede abrir Cloud Shell en una pestaña independiente desde https://shell.azure.com/powershell. Seleccione Copiar para copiar los bloques de código, péguelos en Cloud Shell y, a continuación, seleccione la tecla Entrar para ejecutarlos.
También puede instalar y ejecutar los cmdlets de Azure PowerShell localmente en el equipo. Los cmdlets de PowerShell se actualizan con frecuencia. Si no ha instalado la última versión, los valores especificados en las instrucciones pueden dar lugar a errores. Para buscar las versiones de Azure PowerShell instaladas en el equipo, use el cmdlet Get-Module -ListAvailable Az
. Para instalar la actualización, vea Instalación del módulo de Azure PowerShell.
Crear un grupo de recursos
Cree un grupo de recursos de Azure mediante el comando New-AzResourceGroup . Un grupo de recursos es un contenedor lógico en el que se implementan y se administran los recursos de Azure. Si ejecuta PowerShell de manera local, abra la consola de PowerShell con privilegios elevados y conéctese a Azure con el comando Connect-AzAccount
.
New-AzResourceGroup -Name TestRG1 -Location EastUS
Creación de una red virtual
Si aún no tiene una red virtual, cree una con New-AzVirtualNetwork. Al crear una red virtual, asegúrese de que los espacios de direcciones que especifique no superpongan ninguno de los espacios de direcciones que tenga en la red local. Si existe un intervalo de direcciones duplicados en ambos lados de la conexión VPN, el tráfico no enruta la manera en que podría esperar que lo haga. 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 en la ubicación EastUS:
$virtualnetwork = New-AzVirtualNetwork `
-ResourceGroupName TestRG1 `
-Location EastUS `
-Name VNet1 `
-AddressPrefix 10.1.0.0/16
Cree una configuración de subred mediante el cmdlet New-AzVirtualNetworkSubnetConfig. La subred FrontEnd no se usa en este ejercicio. Puede sustituir su propio nombre de subred.
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
-Name FrontEnd `
-AddressPrefix 10.1.0.0/24 `
-VirtualNetwork $virtualnetwork
Establezca la configuración de la subred para la red virtual mediante el cmdlet Set-AzVirtualNetwork.
$virtualnetwork | Set-AzVirtualNetwork
Adición de una subred de puerta de enlace
Los recursos de puerta de enlace de red virtual se implementan en una subred específica denominada GatewaySubnet. Esta subred forma parte del intervalo de direcciones IP de red virtual que se especifican al configurar una red virtual.
Si no tiene una subred denominada GatewaySubnet, al crear la puerta de enlace de VPN, se produce un error. Se recomienda crear una subred de puerta de enlace que use /27 (o superior). Por ejemplo, /27 o /26. Para más información, consulte Configuración de VPN Gateway: subred de puerta de enlace.
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?
Establezca una variable para la red virtual.
$vnet = Get-AzVirtualNetwork -ResourceGroupName TestRG1 -Name VNet1
Cree la subred de puerta de enlace mediante el cmdlet Add-AzVirtualNetworkSubnetConfig.
Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.1.255.0/27 -VirtualNetwork $vnet
Establezca la configuración de la subred para la red virtual mediante el cmdlet Set-AzVirtualNetwork.
$vnet | Set-AzVirtualNetwork
Solicitud de direcciones IP públicas
Una puerta de enlace VPN tiene que tener una dirección IP pública. Cuando crea una conexión a una instancia de VPN Gateway, esta es la dirección IP que especifica. Para las puertas de enlace en modo activo-activo, cada instancia de puerta de enlace tiene su propio recurso de 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. Además, para cualquier SKU de puerta de enlace que termine en AZ, también debe especificar la configuración Zona. En este ejemplo se especifica una configuración con redundancia de zona porque especifica las tres zonas regionales.
La dirección IP se asigna 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.
Use los ejemplos siguientes para solicitar una dirección IP pública estática para cada instancia de puerta de enlace.
$gw1pip1 = New-AzPublicIpAddress -Name "VNet1GWpip1" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard -Zone 1,2,3
Para crear una puerta de enlace activa-activa (recomendada), solicite una segunda dirección IP pública:
$gw1pip2 = New-AzPublicIpAddress -Name "VNet1GWpip2" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard -Zone 1,2,3
Creación de la configuración de direcciones IP de la puerta de enlace
La configuración de puerta de enlace define la subred y la dirección IP pública. Use el ejemplo siguiente para crear la configuración de la puerta de enlace.
$vnet = Get-AzVirtualNetwork -Name VNet1 -ResourceGroupName TestRG1
$subnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet
$gwipconfig1 = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $subnet.Id -PublicIpAddressId $gw1pip1.Id
$gwipconfig2 = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig2 -SubnetId $subnet.Id -PublicIpAddressId $gw1pip2.Id
Creación de la puerta de enlace VPN
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. Una vez creada la puerta de enlace, puede crear una conexión entre la red virtual y la ubicación local. O bien, cree una conexión entre la red virtual y otra red virtual.
Cree una puerta de enlace de VPN mediante el cmdlet New-AzVirtualNetworkGateway. Observe en los ejemplos que se hace referencia a ambas direcciones IP públicas y que la puerta de enlace está configurada como activa-activa mediante el modificador de EnableActiveActiveFeature
. En el ejemplo, agregamos el modificador opcional -Debug
. Si desea crear una puerta de enlace mediante una SKU diferente, consulte Acerca de las SKU de puerta de enlace para determinar la SKU que mejor se adapte a sus requisitos de configuración.
New-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 `
-Location "East US" -IpConfigurations $gwipconfig1,$gwipconfig2 -GatewayType "Vpn" -VpnType RouteBased `
-GatewaySku VpnGw2AZ -VpnGatewayGeneration Generation2 -EnableActiveActiveFeature -Debug
Visualización de VPN Gateway
Puede ver la instancia de VPN Gateway mediante el cmdlet Get-AzVirtualNetworkGateway.
Get-AzVirtualNetworkGateway -Name Vnet1GW -ResourceGroup TestRG1
Visualización de direcciones IP de puerta de enlace
A cada instancia de VPN Gateway se le asigna un recurso de dirección IP pública. Para ver la dirección IP asociada al recurso, use el cmdlet Get-AzPublicIpAddress. Repita esta operación para cada instancia de puerta de enlace. Las puertas de enlace activas y activas tienen asignada una dirección IP pública diferente a cada instancia.
Get-AzPublicIpAddress -Name VNet1GWpip1 -ResourceGroupName TestRG1
Limpieza de recursos
Cuando ya no necesite los recursos que ha creado, use el comando Remove-AzResourceGroup para eliminar el grupo de recursos. Esto elimina el grupo de recursos y todos los recursos que contiene.
Remove-AzResourceGroup -Name TestRG1
Pasos siguientes
Una vez creada la puerta de enlace, puede configurar conexiones.