GRE - Troubleshooting
Método general (de lo mínimo a lo complejo)
- ¿El destino del túnel es alcanzable por la tabla de rutas subyacente? (ping a la IP WAN remota).
- ¿El túnel está up/up?
show interfaces tunnel 1. - ¿Source y destination son espejo entre extremos?
- ¿Hay ruta hacia las LAN remotas por el túnel?
- ¿Hay fragmentación (transferencias grandes fallan)? Revisa
ip mtu/ip tcp adjust-mss.
Comando base:
Router# show interfaces tunnel 1
Router# show ip route
Caso 1 — El túnel está up/down (line protocol down)
Síntoma: Tunnel1 is up, line protocol is down.
Causa: el tunnel destination no es alcanzable en la tabla de rutas (falta ruta al ISP, o la IP WAN remota está caída).
Diagnóstico:
Router# show interfaces tunnel 1 | include source|destination|protocol
Router# ping 10.10.20.1
Router# show ip route 10.10.20.1
Solución: asegurar alcance a la IP de destino (ruta por defecto o estática hacia el ISP).
Router(config)# ip route 0.0.0.0 0.0.0.0 10.10.10.2
Caso 2 — Error de enrutamiento recursivo (%TUN-5-RECURDOWN)
Síntoma: el log muestra %TUN-5-RECURDOWN: Tunnel1 temporarily disabled due to recursive routing y el túnel baja.
Causa: el router aprendió la ruta hacia el destino del túnel a través del propio túnel (típico al anunciar la red de las WAN por el IGP que corre sobre el túnel).
Diagnóstico:
Router# show ip route 10.10.20.1 ! ¿el next-hop es la interface Tunnel?
Solución: no anunciar por el túnel las redes que se usan como source/destination; usar una ruta estática hacia el destino del túnel por la interfaz física, o filtrar esa red del IGP.
Router(config)# ip route 10.10.20.1 255.255.255.255 10.10.10.2
Caso 3 — El túnel sube pero las LAN no se comunican
Síntoma: ping a la IP del túnel del otro extremo funciona, pero las LAN no.
Causa: falta la ruta hacia la LAN remota por el túnel.
Diagnóstico:
Router# ping 192.168.20.2 ! túnel OK
Router# show ip route 172.16.30.0 ! ¿existe la ruta?
Solución: agregar la ruta (o el IGP) hacia la LAN remota apuntando a la IP del túnel.
Router(config)# ip route 172.16.30.0 255.255.255.0 192.168.20.2
Caso 4 — Transferencias grandes o túneles anidados fallan (fragmentación)
Síntoma: el ping normal funciona, pero HTTP/SSH/archivos grandes se cuelgan.
Causa: el overhead de GRE (24 bytes) hace que paquetes de 1500 bytes se fragmenten o se descarten (si viajan con DF-bit).
Diagnóstico:
Router# ping 192.168.20.2 size 1500 df-bit
Solución: ajustar la MTU de IP y el MSS de TCP en la interface tunnel.
Router(config)# interface tunnel 1
Router(config-if)# ip mtu 1400
Router(config-if)# ip tcp adjust-mss 1360
Caso 5 — Ambos extremos con la misma IP de origen/destino cruzada mal
Síntoma: el túnel no sube o sube solo en un lado.
Causa: tunnel source/tunnel destination no son espejo (el destino de un lado debe ser el origen del otro).
Diagnóstico:
Router# show running-config interface tunnel 1
Solución: corregir para que en R1 destination = IP WAN de R3, y en R3 destination = IP WAN de R1.
! R1
Router(config-if)# tunnel destination 10.10.20.1
! R3
Router(config-if)# tunnel destination 10.10.10.1
Caso 6 — El túnel “aletea” (sube y baja)
Síntoma: cambios de estado frecuentes del túnel.
Causa: inestabilidad del camino subyacente hacia el destino, o un keepalive demasiado agresivo.
Diagnóstico:
Router# show interfaces tunnel 1 | include line protocol|reset
Router# ping 10.10.20.1 repeat 100
Solución: estabilizar el camino físico, o relajar el keepalive.
Router(config-if)# keepalive 10 3
Recuerda el orden: destino alcanzable por la tabla subyacente, túnel up/up, source/destination espejo, ruta a las LAN remotas por el túnel, y ajuste de MTU/MSS. Ante
%TUN-5-RECURDOWN, evita que el destino del túnel se aprenda por el propio túnel.