En el año 2013 creé un artículo donde expliqué cómo crear una red virtual de punto a sitio utilizando Windows Azure (en ese entonces). El artículo completo puede consultarse
aquí
Ya han pasado más de 3 años desde ese momento, y las cosas han evolucionado bastante en Azure, por lo cual el mencionado artículo ya se encuentra bastante obsoleto. Recientemente he estado dictando un curso de fundamentos de Microsoft Azure para la comunidad
ITPros-DC y explicando el tema de redes virtuales me animé a realizar la actualización de esta información en mi blog. Así que empezaré mostrando cómo crear una red de punto a sitio en Azure, en otro artículo explicaré cómo crear la conexión de sitio a sitio S2S.
Diagrama de la solución:
(Clic para ampliar)
Crear red virtual
Lo primero que debemos hacer es crear una red virtual a través del marketplace en el portal de Azure
Marketplace - Redes - Red virtual
En modelo de implementación dejamos
Resource Manager y hacemos clic en
Crear
Se abrirá una página solicitando la información para la creación de la red, todos los campos marcados con asterisco son obligatorios.
Nombre: Aquí va el nombre que queremos poner a nuestra red virtual, en mi caso y tal como está en el diagrama la llamé VNet1
Espacio de direcciones: Ponemos el espacio de direcciones a utilizar, posteriormente puede agregar más espacios de direcciones, para mi caso agregué el segmento 192.168.0.0/16 elegí de una vez un segmento grande con máscara de 16 bits para luego poder agregar más subredes en este segmento.
Nombre de subred: El nombre que deseamos para nuestra primer subred, en mi caso la llamé Subred1
Intervalo de direcciones de subred: Ponemos un segmento de red que esté contenido en el espacio de direcciones que definimos anteriormente, en mi caso el segmento 192.168.1.0/24 con una máscara de 24 bits para ubicar las máquinas a las cuales tendremos acceso más adelante.
Suscripción: Si tienen más de una suscripción aquí pueden seleccionar cuál usar.
Grupo de recursos: Se puede crear un grupo nuevo o utilizar uno existente, en mi caso seleccioné un grupo existente llamado
Azure-Fundamentals. Si desea saber más sobre grupos de recursos los invito a ver un vídeo donde lo explico con más detalle
AQUÍ
Ubicación: El centro de datos donde se implementarán los recursos, en mi caso Este de EE. UU.
Al finaliza la creación de la red virtual, podremos ver el mensaje en el área de notificaciones.
En la parte de Configuración de la recién creada red virtual, podemos ver el espacio de direcciones, donde tendremos la posibilidad de agregar más intervalos, de igual modo con las subredes.
Agregar subred de puerta de enlace:
Antes de poder conectar la red virtual a una puerta de enlace (gateway), es necesario crear una subred para la puerta de enlace, veamos cómo hacerlo.
Ingresamos a nuestra red virtual VNet1 vamos a Configuración y luego Subredes donde veremos la opción Subred de puerta de enlace como se muestra a continuación:
Se abrirá la página Agregar subred donde especificamos el segmento a utilizar, para este caso elegí el segmento 192.168.100.0/24
Al final debe quedar algo similar a lo siguiente:
Crear puerta de enlace de red virtual
En el marketplace en Redes buscamos Puerta de enlace de red virtual
Se abrirá la página Crear puerta de enlace de red virtual
Nombre: Elegimos un nombre para nuestra puerta de enlace, para este caso VnetGW
Tipo de puerta de enlace: Seleccionar VPN
Tipo de VPN: Seleccionamos basado en rutas, el más común en la mayoría de implementaciones.
SKU: Seleccionamos Estándar
Red Virtual: Seleccionamos la red virtual VNet1, si no aparece la red virtual probablemente la ubicación esté en otro centro de datos.
Dirección IP pública: Tenemos la posibilidad de elegir una IP creada previamente o crear una nueva.
Suscripción: Si tienen más de una suscripción aquí pueden seleccionar cuál usar.
Grupo de recursos: Se puede crear un grupo nuevo o utilizar uno existente, en mi caso seleccioné un grupo existente llamado Azure-Fundamentals.
Ubicación: El centro de datos donde se implementarán los recursos, en mi caso Este de EE. UU.
Por último hacemos clic en Crear para empezar
Nota: El proceso de creación de la puerta de enlace de red virtual puede tardar hasta 45 minutos. Pueden tomarse un café mientras tanto.
Después de creada la puerta de enlace de red virtual, podemos ver los siguientes elementos en nuestro grupo de recursos: Una red virtual, la puerta de enlace de red virtual y la dirección IP pública para la misma.
Generar certificados
Para poder utilizar la conexión P2S es necesario utilizar un certificado digital, si se tiene una entidad certificadora es posible utilizar esta entidad para emitir los certificados para utilizar con la VPN, en esta caso utilizaremos certificados autofirmados, anteriormente lo hacia con la utilidad de línea de comando makecert en esta ocasión lo haré utilizando Powershell de Windows 10.
Para crear el certificado raíz debemos abrir una consola elevada de Powershell en Windows 10 y ejecutar el siguiente código:
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
-Subject "CN=P2SRootCert" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
El código anterior generará un certificado llamado P2SRootCert
Nota: Por ahora no cierre esta sesión de Powershell, nos será de utilidad más adelante para generar el certificado de cliente, de lo contrario hay que realizar algunos pasos adicionales.
Podemos abrir la consola de certificados usando certmgr.msc
Ahora debemos exportar la clave pública (.cer) para llevarla a Microsoft Azure.
En la consola de certificados (certmgr.msc) seleccionamos el certificado recién creado, hacemos clic derecho Todas las tareas - Exportar
Se abrirá el asistente para exportar certificados, clic en Siguiente para continuar.
En la siguiente ventana seleccionamos No exportar la clave privada
En formato de archivo de exportación seleccionamos X.509 codificado base 64 (.CER)
En la siguiente ventana seleccionamos la ruta y el nombre del archivo para el certificado.
Al finalizar saldrá un mensaje indicando que la exportación se realizó con éxito.
Generar certificado de cliente
Ahora vamos a generar un certificado de cliente a partir del certificado raíz que acabamos de crear en los pasos anteriores, para ello la misma consola elevada de Powershell que utilizamos para crear el certificado raíz pegamos el siguiente código:
New-SelfSignedCertificate -Type Custom -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")
Como se puede apreciar en la imagen anterior, se ha generado un certificado llamado P2SChildCert
Si desea instalar el certificado en otro equipo debe exportarlo con la clave privada.
Podemos ver en la consola certmgr.msc los dos certificados, tanto el de raíz como el cliente.
Crear grupo de direcciones para clientes VPN
Ahora debemos abrir la configuración en la puerta de enlace de red virtual, allí vamos a Configuración de punto a sitio
Aquí es donde debemos agregar el grupo de direcciones que recibirán los clientes al conectarse a la VPN, si volvemos a nuestro diagrama veremos que el segmento que definimos para tal fin es: 172.16.1.0/24
Cargar certificado raíz (.cer) en Azure
En la misma configuración de punto a sitio donde agregamos el grupo de direcciones podremos ver más abajo la opón para agregar el certificado con la llave pública, el mismo que ya exportamos y tenemos guardado en una ubicación local.
Debemos ubicar el certificado y editarlo con un bloc de notas, y copiamos su contenido (solamente la parte resaltada con amarillo)
Ahora, volvemos al portal de Azure y pegamos esta información y asignamos un nombre, y por último hacemos clic en Guardar
Descargar e instalar cliente de conexión VPN
Para poder conectarse a la VPN aparte del certificado de cliente se necesita instalar un paquete de cliente VPN que crea la conexión que utilizaremos, la descarga la hacemos directamente desde el portal. Al finalizar la carga del certificado en Azure, en la parte superior se habilitará la opciòn Descargar cliente VPN
Nos da la opción de descargar el paquete de 32 ó 64 bits
Al ejecutar el paquete saldrá un mensaje preguntando si deseamos instalar el paquete, nótese que indica sobre cual red virtual de Azure lo hará.
Al hacer clic en sí se instalará la respectiva conexión, si abrimos las conexiones de red, veremos la recién creada VNet1
Hacemos clic en Conectar
Saldrá una ventana donde debemos hacer clic en Conectar (Por alguna extraña razón es la misma ventana de siempre, aún dice Windows Azure)
Al hacer clic en el botón Conectar se establecerá el túnel VPN hacia la red virtual de Azure.
Si hacemos un ipconfig /all veremos la dirección IP del segmento que definimos
En la configuración de punto a sitio desde el portal también podemos ver las direcciones IP asignadas:
Ahora voy a ejecutar un ping desde mi máquina local a un servidor en Azure con dirección IP 192.168.1.4
Incluso, puedo ingresar a través de la red mediante una ruta UNC
Bien, esto es todo por ahora, como siempre espero les sea de utilidad.
Bibliografía: