IPSec - Configuración
IPSec crea un túnel VPN cifrado sitio a sitio entre dos routers a través de una red no confiable (Internet), protegiendo el tráfico entre las LAN de cada extremo. Se configura en dos fases: la Fase 1 (ISAKMP/IKE) que establece un canal seguro de gestión, y la Fase 2 (IPSec) que cifra los datos. La validación está en IPSec - Verificación y el diagnóstico en IPSec - Troubleshooting. Cuando se necesita enrutamiento dinámico o multicast por el túnel, se combina con GRE (ver GRE over IPSec - Configuración); para VPN de muchos sitios ver DMVPN - Configuración.
Prerrequisitos
- Conectividad IP entre las direcciones públicas de ambos peers (a través del ISP).
- Saber qué tráfico “interesante” cifrar (normalmente LAN de un sitio hacia LAN del otro).
- Parámetros acordados idénticos en ambos extremos (cifrado, hash, grupo DH, clave).
Conceptos previos (mínimos)
- Fase 1 (IKE/ISAKMP): negocia un canal seguro entre los peers. Define autenticación, cifrado, hashing, grupo Diffie-Hellman y lifetime.
- Fase 2 (IPSec): protege los datos reales. Usa un transform-set (protocolo ESP/AH + cifrado + hash) y una ACL de cifrado que define el tráfico interesante.
- ESP cifra y autentica; AH solo autentica. Casi siempre se usa ESP.
- Crypto map: une todo (peer + transform-set + ACL) y se aplica a la interfaz de salida hacia Internet.
- Modo tunnel (por defecto, cifra todo el paquete IP original) vs modo transport (cifra solo el payload; se usa cuando GRE ya encapsuló).
Pasos de configuración (en cada router):
- Fase 1:
crypto isakmp policy+ clave pre-compartida (crypto isakmp key). - Fase 2:
crypto ipsec transform-set. - ACL de cifrado: qué tráfico proteger.
- Crypto map: peer + transform-set + ACL.
- Aplicar el crypto map a la interfaz pública.
Comandos de configuración
Fase 1 — política ISAKMP y clave pre-compartida (de tus diapositivas):
R1(config)# crypto isakmp policy 10
R1(config-isakmp)# encryption aes 192
R1(config-isakmp)# hash sha256
R1(config-isakmp)# authentication pre-share
R1(config-isakmp)# group 14
R1(config-isakmp)# lifetime 86400
R1(config-isakmp)# exit
R1(config)# crypto isakmp key cisco123 address 10.10.20.1
crypto isakmp policy <n>: crea la política de Fase 1 (menor número = mayor prioridad).encryption <aes|3des|des> [128|192|256]: algoritmo de cifrado del canal.hash <sha256|sha|md5>: algoritmo de integridad.authentication <pre-share|rsa-sig|rsa-encr>: método de autenticación de los peers.group <14|...>: grupo Diffie-Hellman (14 = 2048 bits).lifetime <seg>: duración de la SA de Fase 1 (86400 = 1 día).crypto isakmp key <clave> address <ip-peer>: la contraseña pre-compartida, ligada a la IP del peer.
Fase 2 — transform-set (de tus diapositivas):
R1(config)# crypto ipsec transform-set ESP_AES_SHA256 esp-aes 192 esp-sha256-hmac
R1(cfg-crypto-trans)# mode tunnel
R1(cfg-crypto-trans)# exit
crypto ipsec transform-set <nombre> <transform-cifrado> <transform-hash>: define cómo se protegen los datos.esp-aes 192(cifrado ESP con AES-192),esp-sha256-hmac(integridad).- Otros:
esp-3des,esp-gcm,ah-sha-hmac, etc.
mode <tunnel|transport>: tunnel cifra el paquete IP completo (site-to-site); transport solo el payload (para GRE over IPSec).
ACL de cifrado (tráfico interesante) y crypto map (de tus diapositivas):
R1(config)# ip access-list extended R1_R2
R1(config-ext-nacl)# permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255
R1(config-ext-nacl)# exit
R1(config)# crypto map CRYPTO1 10 ipsec-isakmp
R1(config-crypto-map)# set peer 60.60.60.2
R1(config-crypto-map)# set transform-set ESP_AES_SHA256
R1(config-crypto-map)# match address R1_R2
R1(config-crypto-map)# exit
R1(config)# interface fastEthernet 1/0
R1(config-if)# crypto map CRYPTO1
- La ACL define el tráfico a cifrar (LAN local → LAN remota). Es simétrica en el otro extremo (invertida).
crypto map <nombre> <seq> ipsec-isakmp: crea la entrada del crypto map.set peer <ip-pública-remota>: el otro extremo del túnel.set transform-set <nombre>: cómo cifrar.match address <acl>: qué cifrar.crypto map <nombre>en la interfaz: activa IPSec en la interfaz pública (hacia Internet).
Añadido pro: el crypto map permanece deshabilitado hasta que tenga peer y ACL válidos (el IOS lo avisa). La ACL de ambos extremos debe ser un espejo: en R2,
permit ip 192.168.30.0 ... 192.168.10.0 ....
Dos ejemplos completos de configuración
Topología: R1 (oficina central, LAN 192.168.10.0/24, público 80.80.80.2) — Internet — R2 (sucursal, LAN 192.168.30.0/24, público 60.60.60.2). Peers apuntan a la IP pública del otro.
Ejemplo 1 — R1 (oficina central)
R1# configure terminal
! Fase 1
R1(config)# crypto isakmp policy 10
R1(config-isakmp)# encryption aes 192
R1(config-isakmp)# hash sha256
R1(config-isakmp)# authentication pre-share
R1(config-isakmp)# group 14
R1(config-isakmp)# lifetime 86400
R1(config-isakmp)# exit
R1(config)# crypto isakmp key cisco123 address 60.60.60.2
! Fase 2
R1(config)# crypto ipsec transform-set ESP_AES_SHA256 esp-aes 192 esp-sha256-hmac
R1(cfg-crypto-trans)# mode tunnel
R1(cfg-crypto-trans)# exit
! ACL de tráfico interesante (LAN R1 -> LAN R2)
R1(config)# ip access-list extended R1_R2
R1(config-ext-nacl)# permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255
R1(config-ext-nacl)# exit
! Crypto map y aplicación a la interfaz pública
R1(config)# crypto map CRYPTO1 10 ipsec-isakmp
R1(config-crypto-map)# set peer 60.60.60.2
R1(config-crypto-map)# set transform-set ESP_AES_SHA256
R1(config-crypto-map)# match address R1_R2
R1(config-crypto-map)# exit
R1(config)# interface fastEthernet 1/0
R1(config-if)# crypto map CRYPTO1
R1(config-if)# end
R1# copy running-config startup-config
Ejemplo 2 — R2 (sucursal, configuración espejo)
R2# configure terminal
! Fase 1 (idéntica)
R2(config)# crypto isakmp policy 10
R2(config-isakmp)# encryption aes 192
R2(config-isakmp)# hash sha256
R2(config-isakmp)# authentication pre-share
R2(config-isakmp)# group 14
R2(config-isakmp)# lifetime 86400
R2(config-isakmp)# exit
R2(config)# crypto isakmp key cisco123 address 80.80.80.2
! Fase 2 (idéntica)
R2(config)# crypto ipsec transform-set ESP_AES_SHA256 esp-aes 192 esp-sha256-hmac
R2(cfg-crypto-trans)# mode tunnel
R2(cfg-crypto-trans)# exit
! ACL espejo (LAN R2 -> LAN R1)
R2(config)# ip access-list extended R2_R1
R2(config-ext-nacl)# permit ip 192.168.30.0 0.0.0.255 192.168.10.0 0.0.0.255
R2(config-ext-nacl)# exit
! Crypto map apuntando a R1
R2(config)# crypto map CRYPTO1 10 ipsec-isakmp
R2(config-crypto-map)# set peer 80.80.80.2
R2(config-crypto-map)# set transform-set ESP_AES_SHA256
R2(config-crypto-map)# match address R2_R1
R2(config-crypto-map)# exit
R2(config)# interface fastEthernet 1/0
R2(config-if)# crypto map CRYPTO1
R2(config-if)# end
R2# write memory
Los parámetros de ambos extremos deben coincidir: Fase 1 (pre-shared, AES, SHA, DH 14, lifetime 86400, clave cisco123) y Fase 2 (ESP, AES, SHA, proxy identities 192.168.10.0/24 ↔ 192.168.30.0/24).
Verificación rápida (comprobar que quedó bien)
La validación detallada está en IPSec - Verificación.
! Estado de la Fase 1 (IKE)
R1# show crypto isakmp sa
! Estado de la Fase 2 (IPSec) y paquetes cifrados/descifrados
R1# show crypto ipsec sa
! Crypto map aplicado
R1# show crypto map
Qué deberías ver:
- En
show crypto isakmp sa, el peer con estadoQM_IDLE(Fase 1 establecida). - En
show crypto ipsec sa, contadores depkts encaps/pkts decapssubiendo cuando pasa tráfico interesante.
Todos los comandos de tus diapositivas están incluidos (crypto isakmp policy con encryption/hash/authentication/group/lifetime, crypto isakmp key address, crypto ipsec transform-set con mode tunnel/transport, ACL de cifrado, crypto map ipsec-isakmp con set peer/set transform-set/match address, y su aplicación a la interfaz). Las tablas de Fase 1/Fase 2 de tu diapositiva se reflejan en los parámetros. Si quieres que quite algo, dime.