VPN Google Cloud <-> Mikrotik router

Short English version below…

Sinds computers steeds vaker in de cloud gaan, is het soms handig om ook een directe connectie met die cloud te maken. Zo kwam ik op het idee om hier eens mee te experimenteren.

De test omgeving:
– Een google cloud account
– Mikrotik router

Eerst spinnen we een instance op in de cloud, een f1-micro is voldoende, we gebruiken hem alleen om via ssh in te loggen en wat heen en weer te pingen.

Vervolgens gaan we in de google cloud omgeving naar networking > VPN en klikken op ‘Create’
De naam, description, region (gelijk aan je instance) vullen we in, network is waarschijnlijk ‘default’ en IP address klikken we op create. Google geeft een IP uit hun eigen blok uit, bijvoorbeeld 4.3.2.1
Bij de tunnel gaat je externe IP van je mikrotikrouter in het veld Remote peer ip address (1.2.3.4) en maak je een ‘shared secret’ aan. Je remote ip reeksen (prive) vul je hier ook in (we gebruiken 192.168.1.0/24 als voorbeeld) en je kiest je lokale subnet(ten) (10.132.0.0/20). Klik op create en google zal aan het werk gaan.

Log in op je mikrotik en geef hier de volgende configuratie in.

/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=SHARED_SECRET
/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

Je mikrotik zal nu de verbinding opzetten. Ping vanaf je lokale machine naar je instance private-ip.
Login op je instance via ssh en ping naar machines in je lokale netwerk.

ENGLISH:

To connect google cloud over VPN to a mikrotik router:

Create instance in any region you want and launch this (f1-micro is ok, just to ping and ssh to confirm everything is working)
Create a VPN in the same region, enter your external IP attached to the mikrotik router as peer ip.
Remote network is your local ipv4 subnet at the mikrotik side of the vpn and select the cloud subnets as local ip ranges.

On the mikrotik:

/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=$SHARED_SECRET
/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

This should allow your Mikrotik to connect to google cloud. Ping to your instance and login using ssh to confirm.Ping back to machines in your local network to confirm that’s working too.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *