miércoles, 25 de octubre de 2017

VPN Google Cloud <-> Mikrotik router



Cada vez disponemos de mejores routers y mas ancho de banda, es lógico que optemos por una conexión mas segura y potente con nuestro Google Cloud.

Es muy recomendable de hecho para mi se obligatorio pensar en establecer una conexión directa con esa nube.  Un fantastico Router ademas de no ser muy caro es n Microtick en donde podemos configurar para la conexión con Google cloud VPN.

Para conectar google cloud a través de VPN a un router microtik:
La formula para verificar que todo funciona pasa por crear una instancia en cualquier región que desees e inicia esto (f1-micro sobra, solo para hacer ping y ssh para confirmar que todo está funcionando)

Cree una VPN en la misma región, ingrese su IP externa conectada al router  microtik

La red remota es su subred ipv4 local en la página microtik del vpn y selecciona las subredes en la nube como rangos de IP local.

Luego, vamos a la nube de la red> al entorno de la nube de google y hacemos clic en crear
El nombre, la descripción, la región (similar a su instancia) que completamos, la red es probablemente la predeterminada y la dirección IP en la que hacemos clic en crear. Google emite una IP publica desde su pool, por ejemplo: 4.3.2.1

En el túnel, la IP remota de su router externo puede tener la ip que le entrega su operador por ejemplo : 1.2.3.4  ademas hay que creat un secreto para compartir. 

También tenemos que usar las ips locales  por ejemplo  utilizamos 192.168.1.0/24 como ejemplo y usted elige una red local donde a configurado su VM que puede ser una subred local como  10.132.0.0/20.

En el microtik:


/ip ipsec proposal
add name=google auth-algorithms=sha1 enc-algorithms=aes-256-cbc,aes-192-cbc,aes-128-cbc lifetime=3h pfs-group=modp1024
/ip ipsec peer
add address=4.3.2.1 enc-algorithm=aes-256,aes-192,aes-128,3des exchange-mode=ike2 hash-algorithm=sha512 secret=CONTRASENA_SUPERSECRETA
/ip ipsec policy
add dst-address=10.132.0.0/20 sa-dst-address=4.3.2.1 sa-src-address=1.2.3.4 src-address=192.168.1.0/24 tunnel=yes proposal=google
/ip firewall nat
add chain=srcnat action=accept place-before=0 src-address=192.168.1.0/24 dst-address=10.132.0.0/20

Si te gusta mejor la descripción conceptos. la formula es: (debes poner la ip correspondiente en cada tipo)

//ip ipsec proposal
add name=google auth-algorithms=sha1 enc-algorithms=aes-256-cbc,aes-192-cbc,aes-128-cbc lifetime=3h pfs-group=modp1024
/ip ipsec peer
add address=$Google-public-ip enc-algorithm=aes-256,aes-192,aes-128,3des exchange-mode=ike2 hash-algorithm=sha512 secret=$CONTRASENA_SUPERSECRETA
/ip ipsec policy
add dst-address=$Google-local-subnet-in-cidr sa-dst-address=$Google-public-ip sa-src-address=$Mikrotik-public-ip src-address=$Mikrotik-public-ipv4-in-cide tunnel=yes proposal=google
/ip firewall nat
add chain=srcnat action=accept place-before=0 src-address=$Mikrotik-public-ipv4-in-cide dst-address=$Google-local-subnet-in-cidr

Esto debería permitir que tu Mikrotik se conecte a Google Cloud. para probarlo haces un  ping a su instancia y de tambien puede hacer inicio de sesión utilizando ssh para confirmar usan las ip locales.