GRE - Configuración

GRE (Generic Routing Encapsulation) crea un túnel punto a punto que encapsula tráfico de casi cualquier protocolo (incluidos enrutamiento dinámico IGP y multicast) y lo transporta sobre una red IP, como si los dos routers estuvieran conectados por un cable virtual. GRE no cifra: para proteger el túnel se combina con IPSec (ver GRE over IPSec - Configuración). La validación está en GRE - Verificación y el diagnóstico en GRE - Troubleshooting. Se relaciona con Rutas estáticas - Configuración y IPSec - Configuración.


Prerrequisitos

  • Alcance IP entre las direcciones que serán origen y destino del túnel (normalmente las IP públicas/WAN de cada router, a través del ISP).
  • Un esquema de direccionamiento para la red del túnel (por ejemplo 192.168.20.0/24).
  • Un método para enrutar las LAN remotas por el túnel (ruta estática o un IGP).

Conceptos previos (mínimos)

  • El túnel tiene dos “puntas”: tunnel source (interfaz o IP local por donde sale) y tunnel destination (IP pública del otro extremo).
  • La interface tunnel tiene su propia IP (la red del túnel); se comporta como un enlace directo entre los dos routers.
  • tunnel mode gre ip es el modo por defecto (no hace falta escribirlo salvo para volver a él).
  • GRE añade 24 bytes de encabezado; para evitar fragmentación se ajusta ip mtu 1400 y ip tcp adjust-mss 1360.
  • Ventaja clave sobre IPSec puro: por el túnel GRE sí pueden correr OSPF/EIGRP y multicast, y aparece una interface “Tunnel” enrutable en la tabla.

Pasos de configuración (en cada extremo):

  1. Crear la interface tunnel y darle IP (red del túnel).
  2. Definir origen y destino del túnel (las IP WAN).
  3. Ajustar MTU/MSS para evitar fragmentación.
  4. Enrutar las redes remotas por el túnel.

Comandos de configuración

De tu diapositiva (interfaz de túnel en R1, con origen/destino y ajuste de MTU):

R1(config)# interface tunnel 1
R1(config-if)# ip address 192.168.20.1 255.255.255.0
R1(config-if)# tunnel source fastEthernet 0/0
R1(config-if)# tunnel destination 10.10.20.1
R1(config-if)# tunnel mode gre ip
R1(config-if)# ip mtu 1400
R1(config-if)# ip tcp adjust-mss 1360
  • interface tunnel <n>: crea la interfaz virtual del túnel.
  • ip address <ip> <máscara>: IP del túnel (misma subred en ambos extremos).
  • tunnel source <interfaz|ip>: por dónde sale el túnel (la IP local hacia el ISP).
  • tunnel destination <ip>: la IP pública del otro extremo.
  • tunnel mode gre ip: modo GRE sobre IP (por defecto).
  • ip mtu 1400: reduce la MTU de IP en el túnel por el overhead de GRE.
  • ip tcp adjust-mss 1360: ajusta el MSS de las sesiones TCP para que no se fragmenten.

Añadido pro: keepalive <seg> <reintentos> en la interface tunnel detecta si el otro extremo cae y baja el line protocol del túnel (útil para que el enrutamiento reaccione). El destino del túnel debe ser alcanzable por la tabla de rutas subyacente (ruta al ISP), o el túnel no sube.


Dos ejemplos completos de configuración

Topología: R1 (oficina central, LAN 192.168.10.0/24, WAN Fa0/0 10.10.10.1) — ISP — R3 (sucursal, LAN 172.16.30.0/24, WAN Fa1/0 10.10.20.1). Túnel 192.168.20.0/24 (R1 = .1, R3 = .2).

Ejemplo 1 — R1: túnel GRE + ruta estática a la LAN remota

R1# configure terminal

! Interface del túnel
R1(config)# interface tunnel 1
R1(config-if)# ip address 192.168.20.1 255.255.255.0
R1(config-if)# tunnel source fastEthernet 0/0
R1(config-if)# tunnel destination 10.10.20.1
R1(config-if)# ip mtu 1400
R1(config-if)# ip tcp adjust-mss 1360
R1(config-if)# exit

! Alcanzar la LAN de la sucursal por el túnel
R1(config)# ip route 172.16.30.0 255.255.255.0 192.168.20.2
R1(config)# end
R1# copy running-config startup-config

Ejemplo 2 — R3: extremo espejo con keepalive

R3# configure terminal

R3(config)# interface tunnel 1
R3(config-if)# ip address 192.168.20.2 255.255.255.0
R3(config-if)# tunnel source fastEthernet 1/0
R3(config-if)# tunnel destination 10.10.10.1
R3(config-if)# ip mtu 1400
R3(config-if)# ip tcp adjust-mss 1360
R3(config-if)# keepalive 10 3
R3(config-if)# exit

! Ruta hacia la LAN de la oficina central por el túnel
R3(config)# ip route 192.168.10.0 255.255.255.0 192.168.20.1
R3(config)# end
R3# write memory

Al tener una interface Tunnel enrutable, en lugar de rutas estáticas podrías activar un IGP (OSPF/EIGRP) sobre la red 192.168.20.0/24 y las LAN se aprenderían dinámicamente por el túnel.


Verificación rápida (comprobar que quedó bien)

La validación detallada está en GRE - Verificación.

! Estado del túnel
R1# show ip interface brief | include Tunnel
R1# show interfaces tunnel 1

! Probar el túnel de extremo a extremo
R1# ping 192.168.20.2

Qué deberías ver:

  • El túnel en up/up en show ip interface brief.
  • show interfaces tunnel 1 con Tunnel source 10.10.10.1, destination 10.10.20.1 y Tunnel protocol/transport GRE/IP.
  • Ping exitoso a la IP del túnel del otro extremo (192.168.20.2).

Todos los comandos de tu diapositiva están incluidos (interface tunnel, ip address, tunnel source, tunnel destination, ip mtu, ip tcp adjust-mss; el modo GRE es el por defecto). El keepalive y el uso de IGP sobre el túnel son complemento. Para cifrar este túnel, ver GRE over IPSec - Configuración.