ICM / azure / Túneles IPSec on-premises hacia Azure 

Túneles IPSec on-premises hacia Azure 

2 mayo 2023 | Pablo Gómez

Los túneles site-to-site en nube pública son una forma de conectar dos redes privadas a través de una red pública (Internet). Esto permite que los dispositivos de una red privada accedan a los recursos de otra red privada de forma segura, como si estuvieran conectados directamente a la misma red local. Esto se logra mediante el uso de técnicas de encriptación y autenticación para proteger los datos que viajan a través del túnel. Los proveedores de nube pública, como Amazon Web Services o Microsoft Azure, ofrecen servicios para crear y gestionar túneles site-to-site en su plataforma.

Vamos a explicar con detalle, en esta ocasión, dos entornos diferente. Un primer entorno entre dos redes pertenecientes a Azure, que vamos a unir a través de un túnel IPSec y otro entorno IPSec entre una oficina remota con un direccionamiento IP de test privado 10.10.15.0/24 con un Firewall PFSense (OpenSource) y una red también test de Azure 10.20.0.0/16.

En el entorno de Azure, definimos un Resource Group llamado “Contoso”, típico de cursos y pruebas de Azure. Dentro de este Resource Group vamos a definir varias “Vnets”. Una “Vnet” es una red IP, y dentro de cada red virtual podemos definir subredes.

En este ejemplo montaremos dos Vnets separadas en dos regiones distintas y vamos a unirlas a través de un tunel IPSec. Las redes a unir son CoreServicesVnet y ManufacturingVnet, 10.20.0.0/16 y 10.30.0.0/16. El esquema sería:

En el lado CoreServicesVnet, tenemos varias subredes tanto de trabajo como del servicio GatewayVPN 10.20.0.0/27. Las subredes de trábajo, es decir, servidores o máquinas virtuales en general son las SharedServicesSubnet 10.20.10.0/24, DatabaseSubnet 10.20.20.0/24 y PublicWebServiceSubnet 10.20.30.0/24.

Todos los servicios en Azure requieren de una subred. En este caso, para dar de alta un concentrador VPN “GatewayVPN”, hacemos una subred 10.20.0.0/27 perteneciendo a la red CoreServicesVnet. En el lado ManufacturingVnet, hacemos lo mismo, el alta de un “GatewayVPN” con direccionamiento 10.30.0.0/27.

En la subred DatabaseSubnet damos de alta una máquina virtual con IP 10.20.20.4/24 “CoreServicesVM”.

Tenemos otra máquina con nombre ManufacturingVM en otra subred con dirección IP 10.30.10.4/24.

Si hacemos una prueba de conexión entre las dos máquinas podemos comprobar que efectivamente, no hay conexión. Para conectar las dos máquinas, necesitamos un túnel IPSec.

Vamos a  crear un GatewayVPN en CoreServicesVnet y otro Gateway en ManufacturingVnet.

Una vez hemos dado de alta los “GatewayVPN”, ahora simplemente creamos las conexiones para establecer los túneles. Cuando se trata de un túnel IPSec entre redes de Azure estableceremos una conexión entre las dos VirtualNetworkGateway en los dos extremos.

Una vez establecido el túnel, hacemos un test de conexión y el resultado es “True”. Ya tenemos el túnel IPSec establecido y conexión entre las máquinas.

Podemos ver que efectivamente estamos pasando tráfico entre máquinas virtuales:

El segundo escenario trata de conectar una red en Azure contra una red en “on-premises”.

Lo único a tener en cuenta es que cuando damos de alta el “GatewayVPN”, se debe especificar que es del tipo “Site-to-Site”. Es importante este detalle ya que nos asignará una dirección IP pública para el “GatewayVPN”.

Deberemos dar de alta el “LocalNetworkGateway” que es el peer remoto que se encuentra en el concentrador de túneles “on-premises”, en este caso “local_net_gw_test001”.

La dirección IP aa.bb.cc.dd corresponde a la dirección IP pública del extremo “on-premises”.

Una vez establecido el túnel, podemos ver que podemos establecer tráfico entre los dos extremos del túnel.