Conexión site to site por protocolo IPSEC
  • El objetivo de este tipo de VPN es conectar permanentemente la red privada del cliente con la red virtual de los servidores Cloud-Bricks.
  • Este tipo de conexiones puede ser configurada en el sistema de Cloud en la sección Conectividad>Redes VPN del menú de la izquierda.

  • Sirve para interconectar una red privada externa con una VLAN dentro del Cloud utilizando un túnel IPSEC.
  • Se debe utilizar enrutador con soporte IPSEC en salida de la red del cliente para que sea posible acceder transparentemente a los servidores del Cloud.
  • El acceso es restringido unicamente a la dirección IP del cliente, por lo tanto debe contar con una IP pública fija.
  • La autenticación se realiza a través de un "Shared Key" de IPSEC.
  • Cuando una red externa es conectada en una VLAN por el sistema IPSEC, la dirección IP pública de la red remota no puede ser usada por ninguna otra conexión VPN.

Topología de Red

Una conexión VPN entre la red cliente y la red Cloud se visualiza así:



Configuración en el Cloud 

Para iniciar la configuración se requiere de la siguiente información:

  • Dirección IP pública usado por el enrutador del cliente.
  • Dirección IP y máscara de la red privada del cliente
  • Si el enrutador está atrás de una conexión NAT, también requiere la dirección IP privada del enrutador.
En el sistema de Cloud, dar clic en la sección Conectividad>Redes VPN, luego dar clic en el botón Nueva Red VPN... e ingresar los datos de la configuración.

  1. Nombre de la VPN.
  2. Shared Key: Es una contraseña para proteger el acceso a la VLAN.
  3. Dirección IP pública: Es la IP utilizada por el enrutador para conectarse a Internet.
  4. Dirección IP privada: Si su enrutador estuviera atrás de una conexión NAT, tiene que especificar la dirección IP privada del enrutador,
    Si este no fuera el caso, puede dejar este campo en blanco.
  5. Red privada: IP y máscara de la red privada del cliente. (Ejemplo: 192.168.1.0/24 o 172.30.11.0/255.255.255.0).
  6. VLAN del cloud a la cual se le está configurando el acceso.
  7. Botón Aceptar, Acepta los cambios realizados.
  8. Botón Cancelar, cancela todos las operaciones realizadas.

El sistema puede rechazar su red privada sí:

  • Ya existe otra conexión VPN utilizando una red privada parecida que pueda generar conflictos de enrutamiento.
  • La red privada del cliente entra en conflicto con alguna de las VLANs configuradas en el servidor de Cloud.
Otras restricciones:
  • Solamente son permitidas redes privadas IPv4 (IPv6 aún no es soportada en este tipo de conexiones).
  • Las direcciones IP de redes privadas deben pertenecer a las redes 10.X.X.X/16 o /24, 192.168.X.X/16 o 172.16.0.0/12.
  • Direcciones IP privadas de la red 196.254.X.X/26 no deben ser utilizadas.

Después dar clic en el botón de Aplicar cambios, el sistema estará listo para recibir conexiones IPSEC, ahora es necesario configurar el enrutador del lado del cliente.

IMPORTANTE:
  • Los servidores virtuales de la VALN del Cloud que va a ser accesada, tienen que ser apagados y luego encendidos de nuevo (No reiniciar) para que el sistema de Cloud pueda configurar el enrutamiento necesario para acceder a la red del cliente.
  • La red VLAN del cloud que va a ser accesada normalmente tienen una dirección 10.80.XX.0/24 (Donde XX es el número de la VLAN).

Conexión por enrutador Linux (CentOS/RedHat/Fedora)

Una máquina con sistema Linux puede ser configurada como enrutador IPSEC.

Estas instrucciones son hechas en distribuciones basadas en RedHat (CentOS, Fedora, etc), pero pueden funcionar como guía en otras distribuciones.

Instalar el paquete openswan:

#yum install openswan

Editar el archivo /etc/ipsec.secrets dejando solamente una línea con lo siguiente:

<IP_RUTEADOR> <IP_CLOUD>: PSK “<SHARED_KEY>”
IP_RUTEADOR: Es la IP de su enrutador, sí estuviera atrás de una conexión NAT, tiene que especificar la dirección IP privada del enrutador, caso contrario la IP pública.
IP_CLOUD
: DIrección IP de su servidor físico de cloud.
SHARED KEY
: Contraseña que fue configurada dentro del sistema cloud en la sección de Redes VPN.
            Ejemplo:

192.168.0.250 74.50.112.156: PSK "rKtllZXP....."

Editar el archivo /etc/ipsec.conf así: (los espacios al inicio de las líneas son muy importantes!)

version 2 # conforms to second version of ipsec.conf specification
config setup
    dumpdir=/var/run/pluto/
    nat_traversal=yes
    virtual_private=%v4:0.0.0.0/0 
    protostack=netkey
    force_keepalive=yes
    keep_alive=60
conn MY_VPN authby=secret pfs=yes auto=start keyingtries=3 ikelifetime=8h keylife=1h type=tunnel #Direccion IP publica de su enrutador #(si estuviera atras de una NAT, usar la IP privada) left=192.168.0.250 #La red privada del cliente en formato IP/mask leftsubnet=192.168.0.0/24 ## IP privada del enrutador: leftsourceip=192.168.0.250
#Direccion IP publica de su servidor fisico de cloud right=74.50.112.156 #IP/mask de la VLAN destino en el sistema de cloud rightsubnet=10.80.45.0/24 dpddelay=10 dpdtimeout=20 dpdaction=clear
Ejecutar los siguientes comando, y configurarlos en un script para que sean ejecutados cada vez que el sistema es reiniciado:
#Evitar ICMP redirects
for vpn in /proc/sys/net/ipv4/conf/*; do 
echo 0 > $vpn/accept_redirects; echo 0 > $vpn/send_redirects; 
done
El enrutador debe estar configurado como default gateway en la red del cliente:
  • Si el enrutador hace NAT por IPTABLES para compartir la dirección IP con los otros computadores de la red, es muy importante que la regla de NAT de IPTABLES no intente alterar (Hacer NAT) los paquetes con destino a la VLAN del Cloud:

Ejemplo 1: Si su regla de NAT utiliza el comando de SNAT así: 

iptables -t NAT -A POSTROUTING -s <rede_privada/mask> -j SNAT –to <IP_PUBLICO> 

Entonces una regla debe ignorar la red VLAN del Cloud, así:

iptables -t NAT -A POSTROUTING -s <rede_privada/mask> ! -d <red_vlan/24> -j SNAT –to <IP_PUBLICO> 

Ejemplo 2: Si su regla de NAT utiliza el comando MASQUERADE así:

iptables -t NAT -A POSTROUTING -o <interface> -j MASQUERADE 

Entonces una regla debe ignorar la red VLAN del cloud, así:

iptables -t NAT -A POSTROUTING -o <interface> ! -d <rede_vlan/24> -j MASQUERADE 
Reiniciar el servicio de IPSEC para iniciar la conexión:
#service ipsec start
Monitoree el log  /var/log/secure para ver si el proceso de conexión fue exitoso, buscar el mensaje “IPsec SA established tunnel mode”.
Si la conexión fue exitosa, Openswan debe crear las rutas necesarias para acceder a la VLAN del cloud, es posible verificar la tabla de enrutamiento de Linux con el comando:
#netstat -nr
Ahora debe ser posible hacer ping desde la red del cliente a los servidores virtuales del Cloud y en el sentido contrario. (Recordar siempre usar las direcciones IP privadas de ambas redes).

Conexión con enrutador Mikrotik (RouterOS)

Un enrutador Mikrotik o un computador con sistema operativo RouterOS, puede ser usado como enrutador IPSEC para conectarse al servicio de VPN de Cloud-Bricks.

Este ejemplo usaremos el software WinBox para configurar el sistema Mikrotik:

En el menú seleccionar “IP → IPSEC”.


En la ventana de IPSEC, dar clic en el ícono "+", aparece la ventana de “New IPSEC Policy”.
Ingresar la siguiente información:
  • Src Address: IP/mask de la red privada del cliente.
  • Dst Address: IP/mask de la VLAN de sistema de Cloud.

Dar clic en la pestaña “Action” dentro de la misma ventana “New IPSec Policy”. Ingresar los siguientes datos:
  • Activar el checkbox “Tunnel.
  • SA Src Address: IP del enrutador (utilizar la IP privada si está atrás de un NAT)
  • SA Dst Address: Dirección IP de su servidor físico del Cloud.

Dar clic en OK. Derspués, dar clic en la pestaña “Peers” y oprimir el ícono “+”.

En la ventana de “New IPSEC Peer” ingresar los siguientes datos:
  • Address: Dirección IP pública de su servidor de Cloud.
  • Auth Method: Seleccionar "pre shared key".
  • Secret: Shared Key (contraseña) generada en el sistema de Cloud cuando la Red VPN fue configurada.
  • Exchange mode: Seleccionar "main".
  • Activar el checkbox: “Send Initial Contact”.
  • Si su enrutador estuviera atrás de una NAT, activar el checkbox “NAT Traversal”.

Clic en OK.
  • Si el enrutador hace NAT por IPTABLES para compartir la dirección IP con los otros computadores de la red, es muy importante que la regla de NAT de IPTABLES no intente alterar (Hacer NAT) los paquetes con destino a la VLAN del Cloud, es decir, la VLAN tiene que ser ignorada por las reglas de NAT y MASQUERADE.

La configuración está lista, para que el Mikrotik pueda conectarse con el servicio de Cloud, se requiere generar tráfico de datos con destino a los servidores de Cloud. Un ping será suficiente. 

También debe ser posible hacer un ping desde los servidores virtuales a las máquinas de la red privada del cliente. cliente.

Conexión por enrutador Juniper (ScreenOS)

En este ejemplo mostraremos como utilizar un dispositivo Juniper con capacidad de VPN para conectar al servicio de Redes VPN del Cloud.

Recomendamos la configuración Policy-Based Site-toSite VPN AutoKey IKE

Se asume que el dispositivo de seguridad ya tiene configuradas las zonas trust (red privada) y untrust (red pública) con enrutamiento y NAT funcionando apropiadamente.

Configurar direcciones en el Address Book

Aquí debemos configurar la red privada del lado del cliente, utilizaremos 192.168.0.0/24 como ejemplo

Policy > Policy Elements > Addresses > List > New

Address Name: Trust_LAN
IP Address/Domain Name:
IP/Netmask: (select), 192.168.0.0/24
Zone: Trust

Y otra entrada en el address book para referenciar la VLAN remota en el Cloud:

Policy > Policy Elements > Addresses > List > New

Address Name: CLOUD-BRICKS-VLAN
IP Address/Domain Name:
IP/Netmask: (select), 10.80.X.0/24    (reemplazar X con el número de la VLAN)
Zone: Untrust

Configuración de VPN

Vamos a indicar la IP remota del cloud como destino de la VPN, (DIrección IP de su servidor físico de cloud), en este ejemplo llamaremos al gateway TO_WEBLINK

VPNs > AutoKey Advanced > Gateway > New

Hacer clic en "Advanced", en el campo "Preshared Key" colocar la clave configurada en el administrador de Cloud-Bricks (Shared Key) cuando se configuró la Red VPN. Asegúrese de seleccionar "UNTRUST" como la interface de salida. (Outgoing Interface)

Luego hacer clic en "Return" y luego en "OK".

Ahora navegar hacia VPNs > AutoKey IKE > New

Tenemos que referenciar el Gateway remoto creado en el punto anterior, en este ejemplo llamaremos a la VPN "WEBLINK_TUNNEL".

Hacer clic en "Advanced" para configurar los siguientes parámetros:

Hacer clic en "Return" y luego "OK"

Creación del Policy


Para finalizar, enlazamos los elementos creados anteriormente a través de un Policy, por favor navegue hacia:

Policies > (From: Trust, To: Untrust) New

En este ejemplo llamaremos al policy WEBLINK_VPN

Las nuevas policies deben quedar en el primer lugar de la lista, antes de cualquier otra política.
Después de hacer clic en "OK" la configuración está lista, sin embargo el dispositivo solamente iniciará la conexión cuando vea que hay tráfico entre la red local y la VLAN remota en Cloud-Bricks.

Para generar dicho tráfico, sugerimos hacer un ping desde su red local hacia cualquiera de las direcciones IP de alguna de las máquinas virtuales que se encuentren en la VLAN configurada (10.80.X.Y, donde X corresponde al número de su VLAN).