¡Hola! Soy Alex Walton. Si estás preparando el CCNA o ya trabajas en redes, seguro que te has topado con este desafío: ¿cómo conectar dos redes remotas a través de Internet de forma segura y, además, poder pasar protocolos de enrutamiento entre ellas?
Aquí es donde entra en juego una de mis configuraciones favoritas y un verdadero caballo de batalla en el mundo real: el túnel GRE sobre IPsec.
Por sí solo, GRE es fantástico para encapsular tráfico, pero es como enviar una postal: cualquiera puede leerla por el camino. Al añadirle la armadura de IPsec, convertimos esa postal en un paquete blindado. Esta combinación nos ofrece lo mejor de ambos mundos: la flexibilidad de GRE y la robusta seguridad de IPsec.
En esta guía, vamos a ir directos a la consola. Te enseñaré, paso a paso, cómo configurar una VPN GRE con IPsec. Es una habilidad que te aseguro que usarás. ¡Vamos a ello!
¿Cuál es la diferencia entre un túnel GRE y un túnel IPsec?
Antes de empezar, es fundamental entender la diferencia entre túnel GRE y IPsec, ya que es la razón por la que los combinamos.
| Característica | Túnel GRE (Generic Routing Encapsulation) | Túnel IPsec (VPN) |
|---|---|---|
| Propósito Principal | Encapsular tráfico de múltiples protocolos (incluido multicast y broadcast) dentro de paquetes IP. No ofrece seguridad. | Crear un canal de comunicación seguro y cifrado entre dos puntos. |
| Seguridad | Nula. El tráfico viaja en texto plano. | Alta. Proporciona confidencialidad (cifrado), integridad y autenticación. |
| Protocolos Soportados | Casi cualquier protocolo de red, incluyendo protocolos de enrutamiento dinámico como OSPF o EIGRP. | Principalmente tráfico Unicast (IP). Soporte limitado o nulo para Multicast. |
| Estándar | Definido en el RFC 2784 de la IETF. | Un framework de múltiples protocolos (ESP, AH, IKE). |
En resumen, usamos GRE para transportar tipos de tráfico que IPsec por sí solo no puede manejar, y luego encapsulamos todo el túnel GRE dentro de un túnel IPsec para protegerlo.
Escenario de Red
Para este laboratorio, utilizaremos la siguiente topología. Nuestro objetivo es que Host1 (en la red 192.168.1.0/24) pueda comunicarse de forma segura con Host2 (en la red 192.168.2.0/24) a través del túnel VPN que construiremos entre los routers R1 y R3.

Fase 1: Configurar el Túnel GRE Básico
Primero, crearemos el túnel GRE sin cifrado para asegurar que tenemos conectividad básica entre los extremos. Este paso es clave para aislar problemas antes de añadir la complejidad de IPsec.

Paso 1: Configurar la Interfaz del Túnel en R1
Creamos una interfaz virtual Tunnel0 en R1. Le asignamos una dirección IP, definimos la IP de origen y destino del túnel físico, y ajustamos el MTU y MSS para compensar la sobrecarga que añade el encabezado GRE.
ip mtu 1400: Reduce el tamaño máximo de la unidad de transmisión para evitar la fragmentación. Para entender más sobre este valor, puedes consultar nuestra guía sobre qué es MTU en redes.ip tcp adjust-mss 1360: Ajusta el tamaño máximo del segmento TCP para que los paquetes encajen dentro del nuevo MTU.
R1# configure terminal
R1(config)# interface Tunnel0
R1(config-if)# ip address 10.0.0.1 255.255.255.252
R1(config-if)# ip mtu 1400
R1(config-if)# ip tcp adjust-mss 1360
R1(config-if)# tunnel source 1.1.1.1 // IP pública de R1
R1(config-if)# tunnel destination 2.2.2.1 // IP pública de R3
R1(config-if)# exitPaso 2: Añadir una Ruta Estática en R1
Ahora le decimos a R1 que para alcanzar la red remota (192.168.2.0/24), debe enviar el tráfico a través de la interfaz Tunnel0. Este es un ejemplo práctico de la configuración de rutas estáticas.
R1(config)# ip route 192.168.2.0 255.255.255.0 Tunnel0Paso 3: Configurar la Interfaz del Túnel en R3
Replicamos la configuración en R3, invirtiendo las direcciones IP de origen, destino y de la interfaz del túnel.
R3# configure terminal
R3(config)# interface Tunnel0
R3(config-if)# ip address 10.0.0.2 255.255.255.252
R3(config-if)# ip mtu 1400
R3(config-if)# ip tcp adjust-mss 1360
R3(config-if)# tunnel source 2.2.2.1 // IP pública de R3
R3(config-if)# tunnel destination 1.1.1.1 // IP pública de R1
R3(config-if)# exit
R3(config)# ip route 192.168.1.0 255.255.255.0 Tunnel0Paso 4: Verificación del Túnel GRE
Con esta configuración, el túnel ya debería estar activo. Lo verificamos con show interface tunnel 0 y un ping al otro extremo del túnel.
R1# show interface tunnel 0
Tunnel0 is up, line protocol is up
Hardware is Tunnel
Internet address is 10.0.0.1/30
MTU 1514 bytes, BW 9 Kbit/sec, DLY 500000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation TUNNEL, loopback not set
...
Tunnel source 1.1.1.1, destination 2.2.2.1
Tunnel protocol/transport GRE/IP
...Ahora, hacemos un ping desde R1 al Host2 para confirmar que el tráfico cruza el túnel.
R1# ping 192.168.2.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.10, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 24/64/88 ms¡Perfecto! Tenemos conectividad, pero nuestro tráfico viaja en texto plano. ¡Es hora de asegurarlo!
Fase 2: Asegurando el Túnel con IPsec
Ahora aplicaremos la capa de seguridad IPsec sobre nuestro túnel GRE. Esto implica dos fases de negociación: ISAKMP (Fase 1) y IPsec (Fase 2). Esta es la parte crucial para configurar un túnel GRE IPsec en Cisco IOS.
Paso 5: Configurar la Política ISAKMP (Fase 1) en R1
La Fase 1 establece un canal seguro para negociar los parámetros de la Fase 2. Aquí definimos el método de autenticación, el cifrado, el hashing y el grupo Diffie-Hellman.
R1(config)# crypto isakmp policy 10
R1(config-isakmp)# authentication pre-share
R1(config-isakmp)# encryption aes
R1(config-isakmp)# group 2
R1(config-isakmp)# hash sha
R1(config-isakmp)# exit
// Creamos la clave pre-compartida que debe coincidir en ambos routers
R1(config)# crypto isakmp key 0 Sh@reds3cret address 2.2.2.1Paso 6: Configurar el Transform Set y Perfil IPsec (Fase 2) en R1
La Fase 2 define cómo se cifrará y autenticará el tráfico de datos real. Creamos un transform-set con los algoritmos deseados y lo asociamos a un ipsec profile.
R1(config)# crypto ipsec transform-set TFS-PNL esp-aes esp-sha-hmac
R1(cfg-crypto-trans)# exit
R1(config)# crypto ipsec profile PF-PNL
R1(ipsec-profile)# set transform-set TFS-PNL
R1(ipsec-profile)# exitPaso 7: Aplicar el Perfil de Seguridad a la Interfaz del Túnel en R1
El último paso en R1 es aplicar el perfil de protección IPsec a nuestra interfaz Tunnel0.
R1(config)# interface Tunnel0
R1(config-if)# tunnel protection ipsec profile PF-PNLPaso 8: Replicar la Configuración de Seguridad en R3
Ahora realizamos la misma configuración de GRE sobre IPsec Cisco en R3, asegurándonos de que la clave pre-compartida apunte a la IP de R1.
R3(config)# crypto isakmp policy 10
R3(config-isakmp)# authentication pre-share
R3(config-isakmp)# encryption aes
R3(config-isakmp)# group 2
R3(config-isakmp)# hash sha
R3(config-isakmp)# exit
R3(config)# crypto isakmp key 0 Sh@reds3cret address 1.1.1.1
R3(config)# crypto ipsec transform-set TFS-PNL esp-aes esp-sha-hmac
R3(cfg-crypto-trans)# exit
R3(config)# crypto ipsec profile PF-PNL
R3(ipsec-profile)# set transform-set TFS-PNL
R3(ipsec-profile)# exit
R3(config)# interface Tunnel0
R3(config-if)# tunnel protection ipsec profile PF-PNL
R3(config-if)# exitFase 3: Verificación Final del Túnel GRE sobre IPsec
Para que el túnel cifrado se levante, necesita que pase «tráfico interesante». Un simple ping de Host1 a Host2 será suficiente.
Verificando la Fase 1 (ISAKMP SA)
Usamos show crypto isakmp sa para confirmar que la Fase 1 se ha establecido correctamente. El estado QM_IDLE indica que la negociación fue exitosa y está en espera de tráfico.
R3# show crypto isakmp sa
dst src state conn-id slot status
1.1.1.1 2.2.2.1 QM_IDLE 1001 0 ACTIVEVerificando la Fase 2 (IPsec SA)
Finalmente, con show crypto ipsec sa, verificamos que la Fase 2 está activa y que los paquetes se están encapsulando y cifrando.
R3# show crypto ipsec sa
interface: Tunnel0
Crypto map tag: Tunnel0-head-0, local addr 2.2.2.1
...
#pkts encaps: 5, #pkts encrypt: 5, #pkts digest: 5
#pkts decaps: 5, #pkts decrypt: 5, #pkts verify: 5
...
inbound esp sas:
spi: 0x5C5C5EF1(1549557489)
...
Status: ACTIVE
outbound esp sas:
spi: 0x3AA3F6B0(983824048)
...
Status: ACTIVELos contadores #pkts encrypt y #pkts decrypt mayores que cero son la prueba definitiva: ¡nuestro túnel GRE ahora está protegido por IPsec! Si necesitas más detalles sobre este protocolo, te recomiendo leer este artículo sobre la seguridad del protocolo de internet (IPsec).
Puntos Clave y Próximos Pasos
¡Y ahí lo tienes! Has configurado un túnel GRE sobre IPsec de principio a fin. Si has seguido los pasos, los contadores de paquetes cifrados y descifrados son tu prueba de fuego: el túnel no solo funciona, sino que es seguro.
Esta configuración es el pan de cada día para interconectar sedes y es una de esas habilidades que te diferencia como profesional. Entender cómo la flexibilidad de GRE y la seguridad de IPsec trabajan juntas es crucial.
Mi consejo: no te quedes solo con leerlo. Monta este laboratorio en GNS3 o EVE-NG. Rómpelo, arréglalo y hazlo tuyo. Esa es la verdadera forma de aprender. Para una referencia más profunda, siempre puedes consultar la documentación oficial de Cisco o unirte a comunidades como el Cisco Learning Network.
¿Qué te ha parecido? ¿Te has enfrentado a un escenario similar en tu trabajo o estudios? ¡Te leo en los comentarios!





