Ejercicio: Creación de una instancia de Azure VPN Gateway

Completado

Desea asegurarse de que puede conectarse con los clientes o sitios que están dentro de su entorno en Azure mediante túneles cifrados a través de la red Internet pública. En esta unidad, creará una puerta de enlace de VPN de punto a sitio y, después, se conectará a esa puerta de enlace desde el equipo cliente. Por motivos de seguridad, usará conexiones de autenticación nativa de certificados de Azure.

Puede realizar el siguiente proceso:

  1. Creación de una puerta de enlace de VPN RouteBased.

  2. Carga de la clave pública de un certificado raíz para la autenticación.

  3. Generación de un certificado de cliente a partir del certificado raíz e instalación del certificado de cliente en cada equipo cliente que se conectará a la red virtual para la autenticación.

  4. Creación de los archivos de configuración de cliente VPN, que contienen la información necesaria para que el cliente se conecte a la red virtual.

Configuración

Para completar este módulo, use Azure PowerShell desde el equipo local con Windows 10.

  1. Abra una nueva sesión de PowerShell en el equipo local con Windows 10 donde tenga instalado el módulo de Azure PowerShell.

  2. Inicie sesión en Azure ejecutando el cmdlet de PowerShell Connect-AzAccount.

  3. Configure las variables que usará para crear una red virtual. Copie y pegue las variables siguientes en PowerShell.

$VNetName  = "VNetData"
$FESubName = "FrontEnd"
$BESubName = "Backend"
$GWSubName = "GatewaySubnet"
$VNetPrefix1 = "192.168.0.0/16"
$VNetPrefix2 = "10.254.0.0/16"
$FESubPrefix = "192.168.1.0/24"
$BESubPrefix = "10.254.1.0/24"
$GWSubPrefix = "192.168.200.0/26"
$VPNClientAddressPool = "172.16.201.0/24"
$ResourceGroup = "VpnGatewayDemo"
$Location = "East US"
$GWName = "VNetDataGW"
$GWIPName = "VNetDataGWPIP"
$GWIPconfName = "gwipconf"

Configuración de una red virtual

  1. Ejecute el comando siguiente para crear un grupo de recursos.

    New-AzResourceGroup -Name $ResourceGroup -Location $Location
    
  2. Ejecute el comando siguiente para crear las configuraciones de subred para la red virtual. Estas configuraciones se llaman FrontEnd, BackEnd y GatewaySubnet. Todas estas subredes existen dentro del prefijo de red virtual.

    $fesub = New-AzVirtualNetworkSubnetConfig -Name $FESubName -AddressPrefix $FESubPrefix
    $besub = New-AzVirtualNetworkSubnetConfig -Name $BESubName -AddressPrefix $BESubPrefix
    $gwsub = New-AzVirtualNetworkSubnetConfig -Name $GWSubName -AddressPrefix $GWSubPrefix
    
  3. Después, ejecute el comando siguiente para crear la red virtual con los valores de la subred y un servidor DNS estático.

    New-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup -Location $Location -AddressPrefix $VNetPrefix1,$VNetPrefix2 -Subnet $fesub, $besub, $gwsub -DnsServer 10.2.1.3
    
  4. Ahora, especifique las variables de la red que acaba de crear.

    $vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name $GWSubName -VirtualNetwork $vnet
    
  5. Ejecute el comando siguiente para solicitar una dirección IP pública asignada de forma dinámica.

    $pip = New-AzPublicIpAddress -Name $GWIPName -ResourceGroupName $ResourceGroup -Location $Location -AllocationMethod Dynamic
    $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet -PublicIpAddress $pip
    

Creación de la puerta de enlace VPN

Al crear esta puerta de enlace VPN:

  • GatewayType debe ser Vpn
  • El valor de VpnType debe ser RouteBased

Completar esta parte del ejercicio puede llevar hasta 45 minutos.

  1. Para crear la puerta de enlace de VPN, ejecute el comando siguiente y presione Entrar.

    New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $ResourceGroup `
    -Location $Location -IpConfigurations $ipconf -GatewayType Vpn `
    -VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw1 -VpnClientProtocol "IKEv2"
    
  2. Espere a que aparezca la salida del comando.

Adición del grupo de direcciones de clientes VPN

  1. Ejecute el comando siguiente para agregar el grupo de direcciones de cliente de VPN.

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $ResourceGroup -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientAddressPool $VPNClientAddressPool
    
  2. Espere a que aparezca la salida del comando.

Generación de un certificado de cliente

Con la infraestructura de red creada en Azure, es necesario crear un certificado autofirmado de cliente en el equipo local. Esto se puede hacer de forma similar en la mayoría de los sistemas operativos, pero se explicará cómo generar el certificado de cliente en Windows 10 mediante PowerShell con el módulo de Azure PowerShell y la utilidad de Windows Administrador de certificados.

  1. El primer paso consiste en crear un certificado raíz autofirmado. Ejecute el siguiente comando.

    $cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
    -Subject "CN=P2SRootCert" -KeyExportPolicy Exportable `
    -HashAlgorithm sha256 -KeyLength 2048 `
    -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
    
  2. Después, genere un certificado de cliente firmado por el nuevo certificado raíz.

    New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
    -Subject "CN=P2SChildCert" -KeyExportPolicy Exportable `
    -HashAlgorithm sha256 -KeyLength 2048 `
    -CertStoreLocation "Cert:\CurrentUser\My" `
    -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")
    

Exportación de la clave pública del certificado

Una vez generados los certificados, es necesario exportar la clave pública del certificado raíz.

  1. Ejecute certmgr desde PowerShell para abrir el Administrador de certificados.

  2. Vaya a Personal>Certificados.

  3. Haga clic con el botón derecho en el certificado P2SRootCert de la lista y seleccione Todas las tareas>Exportar.

  4. En el Asistente para exportación de certificados, seleccione Siguiente.

  5. Asegúrese de que la opción No exportar la clave privada esté seleccionada y, después, seleccione Siguiente.

  6. En la página Formato de archivo de exportación, seleccione X.509 codificado base 64 (.CER) y, luego, seleccione Siguiente.

  7. En la página Archivo para exportar, en Nombre de archivo, vaya a una ubicación que pueda recordar y guarde el archivo como P2SRootCert.cer; después, seleccione Siguiente.

  8. En la página Finalización del Asistente para exportar certificados, seleccione Finalizar.

  9. En el cuadro de mensaje Asistente para exportar certificados, seleccione Aceptar.

Carga de la información de clave pública del certificado raíz

  1. En la ventana de PowerShell, ejecute el comando siguiente para declarar una variable para el nombre del certificado.

    $P2SRootCertName = "P2SRootCert.cer"
    
  2. Reemplace el marcador de posición <cert-path> con la ubicación de exportación del certificado raíz y ejecute el comando siguiente.

    $filePathForCert = "<cert-path>\P2SRootCert.cer"
    $cert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2($filePathForCert)
    $CertBase64 = [system.convert]::ToBase64String($cert.RawData)
    $p2srootcert = New-AzVpnClientRootCertificate -Name $P2SRootCertName -PublicCertData $CertBase64
    
  3. Una vez establecido el nombre del grupo, cargue el certificado en Azure con el comando siguiente.

    Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName -VirtualNetworkGatewayname $GWName -ResourceGroupName $ResourceGroup -PublicCertData $CertBase64
    

    Azure ahora reconocerá este certificado como un certificado raíz de confianza para la red virtual.

Configuración del cliente VPN nativo

  1. Ejecute el comando siguiente para crear los archivos de configuración de cliente VPN en formato .ZIP.

    $profile = New-AzVpnClientConfiguration -ResourceGroupName $ResourceGroup -Name $GWName -AuthenticationMethod "EapTls"
    $profile.VPNProfileSASUrl
    
  2. Copie la dirección URL devuelta en la salida de este comando y péguela en el explorador. El explorador debería empezar a descargar un archivo ZIP. Extraiga el contenido del archivo y colóquelo en una ubicación adecuada.

    Algunos exploradores intentarán bloquear inicialmente la descarga de este archivo ZIP como descarga peligrosa. Deberá invalidarlo en el explorador para poder extraer el contenido del archivo.

  3. En la carpeta extraída, vaya a la carpeta WindowsAmd64 (para equipos Windows de 64 bits) o a la carpeta WindowsX86 (para equipos de 32 bits).

    Si quiere configurar una VPN en un equipo que no sea Windows, puede usar el certificado y los archivos de configuración de la carpeta Genérico.

  4. Haga doble clic en el archivo VpnClientSetup {arquitecture}.exe, donde {architecture} refleja la arquitectura.

  5. En la pantalla Windows protegió su PC, seleccione Más información y, después, Ejecutar de todas formas.

  6. En el cuadro de diálogo Control de cuentas de usuario, seleccione .

  7. En el cuadro de diálogo VNetData, seleccione .

Conexión con Azure

  1. Presione la tecla Windows, escriba Configuración, y presione Entrar.

  2. En la ventana Configuración, seleccione Redes e Internet.

  3. En el panel izquierdo, seleccione VPN.

  4. En el panel derecho, seleccione VNetData y, después, Conectar.

  5. En la ventana VNetData, seleccione Conectar.

  6. En la siguiente ventana VNetData, seleccione Continuar.

  7. En el cuadro de mensaje Control de cuentas de usuario, seleccione .

Si estos pasos no funcionan, puede que deba reiniciar el equipo.

Comprobación de la conexión

  1. En un nuevo símbolo del sistema de Windows, ejecute IPCONFIG /ALL.

  2. Copie la dirección IP del adaptador PPP VNetData o anótela.

  3. Confirme que la dirección IP está en el intervalo VPNClientAddressPool de 172.16.201.0/24.

  4. Se ha realizado correctamente una conexión a la puerta de enlace de VPN de Azure.

Acaba de configurar una puerta de enlace de VPN, lo que le permite realizar una conexión de cliente cifrada a una red virtual en Azure. Este enfoque es ideal para los equipos cliente y las conexiones de sitio a sitio más pequeñas.