Cómo crear un vpn sitio a sitio entre Azure y pfSense – Parte 1

Esta será la topología que usaremos a lo largo de este tutorial, si hay algo que no entiendes de la imagen, no te preocupes, vamos a ir explicando cada uno de los elementos paso a paso.

azure-vpn-sitio-a-sitio-topologia

En este tutorial de 2 partes, veremos cómo establecer un VPN sitio a sitio usando Microsoft Azure.

En la primera parte, veremos cómo crear los elementos necesarios del lado de Microsoft Azure

En la parte 2 veremos cómo establecer el túnel de VPN entre Azure y pfSense para demostrar que podemos establecer un túnel con cualquier dispositivo que soporte IPsec.

Si quieres aprender cómo instalar y configurar un Firewall basado en pfSense desde cero, puedes ver el curso pfSense Guía de Supervivencia

En la parte 3 veremos cómo establecer el túnel de VPN entre Azure y Windows Server 2012 R2 usando el servicio de RRAS.

Nota: Este tutorial, explica cómo configurar un VPN sitio a sitio utilizando el modelo de implementación de Resource Manager en vez de usar el modelo de implementación clásico. En otras palabras, vamos a usar el portal nuevo en vez de usar el portal viejo.

Para comenzar, veamos de manera general cómo estará la topología a nivel de los sitios que vamos a conectar entre sí.

Vamos a conectar entre sí, un sitio local ubicado en San Jose Costa Rica al cual llamaremos CRSJ y un sitio ubicado en Azure West US al que llamaremos AZWU
Usaremos esta nomenclatura al crear los elementos dentro de Azure para poder identificar correctamente la función de cada uno de ellos, si bien no son muchos, es mejor acostumbrarnos a utilizar un esquema de nombres que nos haga más fácil la administración.

Para comenzar a describir los elementos de la imagen que está al comienzo de este tutorial, veamos cuáles son los elementos que vamos a crear:

  1. Crearemos un resource group que contendrá todos los elementos del laboratorio del lado de Azure, a este resource group lo llamaremos «RG-AZUW«.
  2. Un Local Network Gateway al cual llamaremos «NET-CRSJ-172.16.0.0-Mask-24«, este elemento básicamente representa dos cosas, el dispositivo que vamos a usar en nuestra oficina para establecer la conexión de VPN de sitio a sitio por medio de una dirección IP pública y los rangos de direcciones IP privadas que usamos actualmente en nuestra red local.
  3. Un Virtual Network al cual llamaremos «VNET-AZUW-172.31.0.0-Mask-21«, este elemento será la representación de la red virtual en Microsoft Azure donde se estarán creando posteriormente las subredes y las nuevas máquinas virtuales a las que queremos tener acceso por medio del VPN.
  4. Una dirección IP pública llamada «IP-AZUW-SRV-GW01» a la cual nos estaremos conectando desde nuestro dispositivo local para establecer el VPN de sitio a sitio.
  5. Un Virtual Network Gateway, aunque no lo vemos en el portal, el gateway es básicamente una máquina virtual con los servicios de RRAS el cual se configura automáticamente. Aunque sea una máquina virtual, no tendremos acceso a esta máquina, todo se debe gestionar a través del portal o por medio de cmdlets de PowerShell.
  6. Una conexión llamada «AZUW-CRSJ-VPN» la cual le indicará al gateway de azure, que se debe conectar a nuestro dispositivo local para establecer el VPN.

Vamos a comenzar a crear cada uno de los elementos necesarios.

Creación de Resource Group

Si ya cuentas con un resource group, puedes usar uno existente, pero en este caso, voy a crear uno nuevo para tener todos los elementos separados de otros elementos que existen en mi cuenta de Microsoft Azure.

Para crear el nuevo resource group, ve a New > Management > Resourse group

Agrega el nombre del nuevo resource group, verifica que la suscripción sea la correcta y que la ubicación geográfica se a West US y haz clic en Create

Al finalizar este paso debes contar con un nuevo resource group

Si tomamos la imagen del principio del tutorial como referencia, lo que acabamos de crear es lo que está marcado en rojo.

Creación de Local Network Gateway

Para crear el nuevo Local Network Gateway, ve a New > Networking > Local Network Gateway

El nombre, puede ser cualquier nombre que elijas, lo importante es:

  •  La dirección IP pública (que es la ip que tiene asignada nuestro dispositivo de VPN que tenemos en nuestra oficina)
  • El espacio de direcciones que se estarán conectando por medio de este dispositivo, recuerda que debes agregar los rangos de direcciones IP privadas que uses en tu red local y que se estarán comunicando con servidores en la red de Azure.

Estos dos elementos marcados en rojo, son los que acabamos de definir dentro de Azure:

Al finalizar este paso, debes contar con un nuevo Local Network Gateway dentro del resource group que creamos anteriormente.

Creación del Virtual Network

Para crear la nueva Virtual Network ve a New > Networking > Virtual Network

Recuerda seleccionar que se use el modelo de implementación sea Resource Manager y haz clic en Create

Con el fin de evitar que nuestros rangos de direcciones IP de esta nueva red virtual, choquen o coincidan con los rangos que ya estemos utilizando en nuestra infraestructura local, es recomendable que seleccionemos rangos poco frecuentes, por ejemplo, es común encontrar en las redes los rangos 192.168.x.x, 172.16.x.x, por esta razón, estaré seleccionando las últimas direcciones del rango de direcciones RFC1918 172.16.0.0/20 cuyas direcciones van desde la 172.16.0.1 hasta la 172.31.255.254

Adicionalmente, es importante seleccionar un rango de direcciones IP que sea lo suficientemente grande como para poder crear nuevas subredes en el futuro en caso de que nuestra infraestructura en Azure crezca y adicionalmente, que sea lo suficientemente pequeño como para no agotar un rango de direcciones ip privadas muy grande que posiblemente llegásemos a necesitar en el futuro en nuestra infraestructura.

En nuestro laboratorio vamos a utilizar el siguiente rango para la nueva Virtual Network:

  • Rango de direcciones: 172.31.0.0/21
  • IP inicial: 172.31.0.1
  • IP final: 172.31.1.254

Para las subredes vamos a utilizar los siguientes rangos:

  • 172.31.0.0/24 – GatewaySubnet (más adelante veremos cuál es el rol de esta subred)
  • 172.31.1.0/24 – Subred para servidores que crearemos posteriormente, podemos crear hasta 250 servidores en esta subred.
  • 172.31.2.0/24, 172.31.3.0/24, 172.31.4.0/24, 172.31.5.0/24, 172.31.6.0/24, 172.31.7.0/24 – Rangos reservados para posibles nuevas subredes que necesitemos en el futuro.

En este paso hemos creado los siguientes elementos:

Al finalizar este paso, verifica que se haya creado la nueva VNET

En este momento podemos ver la importancia de los nombres que vamos asignando a los elementos ya que algunos tienen el mismo ícono, aunque sean totalmente diferentes, esperemos que esto cambie en el futuro.

Creación de la dirección IP pública para el Gateway

Para poder establecer el VPN de sitio a sitio, es necesario crear una dirección IP pública la cual estaremos asociando posteriormente al Virtual Network Gateway.

Básicamente, lo que hace Azure es redireccionar todo el tráfico entrante que llegue a esta dirección IP pública, hacia la dirección IP privada del Virtual Network Gateway cuyo adaptador de red está conectado a la subred GatewaySubnet que crearemos en el siguiente paso.

 

Para crear la IP, selecciona New > Networking > Public IP Address

Nota: Si no te aparece Public IP Address, puedes buscarlo en el blade de New

En este paso ya tenemos la dirección IP pública a la cual nos estaremos conectando:

Creación del Virtual Network Gateway en Azure

En este momento, ya tenemos todos los elementos necesarios para poder crear el Virtual Network Gateway.

Como comenté anteriormente, básicamente es una máquina virtual especial que cuenta con 2 adaptadores de red conectados a 2 subredes diferentes, una de ellas es la subred sitio-01 y la otra de ellas es la subred GatewaySubnet que se crearemos en este paso al crear el Virtual Network Gateway.

Para comenzar, haz clic en New > Networking > Virtual network gateway

Indica que el rango de direcciones para la nueva subred del Gateway será 172.31.0.0/24

Es importante que en el campo de VPN type, seleccionemos Route-based, básicamente esto indica si nuestro Virtual Network Gateway puede soportar más de un túnel de VPN simultáneamente y si adicionalmente puede ser utilizado para conexiones de cliente a sitio.

Si quieres ver otras diferencias, puedes leer este artículo: Tipo de VPN basada en directivas y Tipo de VPN basada en enrutamiento

Nota: El proceso de creación del Virtual Network Gateway puede tomar de 10 a 20 minutos, por lo que debes tener paciencia mientras se realiza este proceso en Azure.

Si ves los detalles de la tarea de deployment, podrás ver que se está creando una nueva subred llamada GatewaySubnet con el prefijo de red 172.31.0.0/24.

Es importante que tenas en cuenta que esta subred, se debe llamar exactamente GatewaySubnet, de lo contrario, el VPN no funcionará.

Esta subred será a la cual estará conectado uno de los adaptadores de red del Virtual Network Gateway.

En la siguiente imagen podemos ver los elementos que acabamos de crear:

Creación de la conexión

Como paso final, vamos a crear una conexión que estará uniendo el gateway con el local gateway indicando que ambos se deben conectar.

Ve a New > Connection

En el primer paso, selecciona que vamos a crear un VPN de tipo Site-to-site (IPsec)

En el segundo paso, selecciona el gateway, el local gateway, asigna un nombre a la conexión y escribe una clave que van a utilizar los dos dispositivos para autenticarse entre sí.

En el paso 3 lo único que tenemos que hacer es dar clic en OK

Ten en cuenta que no hemos configurado aún nuestro gateway local y el gateway de Azure estara tratando de conectarse con nuestro servidor, sin éxito, hasta que lo hayamos configurado.

Al finalizar todos los pasos de este tutorial, debes contar con los siguientes elementos creados dentro del resource group:

Responses

Tu dirección de correo electrónico no será publicada.