VPN sitio a sitio con IPsec Fortinet
En este post voy a montar una VPN IPSEC usando cortafuegos Fortinet, para ello los visualizaré en GNS3.

Preparación del escenario
Para crear la VPN añadiré al escenario un nuevo FortiGate.
Así que vamos a proceder a configurarlo, lo primero será conocer la IP que le ha dado el DHCP:
FortiGate-VM64-KVM login: admin
Password:
You are forced to change your password. Please input a new password.
New Password:
Confirm Password:
Welcome!
FortiGate-VM64-KVM # get system interface physical port1
== [onboard]
==[port1]
mode: dhcp
ip: 192.168.122.22 255.255.255.0
ipv6: ::/0
status: up
speed: 1000Mbps (Duplex: full)
FEC: none
FEC_cap: none
Esta IP que me ha dado por DHCP se la configuraré como estática.
En cuanto a la red local del nuevo Fortinet, va a tener la red 192.168.30.0:

Por último configuraré en este la ruta por defecto hacia la dirección IP de la nube NAT la 192.168.122.1/24:

Una vez hecho esto vamos a ver que tenemos conectividad entre ambos cortafuegos, desde FGT –> FTG2:

Y al revés desde FTG2 –> FTG:

VPN site to site
Nos dirigimos primero al FortiGate FTG que es el que contiene los clientes de Odin, Loki, Thor y Hela. Y iremos a IPsec Wizard, le pondré un nombre significativo con el nombre de los hosts:

En el siguiente paso vamos a indicar la IP del FortiGate FTG2, la interfaz por donde saldrá el tráfico y por último una “llave” compartida entre los dos extremos, esta última parte puede sustituirse por certificados:

A continuación indicaremos las redes locales de ambos extremos donde queremos tener conectividad:

Nos saldrá un panel con los distintos objetos que se van a crear y le daremos a crear:

Repetiremos el mismo proceso en el otro FortiGate, crearemos un túnel site to site:

Le diremos la IP pública del otro extremo y pondremos la misma clave compartida:

Ahora le diremos cuál es nuestra red local y la red remota:

Por último nos dirá los objetos que se van a crear y le damos a crear:

Ahora si accedemos a los paneles de IPsec Tunnels veremos que en unos segundos ambos túneles se levantarán:


Comprobación de funcionamiento
Una vez llegado a este punto veremos que la VPN está funcionando. Podemos hacer un ping en ambas direcciones:
debian@cliente1:~$ ping 192.168.100.4 -c 1
PING 192.168.100.4 (192.168.100.4) 56(84) bytes of data.
64 bytes from 192.168.100.4: icmp_seq=1 ttl=62 time=1.22 ms
--- 192.168.100.4 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.220/1.220/1.220/0.000 ms
debian@thor:~$ ping 192.168.30.2 -c 1
PING 192.168.30.2 (192.168.30.2) 56(84) bytes of data.
64 bytes from 192.168.30.2: icmp_seq=1 ttl=62 time=1.52 ms
--- 192.168.30.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.516/1.516/1.516/0.000 ms
Como vemos tenemos conectividad entre las dos redes privadas a través de la VPN.
Si nos paramos a ver los objetos que nos ha creado cada túnel, este nos ha creado un total de 4, los cuales tendremos que borrar si deseamos eliminar el túnel:

Por defecto la política que nos ha creado permite TODO el tráfico en ambas direcciones, estas dos políticas la tenemos creada en cada cortafuegos y modificando estas o añadiendo nuevas podemos limitar el tráfico que pasa por la VPN en función de nuestras necesidades.

Además nos habrá creado una ruta para encaminar el tráfico hacia la red privada del otro extremo:

