Configuración de VPN en el dispositivo Azure Stack Edge Mini R a través de Azure PowerShell
La opción de VPN proporciona una segunda capa de cifrado para los datos en movimiento a través de TLS desde el dispositivo Azure Stack Edge Mini R o Azure Stack Edge Pro R a Azure. Puede configurar VPN en el dispositivo Azure Stack Edge Mini R a través de Azure Portal o a través de Azure PowerShell.
En este artículo se describen los pasos necesarios para configurar una VPN de punto a sitio (P2S) en el dispositivo Azure Stack Edge Mini R mediante un script de Azure PowerShell para crear la configuración en la nube. La configuración en el dispositivo Azure Stack Edge se realiza a través de la interfaz de usuario local.
Acerca de la configuración de VPN
Una conexión de VPN Gateway P2S permite crear una conexión segura a la red virtual desde un equipo cliente individual o el dispositivo Azure Stack Edge Mini R. La conexión P2S se inicia desde el equipo cliente o el dispositivo. En este caso, la conexión P2S usa VPN IKEv2, una solución de VPN con protocolo de seguridad de Internet basada en estándares.
El flujo de trabajo típico incluye los siguientes pasos:
- Configurar los requisitos previos.
- Configurar los recursos necesarios en Azure.
- Crear y configurar una red virtual y las subredes necesarias.
- Crear y configurar una instancia de Azure VPN Gateway (puerta de enlace de red virtual).
- Configurar Azure Firewall y agregar reglas de red y aplicación.
- Crear tablas de enrutamiento de Azure y agregar rutas.
- Habilitar la conexión de punto a sitio en una instancia de VPN Gateway.
- Incorpore el grupo de direcciones del cliente.
- Configurar el tipo de túnel.
- Configurar el tipo de autenticación.
- Crear un certificado.
- Carga de un certificado.
- Descargar la libreta de teléfonos.
- Configurar una VPN en la interfaz de usuario web local del dispositivo.
- Proporcionar la libreta de teléfonos.
- Proporcionar el archivo (json) de etiquetas de servicio.
En las secciones siguientes se proporcionan los pasos detallados.
Configurar los requisitos previos
Debe tener acceso a un dispositivo Azure Stack Edge Mini R que se instale según las instrucciones incluidas en el artículo sobre cómo instalar el dispositivo Azure Stack Edge Mini R. Este dispositivo establecerá una conexión P2S con Azure.
Debe tener acceso a una suscripción de Azure válida habilitada para el servicio Azure Stack Edge en Azure. Use esta suscripción para crear un recurso correspondiente en Azure a fin de administrar el dispositivo Azure Stack Edge Mini R.
Tiene acceso a un cliente Windows que usará para tener acceso al dispositivo Azure Stack Edge Mini R. Usará este cliente para crear mediante programación la configuración en la nube.
Para instalar la versión necesaria de PowerShell en el cliente Windows, ejecute los siguientes comandos:
Install-Module -Name Az -AllowClobber -Scope CurrentUser Import-Module Az.Accounts
Para conectarse a su cuenta y suscripción de Azure, ejecute los siguientes comandos:
Connect-AzAccount Set-AzContext -Subscription "<Your subscription name>"
Proporcione el nombre de la suscripción de Azure que usa con el dispositivo Azure Stack Mini R para configurar la VPN.
Descargue el script necesario para crear la configuración en la nube. Este script le permitirá hacer lo siguiente:
- Cree una red virtual de Azure y las siguientes subredes: GatewaySubnet y AzureFirewallSubnet.
- Crear y configurar una instancia de Azure VPN Gateway.
- Crear y configurar una puerta de enlace de red local de Azure.
- Crear y configurar una conexión VPN de Azure entre Azure VPN Gateway y la puerta de enlace de red local.
- Crear una instancia de Azure Firewall y agregar reglas de red y aplicación.
- Crear una tabla de enrutamiento de Azure y agregarle rutas.
Crear el grupo de recursos en Azure Portal en el que desea que desea que se creen los recursos de Azure. Ir a la lista de servicios en Azure Portal, seleccionar Grupo de recursos y, a continuación, seleccionar + Agregar. Proporcionar la información de suscripción y el nombre del grupo de recursos y, a continuación, seleccionar Crear. Si va a este grupo de recursos, no debería tener ningún recurso en este momento.
Tendrá que tener un certificado codificado en Base 64 en formato
.cer
para el dispositivo Azure Stack Edge Mini R. Este certificado debe cargarse en el dispositivo Azure Stack Edge comopfx
con una clave privada. Este certificado también debe instalarse en la raíz de confianza del almacén en el cliente que intente establecer la conexión P2S.
Uso del script
En primer lugar, modifique el archivo parameters-p2s.json
para escribir los parámetros. A continuación, ejecute el script con el archivo JSON modificado.
En las siguientes secciones se explican cada uno de estos pasos.
Descarga del archivo de etiquetas de servicio
Es posible que ya tenga un archivo ServiceTags.json
en la carpeta en la que descargó el script. Si no es así, puede descargar el archivo de etiquetas de servicio.
Descargue las etiquetas de servicio de Azure en el cliente local y guárdelas como archivo json en la misma carpeta donde están los scripts: https://www.microsoft.com/download/details.aspx?id=56519.
Este archivo se carga en la interfaz de usuario web local en un paso posterior.
Modificación del archivo de parámetros
El primer paso sería modificar el archivo parameters-p2s.json
y guardar los cambios.
Para los recursos de Azure que cree, proporcionará los siguientes nombres:
Nombre de parámetro | Descripción |
---|---|
virtualNetworks_vnet_name | Nombre de Azure Virtual Network |
azureFirewalls_firewall_name | Nombre de Azure Firewall |
routeTables_routetable_name | Nombre de tabla de enrutamiento de Azure |
publicIPAddresses_VNGW_public_ip_name | Nombre de dirección IP pública de la puerta de enlace de red virtual |
virtualNetworkGateways_VNGW_name | Nombre de Azure VPN Gateway (puerta de enlace de red virtual) |
publicIPAddresses_firewall_public_ip_name | Nombre de dirección IP pública de su instancia de Azure Firewall |
ubicación | Esta es la región en la que quiere crear la red virtual. Seleccione la misma región que la asociada al dispositivo. |
RouteTables_routetable_onprem_name | Este es el nombre de la tabla de rutas adicional para ayudar al firewall a volver a enrutar los paquetes al dispositivo Azure Stack Edge. El script crea dos rutas adicionales y asocia predeterminada y FirewallSubnet a esta tabla de rutas. |
Proporcione las siguientes direcciones IP y espacios de direcciones para los recursos de Azure creados, entre los que se incluyen la red virtual y las subredes asociadas (predeterminada, de firewall y GatewaySubnet).
Nombre de parámetro | Descripción |
---|---|
VnetIPv4AddressSpace | Este es el espacio de direcciones asociado a la red virtual. Proporcione el intervalo IP de red virtual como intervalo IP privado (https://en.wikipedia.org/wiki/Private_network#Private_IPv4_addresses). |
DefaultSubnetIPv4AddressSpace | Este es el espacio de direcciones asociado a la subred Default de la red virtual. |
FirewallSubnetIPv4AddressSpace | Este es el espacio de direcciones asociado a la subred Firewall de la red virtual. |
GatewaySubnetIPv4AddressSpace | Este es el espacio de direcciones asociado a la subred GatewaySubnet de la red virtual. |
GatewaySubnetIPv4bgpPeeringAddress | Esta es la dirección IP que se reserva para la comunicación BGP y se basa en el espacio de direcciones asociado a la subred GatewaySubnet de la red virtual. |
ClientAddressPool | Esta dirección IP se usa para el grupo de direcciones en la configuración de P2S en Azure Portal. |
PublicCertData | VPN Gateway usa los datos de certificado público para autenticar a los clientes de P2S que se conectan a ella. Para obtener los datos del certificado, instale el certificado raíz. Asegúrese de que el certificado está codificado en Base 64 con una extensión .cer. Abra este certificado y copie el texto en el certificado entre ==BEGIN CERTIFICATE== y ==END CERTIFICATE== en una línea continua. |
Ejecute el script.
Siga estos pasos para usar el archivo parameters-p2s.json
modificado y ejecutar el script para crear recursos de Azure.
Ejecute PowerShell. Cambie al directorio en el que se encuentra el script.
Ejecute el script.
.\AzDeployVpn.ps1 -Location <Location> -AzureAppRuleFilePath "appRule.json" -AzureIPRangesFilePath "<Service tag json file>" -ResourceGroupName "<Resource group name>" -AzureDeploymentName "<Deployment name>" -NetworkRuleCollectionName "<Name for collection of network rules>" -Priority 115 -AppRuleCollectionName "<Name for collection of app rules>"
Nota:
En esta versión, el script funciona solo en la ubicación Este de EE. UU.
Tendrá que escribir la siguiente información al ejecutar el script:
Parámetro Descripción Location Esta es la región en la que se deben crear los recursos de Azure. AzureAppRuleFilePath Esta es la ruta de acceso del archivo para appRule.json
.AzureIPRangesFilePath Este es el archivo JSON de la etiqueta de servicio que descargó en el paso anterior. ResourceGroupName Este es el nombre del grupo de recursos en el que se crean todos los recursos de Azure. AzureDeploymentName Este es el nombre de la implementación de Azure. NetworkRuleCollectionName Este es el nombre de la colección de todas las reglas de red que se crean y agregan a su instancia de Azure Firewall. Priority Esta es la prioridad asignada a todas las reglas de red y de aplicación que se crean. AppRuleCollectionName Este es el nombre de la colección de todas las reglas de aplicación que se crean y agregan a su instancia de Azure Firewall. A continuación se muestra una salida de ejemplo.
PS C:\Offline docs\AzureVpnConfigurationScripts> .\AzDeployVpn.ps1 -Location eastus -AzureAppRuleFilePath "appRule.json" -AzureIPRangesFilePath ".\ServiceTags_Public_20200203.json" -ResourceGroupName "mytmarg3" -AzureDeploymentName "tmap2stestdeploy1" -NetworkRuleCollectionName "testnrc1" -Priority 115 -AppRuleCollectionName "testarc2" validating vpn deployment parameters Starting vpn deployment C:\Offline docs\AzureVpnConfigurationScripts\parameters-p2s.json C:\Offline docs\AzureVpnConfigurationScripts\template-p2s.json vpn deployment: tmap2stestdeploy1 started and status: Running Waiting for vpn deployment completion.... ==== CUT ==================== CUT ============== Adding route 191.236.0.0/18 for AzureCloud.eastus Adding route 191.237.0.0/17 for AzureCloud.eastus Adding route 191.238.0.0/18 for AzureCloud.eastus Total Routes:294, Existing Routes: 74, New Routes Added: 220 Additional routes getting added
Importante
- El script tarda 90 minutos aproximadamente en ejecutarse. Asegúrese de iniciar sesión en la red justo antes de que se inicie el script.
- Si, por alguna razón, se produce un error en una sesión con el script, asegúrese de eliminar el grupo de recursos para eliminar todos los recursos creados en él.
Una vez completado el script, se genera un registro de implementación en la misma carpeta en la que reside el script.
Comprobación de los recursos de Azure
Una vez que haya ejecutado correctamente el script, compruebe que todos los recursos se crearon en Azure. Vaya al grupo de recursos que ha creado. Aparecerán los siguientes recursos:
Descarga de la libreta de teléfonos para el perfil de VPN
En este paso, descargará el perfil de VPN para el dispositivo.
En Azure Portal, vaya al grupo de recursos y, a continuación, seleccione la puerta de enlace de red virtual que creó en el paso anterior.
Vaya a Configuración > Configuración de punto a sitio. Seleccione Descargar cliente VPN.
Guarde el perfil comprimido y extráigalo en el cliente Windows.
Vaya a la carpeta WindowsAmd64 y, después, extraiga
.exe
: VpnClientSetupAmd64.exe.Cree una ruta de acceso temporal. Por ejemplo:
C:\NewTemp\vnet\tmp
Ejecute PowerShell y vaya al directorio donde se encuentra el archivo
.exe
. Para ejecutar el archivo.exe
, escriba:.\VpnClientSetupAmd64.exe /Q /C /T:"C:\NewTemp\vnet\tmp"
La ruta de acceso temporal tendrá nuevos archivos. Esta es una salida de ejemplo:
PS C:\windows\system32> cd "C:\Users\Ase\Downloads\vngw5\WindowsAmd64" PS C:\Users\Ase\Downloads\vngw5\WindowsAmd64> .\VpnClientSetupAmd64.exe /Q /C /T:"C:\NewTemp\vnet\tmp" PS C:\Users\Ase\Downloads\vngw5\WindowsAmd64> cd "C:\NewTemp\vnet" PS C:\NewTemp\vnet> ls .\tmp Directory: C:\NewTemp\vnet\tmp Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2/6/2020 6:18 PM 947 8c670077-470b-421a-8dd8-8cedb4f2f08a.cer -a---- 2/6/2020 6:18 PM 155 8c670077-470b-421a-8dd8-8cedb4f2f08a.cmp -a---- 2/6/2020 6:18 PM 3564 8c670077-470b-421a-8dd8-8cedb4f2f08a.cms -a---- 2/6/2020 6:18 PM 11535 8c670077-470b-421a-8dd8-8cedb4f2f08a.inf -a---- 2/6/2020 6:18 PM 2285 8c670077-470b-421a-8dd8-8cedb4f2f08a.pbk -a---- 2/6/2020 6:18 PM 5430 azurebox16.ico -a---- 2/6/2020 6:18 PM 4286 azurebox32.ico -a---- 2/6/2020 6:18 PM 138934 azurevpnbanner.bmp -a---- 2/6/2020 6:18 PM 46064 cmroute.dll -a---- 2/6/2020 6:18 PM 196 routes.txt PS C:\NewTemp\vnet>
El archivo .pbk es la libreta de teléfonos del perfil de VPN. Se usará en la interfaz de usuario local.
Configuración de VPN en el dispositivo
Siga estos pasos en la interfaz de usuario local del dispositivo Azure Stack Edge.
En la interfaz de usuario local, vaya a la página VPN. En el estado de la VPN, seleccione Configurar.
En la hoja Configure VPN (Configurar VPN):
- En el campo de carga del archivo de libreta de teléfonos, seleccione el archivo .pbk que creó en el paso anterior.
- En el campo de carga del archivo de configuración de la lista de direcciones IP públicas, proporcione el archivo JSON de intervalo IP de centro de datos de Azure como entrada. Descargó este archivo en un paso anterior desde: https://www.microsoft.com/download/details.aspx?id=56519.
- Seleccione eastus como región y seleccione Aplicar.
En la sección IP address ranges to be accessed using VPN only (Intervalos de direcciones IP a los que acceder solo mediante VPN), escriba el intervalo IPv4 Vnet que había elegido para Azure Virtual Network.
Comprobación de la conexión de cliente
- En Azure Portal, vaya a VPN Gateway.
- Vaya a Configuración > Configuración de punto a sitio. En Direcciones IP asignadas, debe aparecer la dirección IP del dispositivo Azure Stack Edge.
Validación de la transferencia de datos a través de VPN
Para confirmar que la VPN funciona, copie los datos en un recurso compartido SMB. Siga los pasos descritos en Agregar un recurso compartido en el dispositivo Azure Stack Edge.
Copie un archivo, por ejemplo \data\pictures\waterfall.jpg en el recurso compartido SMB que montó en el sistema cliente.
Para validar que los datos pasan por VPN mientras se copian:
Vaya a VPN Gateway en Azure Portal.
Vaya a Supervisión > Métricas.
En el panel de la derecha, elija el Ámbito como su instancia de VPN Gateway, la Métrica como el ancho de banda P2S de puerta de enlace y la Agregación como Promedio.
A medida que se copian los datos, verá un aumento en la utilización del ancho de banda y, cuando se complete la copia de datos, dicha utilización desaparecerá.
Compruebe que este archivo se muestra en la cuenta de almacenamiento de la nube.
Depuración de problemas
Para depurar cualquier problema, use los siguientes comandos:
Get-AzResourceGroupDeployment -DeploymentName $deploymentName -ResourceGroupName $ResourceGroupName
A continuación se muestra la salida de ejemplo:
PS C:\Projects\TZL\VPN\Azure-VpnDeployment> Get-AzResourceGroupDeployment -DeploymentName "tznvpnrg14_deployment" -ResourceGroupName "tznvpnrg14"
DeploymentName : tznvpnrg14_deployment
ResourceGroupName : tznvpnrg14
ProvisioningState : Succeeded
Timestamp : 1/21/2020 6:23:13 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=========================================== ========================= ==========
virtualNetworks_vnet_name String tznvpnrg14_vnet
azureFirewalls_firewall_name String tznvpnrg14_firewall
routeTables_routetable_name String tznvpnrg14_routetable
publicIPAddresses_VNGW_public_ip_name String tznvpnrg14_vngwpublicip
virtualNetworkGateways_VNGW_name String tznvpnrg14_vngw
publicIPAddresses_firewall_public_ip_name String tznvpnrg14_fwpip
localNetworkGateways_LNGW_name String tznvpnrg14_lngw
connections_vngw_lngw_name String tznvpnrg14_connection
location String East US
vnetIPv4AddressSpace String 172.24.0.0/16
defaultSubnetIPv4AddressSpace String 172.24.0.0/24
firewallSubnetIPv4AddressSpace String 172.24.1.0/24
gatewaySubnetIPv4AddressSpace String 172.24.2.0/24
gatewaySubnetIPv4bgpPeeringAddress String 172.24.2.254
customerNetworkAddressSpace String 10.0.0.0/18
customerPublicNetworkAddressSpace String 207.68.128.0/24
dbeIOTNetworkAddressSpace String 10.139.218.0/24
azureVPNsharedKey String 1234567890
dbE-Gateway-ipaddress String 207.68.128.113
Outputs :
Name Type Value
======================= ========================= ==========
virtualNetwork Object {
"provisioningState": "Succeeded",
"resourceGuid": "dcf673d3-5c73-4764-b077-77125eda1303",
"addressSpace": {
"addressPrefixes": [
"172.24.0.0/16"
]
================= CUT ============================= CUT ===========================
Get-AzResourceGroupDeploymentOperation -ResourceGroupName $ResourceGroupName -DeploymentName $AzureDeploymentName
Pasos siguientes
Configure la VPN a través de la interfaz de usuario local en el dispositivo Azure Stack Edge.