Cerrar
InicioNetworkingAlways On VPNMicrosoft Azure: VPN S2S en Alta Disponibilidad desde On-Premises ajustando Pesos de Rutas en Azure

Microsoft Azure: VPN S2S en Alta Disponibilidad desde On-Premises ajustando Pesos de Rutas en Azure

Hoy voy a mostraros una forma de conseguir Alta Disponibilidad en vuestra VPN desde el punto de vista de On-Premises, vamos, que tengáis más de una conexión de Internet  y desde ambas tengáis que configurar una VPN con Azure. A simple vista parece fácil, y lo es, pero debemos tener en cuenta algunas cosas para que funcione adecuadamente.

La idea es que implementar una VPN con Azure desde dos conexiones de Internet diferentes, pero manteniendo los mismos rangos IP de On-Premises. Esa es la máxima dificultad, que desde Azure cuando configuremos los dos local gateway y ambos tienen los mismos rangos IPs no tengamos problema cursando tráfico entre ambos extremos.

Antes de nada, os voy a poner la infografía de turno pero en este caso he dejado el resto de conexiones y servicios para que veáis que todo se puede configurar en un mismo entorno:

Si observáis la infografía, he añadido la nueva configuración de Alta Disponibilidad de la VPN S2S desde el punto de vista On-Premises. Esto tenerlo en cuenta, porque si además, lo quisiéramos desde Azure en cuanto a disponer de varios Gateways esta no sería la configuración a implementar.

En la topología, podemos observar que tenemos diferentes configuraciones:

Voy a partir de la idea de que en On-Premises tenemos dos conexiones a Internet manejadas por dos Firewalls o Routers, los cuales, están configuradas para ser tolerantes a fallos y que los usuarios y/o servicios ubicados en On-Premises no sufran cortes en los servicios. Para ello, ambos dispositivos tendrán una configuración en Alta Disponibilidad, bien vía hardware o configuración de red:

Por lo que, doy por entendido que se tiene o se tendría que configurar pero no será de alcance en este artículo (si alguien necesita ayuda con este proceso, que deje un comentario en este artículo y le contestaré sin problema). Por lo que me voy a centrar en como configurar la VPN con Azure en cada dispositivo y, que desde Azure configurando dos puertas de enlace remotas con las mismas subredes locales, Azure sepa entregar el tráfico.

Esto se puede hacer de muchas formas, pero vamos a conseguirlo con el mínimo coste/hardware posible. El proceso es muy sencillo, cuando creamos una conexión para nuestra puerta de enlace remota, podemos definir un valora del peso de la ruta: RoutingWeight. El valor por defecto es 10 y, si tiene varias destinos a los que debe alcanzar y tiene varias conexiones para conseguirlo, lo hará primero siempre con la ruta más baja!! Pues es así de sencillo, para los que no habéis configurado nunca una VPN con Azure, aquí os dejo un artículo que os puede ayudar a entender algunos términos que he utilizado hasta ahora en este artículo:

El proceso es muy sencillo, debemos configurar la VPN en Azure (Moviendo nuestros servicios y máquinas virtuales a Azure (Parte II) y luego configurar una puerta de enlace remota  para cada conexión de Internet que tenemos en la oficina, esto podemos hacerlo vía Portal de Azure:

Cada Puerta de enlace de red local debe tener configurados todos los rangos de direcciones IP Locales que queremos conectar a Azure, si, si, en ambas conexiones sino cuando cualquier de las conexiones esté caída no tendríamos conexión con entre Azure y On-Premises (de esto trata este artículo). Insisto, todo esto lo podéis ver en el artículo Moviendo nuestros servicios y máquinas virtuales a Azure (Parte II) donde está documentado la configuración de una VPN Site-to-Site.

Una vez que tengamos configuradas las subredes locales en cada Puerta de enlace de red local, ahora debemos crear las conexiones correspondientes, aquí es donde viene lo importante de la configuración. Este proceso debemos hacerlo vía PowerShell, porque las opciones del peso de las rutas solo se puede configurar mediante PowerShell.

Si ya tenéis alguna conexión creada y queréis ajustar los pesos de la rutas, primero debéis borrarla.

Aquí os dejo los comandos a utilizar para crear nuestras dos conexiones, una por puerta de enlace (debéis ajustar los parámetros a vuestras configuraciones):

Conexión 1:

$ConnectionName = “Peer-ES-MAD-Movistar”
$ResourceGroupName = “RG-NorthEurope-Network”
$Location = “northeurope”
$AzureVirtualGatewayName = “vGateway-NorthEurope-Hub”
$vGateway = Get-AzureRmVirtualNetworkGateway -Name $AzureVirtualGatewayName -ResourceGroupName $ResourceGroupName
$LocalNetworkGatewayName = “vGateway-MAD-Movistar”
$lGateway = Get-AzureRmLocalNetworkGateway -Name $LocalNetworkGatewayName -ResourceGroupName $ResourceGroupName
$ConnectionType = “IPsec”
$RoutingWeight = “10”
$SharedKey = “Contraseña-IPSec
New-AzureRmVirtualNetworkGatewayConnection -Name $ConnectionName -ResourceGroupName $ResourceGroupName -Location $Location -VirtualNetworkGateway1 $vGateway -LocalNetworkGateway2 $lGateway -ConnectionType $ConnectionType -RoutingWeight $RoutingWeight -SharedKey $SharedKey

Si ya teníamos configurado el Firewall/Router, la VPN ya estaría operativa en cuestión de segundos:

Si queremos comprobar el estado de la conexión desde PowerShell, ejecutamos el siguiente cmdlet aprovechado las variables declaradas: Get-AzureRmVirtualNetworkGatewayConnection -ResourceGroupName $ResourceGroupName y podemos ver el peso, el estado de la conexión y otras opciones:

Ahora nos toca configurar la otra conexión y con un peso diferente, dejamos el peso más bajo a la conexión principal. En este caso, estoy configurando la conexión de backup y le pondré un peso de 20:

Conexión 2:

$ConnectionName = “Peer-ES-MAD-Vodafone”
$ResourceGroupName = “RG-NorthEurope-Network”
$Location = “northeurope”
$AzureVirtualGatewayName = “vGateway-NorthEurope-Hub”
$vGateway = Get-AzureRmVirtualNetworkGateway -Name $AzureVirtualGatewayName -ResourceGroupName $ResourceGroupName
$LocalNetworkGatewayName = “vGateway-MAD-Vodafone”
$lGateway = Get-AzureRmLocalNetworkGateway -Name $LocalNetworkGatewayName -ResourceGroupName $ResourceGroupName
$ConnectionType = “IPsec”
$RoutingWeight = “20
$SharedKey = “Contraseña-IPSec
New-AzureRmVirtualNetworkGatewayConnection -Name $ConnectionName -ResourceGroupName $ResourceGroupName -Location $Location -VirtualNetworkGateway1 $vGateway -LocalNetworkGateway2 $lGateway -ConnectionType $ConnectionType -RoutingWeight $RoutingWeight -SharedKey $SharedKey

Si ahora queremos ver el estado de la conexión, volvemos a ejecutar el siguiente cmdlet Get-AzureRmVirtualNetworkGatewayConnection -ResourceGroupName $ResourceGroupName y aprovechando nuevamente las variables declaradas, nos mostrará el peso y estado de la conexión. En este caso, aún no había configurado la VPN en el Firewall:

Si queréis comprobar las diferentes configuraciones/conexiones creadas desde el Portal de Azure, veréis las conexiones creadas (pero no podéis ver los valores de los pesos configurados):

Si accedemos a cada una de la conexiones, veremos su estado y otros valores de interés rápido:

La segunda conexión sigue desconectada porque aun no he configurado el Firewall:

Recordad, para ver el peso de la rutas siempre vía PowerShell:

Pues bien, una vez que he terminado de configurar la VPN para la segunda conexión y además, aprovecho para “tirar la VPN” en el primero:

Vemos que hemos tenido un corte de conexión, pero en cuestión de segundos la conexión se recuperará y utilizará la segunda conexión:

Ahora desde cualquier equipo de la red, a parte de probar la conexión de la VPN si accedemos a www.cualesmiip.com podemos ver la conexión por la que salimos a Internet (en mi caso la segunda conexión, la cual ahora se encarga de todo: Internet + VPN con Azure):

Ahora bien, cuando la VPN con menos peso se vuelva a restablecer, la VPN se volverá a cambiar y el tráfico de red se enviará por el router principal:

Y si vemos las dos conexiones a nivel de Azure, veremos que ambas están conectadas:

Pues poco más tiene, aquí el resumen:

  • Configurar la VPN con Azure en ambos routers
  • Configurar las VPN en Azure y definir los pesos por conexión

Las configuraciones que tengáis en cuanto al balanceo de carga interno ya es cosa vuestra, si activo/activo o activo/pasivo, etc… esto ya os lo dejo a vosotros. En este artículo solo quería comentar que es posible ir añadiendo diferentes configuraciones sobre lo que ya tenemos implementado.

Ah, otra cosa, las conexiones de AlwaysOn VPN (Microsoft Azure: Always On VPN + Windows 10 Pro + GPO) funcionan perfectamente en este escenario, si algunas de las líneas se cae el enrutamiento para los clientes P2S sigue funcionando muy bien!!

Ahora, como siempre, os toca probarlo a vosotros!!!

Microsoft Azure: Mov
Windows Defender Fir
NO HAY COMENTARIOS

DEJA UN COMENTARIO

Este sitio web utiliza cookies. Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra política de cookies. ACEPTAR

Aviso de cookies
Share This