Hola! Hoy vamos a configurar una VPN con direcciones remotas dinámicas. Útil, a la hora de reducir costos y contar con conectividad.
Algo importante que tenes que acordarte cuando realices este tipo de implementaciones, es que en una VPN site-to-site con ip publica dinámica remota solo puede levantarse generando tráfico desde la red remota. ISAKMP (Internet Security Association and Key Management Protocol) and IPSec son esenciales para construir y encriptar el tunel de la VPN. ISAKMP, también llamado IKE (Internet Key Exchange), es el protocolo que negocia y permite a dos host ponerse de acuerdo en cómo construirá la IPsec sa. La negociación de ISAKMP consiste en dos fases: Fase 1 y fase 2
Fase 1 crear un túnel, el cual protegerá los mensajes de negociación ISAKMP. Fase 2 crear el túnel que protegerá los dato. IPSec entonces entra en juego para encriptar los datos usando algoritmos de codificación criptográfica y autentificación.
TOPOLOGÍA LÓGICA
TOPOLOGÍA FÍSICA
VPN Site-To-Site con IPs públicas dinámicas en router remotos
Ahora veremos un ejemplo práctico a fin de complementar el know-how.
Los pasos son:
1.0Configurar ISAKMP (fase 1)
2.0Configurar IPSec
2.1 Configurar ACLs extendidas
2.2 Configurar IPsec Transform (ISAKMP fase 2)
2.3 Configurar Crypto Map
#Configuración para el router principal R1-La Plata.
Configurar ISAKMP (IKE) -(fase 1)
IKE existe solo con el fin de establecer SAs (Security Association) para IPsec. Antes de ésto, IKE debe negociar una relación entre las SA (ISAKMP SA) con los peers.
laplata(config)#cryp isakmp enable laplata(config)#crypto isakmp policy 1 laplata(config-isakmp)#encryption 3des laplata(config-isakmp)#hash md5 laplata(config-isakmp)#authentication pre-share laplata(config-isakmp)#group 2 laplata(config-isakmp)#lifetime 86400 laplata(config-isakmp)#exit
3DES – algoritmo de codificación criptográfica
MD5 – Algoritmo de hashing
Pre-share – Método de autenticación
Group 2 – DH (Diffie-Hellman) que utilizaremos
86400 – Session key lifetime.
Nota: Si tuviéramos 3 sitios remotos y 3 ISAKMP policies configuradas, cuando nuestro router tratara de negociar un túnel VPN con cada sitio, éste enviaría la 3 ISAKMP policies y usaría la primera que sea aceptada por ambos sitios. En cambio si sólo tenemos una sola ISAKMP policy configurada el router usaría la misma para todas las VPN en los routers remotos.
Configuramos la clave para el método de autenticación Pre-Share
laplata(config)#crypto isakmp key redprincipal address 0.0.0.0 0.0.0.0
2.0 Configurar IPsec
2.1 Configurar ACLs extendidas
Definimos que tráfico pasará a través de cada VPN.
laplata(config)#ip access-list extended vpn1-traffic laplata(config-ext-nacl)#permit ip 10.10.10.0 0.0.0.255 20.20.20.0 0.0.0.255 laplata(config-ext-nacl)#exit
laplata(config)#ip access-list extended vpn2-traffic laplata(config-ext-nacl)#permit ip 10.10.10.0 0.0.0.255 30.30.30.0 0.0.0.255 laplata(config-ext-nacl)#exit
2.2 Configurar IPsec Transform (ISAKMP fase 2)
Creamos el “transform-set” usado para proteger los datos. Lo llamaremos “tunel”, especificaremos el método de encripción y el algoritmo de hashing.
laplata(config)#crypto ipsec transform-set tunel esp-3des esp-md5-hmac
2.3 Configurar Crypto Map
Crypto Map es el último paso para conectar la configuración ISAKMP y IPSec. Necesitaremos crear una crypto map dinámica por cada router remoto.
Primero vamos a crear una crypto map llamada VPN, el cual conectaremos con las crypto maps dinámicas.
#Crypto Map
laplata(config)#crypto map vpn 1 ipsec-isakmp dynamic sucursal-vpn
#Crypto maps dinámicas
laplata(config)#crypto dynamic-map sucursal-vpn 10 laplata(config-crypto-map)#set crysecurity-association lifetime seconds 86400 laplata(config-crypto-map)#set transform-set tunel laplata(config-crypto-map)#match address vpn1-traffic laplata(config-crypto-map)#exit laplata(config)#crypto dynamic-map sucursal-vpn 11 laplata(config-crypto-map)#set security-association lifetime seconds 86400 laplata(config-crypto-map)#set security-association lifetime seconds 86400 laplata(config-crypto-map)#set transform-set tunel laplata(config-crypto-map)#match address vpn2-traffic laplata(config-crypto-map)#exit
#Aplicamos Crypto Map a una interfaz
laplata(config)#int s1/1 laplata(config-if)#crypto map vpn *Mar 1 00:27:47.659: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON laplata(config-if)#exit
listo!
#ROUTER REMOTO “R2 – MAR DEL PLATA”
1.0 Configurar ISAKMP
MardelPlata(config)#crypto isakmp policy 1 MardelPlata(config-isakmp)#encryption 3des MardelPlata(config-isakmp)#hash md5 MardelPlata(config-isakmp)#authentication pre-share MardelPlata(config-isakmp)#group 2 MardelPlata(config-isakmp)#lifetime 86400 MardelPlata(config-isakmp)#exit
laplata(config)#crypto isakmp key redprincipal address 200.10.10.1
2.0 Configurar IPSec
2.1 Configuramos las ACLs
MardelPlata(config)#ip access-list extended vpn1-traffic MardelPlata(config-ext-nacl)#permit ip 20.20.20.0 0.0.0.255 10.10.10.0 0.0.0.255
2.2 Configurar IPsec Transform (ISAKMP fase 2)
MardelPlata(config)#crypto ipsec transform-set tunel esp-3des esp-md5-hmac MardelPlata(cfg-crypto-trans)#exit
2.3 Configurar Crypto Map
MardelPlata(config)#crypto map vpn1-to-principal 10 ipsec-isakmp % NOTE: This new crypto map will remain disabled until a peer and a valid access list have been configured. MardelPlata(config-crypto-map)#set peer 200.10.10.1 MardelPlata(config-crypto-map)#set transform-set tunel MardelPlata(config-crypto-map)#match address vpn1-traffic MardelPlata(config-crypto-map)#exit
MardelPlata(config)#int s1/0 MardelPlata(config-if)#crypto map vpn1-to-principal *Mar 1 00:35:23.055: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON MardelPlata(config-if)#exit
Comments