Site to Site IPSec VPN entre dos Routers Cisco
En la siguiente guía practica vamos a implementar una VPN IPSec Site to Site con la finalidad de comunicar dos localidades a través de la Red Publica (Internet) utilizando dos Routers con Cisco IOS. Esta pequeña guia esta limitada a describir el procedimiento basico a llevar a cabo para lograr el objetivo planteado, por lo cual no me detendre a explicar nada teorico en detalle.
En el siguiente escenario podemos observar que tenemos dos oficinas las cuales queremos interconectar a través de Internet por medio de un Tunnel IPSec:
Click en Imagen para Ampliar |
A continuación les dejo la configuración inicial de cada Router:
Central_Office:
interface fastethernet0/0
ip address 200.192.1.2 255.255.255.0
duplex auto
speed auto
interface fastethernet0/1
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
ip route 0.0.0.0 0.0.0.0 200.192.1.1
Branch_Office:
interface fastethernet0/0
ip address 200.192.2.2 255.255.255.0
duplex auto
speed auto
interface fastethernet0/1
ip address 192.168.2.1 255.255.255.0
duplex auto
speed auto
ip route 0.0.0.0 0.0.0.0 200.192.2.1
Teniendo esta configuración basica y teniendo comunicación entre Central_Office y Brach_Office a través de las interfaces que van a Internet, procedemos a lograr nuestro objetivo empezando por configurar las politicas IKE (Internet Key Exchange) con el comando «crypto isakmp policy» seguido de el numero de prioridad.
Central_Office(config)# crypto isakmp policy 10
Central_Office(config-isakmp)# authentication pre-share
Central_Office(config-isakmp)#encryption aes
Central_Office(config-isakmp)#hash sha
Central_Office(config-isakmp)# group 2
Con estos comandos estamos definiendo una politica con prioridad 10, la cual utilizara el metodo de autenticación «pre-share», el cifrado por aes, el hash en sha, y el Diffie-Hellman group en 2. Por defecto tomará para cifrado «des», para hash «sha» y el Diffie-Hellman group en 1.
Como nuestro metodo de autenticación fue «pre-share» debemos especificar la clave compartida y la IP del Router Remoto con el cual vamos a compartir la llave, en nuestro caso:
Central_Office(config)# crypto isakmp key 0 VPNpuntoLibre123 address 200.192.2.2
Luego procedemos a crear el Transform Set, el cual define las politicas de seguridad que seran aplicadas al trafico entrando o saliente de la interfaz:
Central_Office(config)# crypto ipsec transform-set TFPuntoLibre esp-aes esp-sha-hmac
Luego definimos una lista de acceso que va a definir el trafico que se va a cifrar con IPSec, en pocas palabras vamos a definir el trafico desde nuestra Red Local hacia la Red Local de la oficina Remota, en nuestro caso:
Central_Office(config)# access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
Teniendo esto listo creamos nuestro Crypto Map con un numero de prioridad y metodo de manejo de llaves, y en el especificamos la lista de acceso, el router remoto, y nuestro transform-set:
Central_Office(config)# crypto map MyCryptoMap1 10 ipsec-isakmp
Central_Office(config-crypto-map)# match address 100
Central_Office(config-crypto-map)# set peer 200.2.2
Central_Office(config-crypto-map)# set transform-set TFPuntoLibre
Ahora solo bastaria con asignarle el Crypto Map a la interfaz que va a Internet:
Central_Office(config)# interface fastethernet 0/0
Central_Office(config-if)# crypto map MyCryptoMap1
Finalmente realizamos el mismo procedimiento en el Router remoto cambiando la dirección del Peer en el Crypto Map y al momento de especificar la llave compartida, como tambien cambiar el orden del Access List. La configuración quedaria de la siguiente manera:
Central_Office:
interface fastethernet0/0
ip address 200.192.1.2 255.255.255.0
duplex auto
speed auto
interface fastethernet0/1
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
ip route 0.0.0.0 0.0.0.0 200.192.1.1
crypto isakmp policy 10
authentication pre-share
encryption aes
hash sha
group 2
access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
crypto isakmp key 0 VPNpuntoLibre123 address 200.192.2.2
crypto ipsec transform-set TFPuntoLibre esp-aes esp-sha-hmac
crypto map MyCryptoMap1 10 ipsec-isakmp
match address 100
set peer 200.192.2.2
set transform-set TFPuntoLibre
Branch_Office:
interface fastethernet0/0
ip address 200.192.2.2 255.255.255.0
duplex auto
speed auto
interface fastethernet0/1
ip address 192.168.2.1 255.255.255.0
duplex auto
speed auto
ip route 0.0.0.0 0.0.0.0 200.192.2.1
crypto isakmp policy 10
authentication pre-share
encryption aes
hash sha
group 2
access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
crypto isakmp key 0 VPNpuntoLibre123 address 200.192.1.2
crypto ipsec transform-set TFPuntoLibre esp-aes esp-sha-hmac
crypto map MyCryptoMap1 10 ipsec-isakmp
match address 100
set peer 200.192.1.2
set transform-set TFPuntoLibre
Finalmente con el comando «show crypto isakmp sa» verificamos el estado del Tunnel. Si el estado es «ACTIVE» deberiamos tener comunicación entre las dos localidades.
Cualquier duda o inconveniente estamos a las ordenes!
Interesante man… pero me gustaría que sustituyas la nube por 1 router de cada lado que haga el papel del ISP con NAT… Ya que sabes que aqui en RD y en muchos otros sitios tenemos esos casos… Es mas para ver como manejas el port forwarding de las peticiones de IPSEC..
Eso es una orden hermano! Voy a preparar el escenario para otro articulo 😀
😀