P1 ACTIVO
2026-06-18  08:42 UTC  ·  #INC-20260618-0042
⚠️

Sesión BGP flapping con upstream TRANSIT-EU-01 (185.76.42.1 / AS13237)

La sesión está Established pero con 0 prefijos recibidos. Se han detectado 3 ciclos de caída por hold time expired en las últimas 2 horas 15 minutos. Los clientes del bloque 192.168.200.0/22 reportan cortes intermitentes hacia destinos internacionales.

0
Prefijos recibidos
de AS13237
3x
Ciclos caída
en 2h 15min
680K
Prefijos esperados
(full table)
00:47
Tiempo activo
sesión actual
3
Peers iBGP/eBGP
sin incidencia
📊 Estado de vecinos BGP — show bgp summary
Neighbor AS remoto Rol Up/Down Estado Prefijos Rx Diagnóstico
185.76.42.1 AS13237 Upstream eBGP 00:47:13 Established 0 🔴 ⚠ CRÍTICO
203.15.88.2 AS64512 Peer eBGP backup 3d02h Established 5.421 ✅ OK
10.100.1.2 AS65201 iBGP cliente 1 5d14h Established 42 ✅ OK
10.100.1.6 AS65202 iBGP cliente 2 5d14h Established 31 ✅ OK

Historial de flapping — últimas 2h 15min

06:26:31 DOWN — BGP Notification: hold time expired
06:26:31 NOTIF recv: Error 4/0 (Hold Timer Expired)
06:26:31 UP — sesión reiniciada
07:08:12 DOWN — BGP Notification: hold time expired
07:08:12 NOTIF recv: Error 4/0 (Hold Timer Expired)
07:08:13 UP — sesión reiniciada
08:12:03 DOWN — BGP Notification: hold time expired
08:12:03 NOTIF recv: Error 4/0 (Hold Timer Expired)
08:12:03 UP — sesión actual (00:47:13 uptime)
Patrón: 3 resets periódicos (~41 min entre cada uno). Causa invariable: Hold Timer Expired recibido DEL PEER (Error code 4/0). El peer upstream está enviando la notificación, no el router local.

Detalle del vecino 185.76.42.1

BGP state Established
Up time actual 00:47:13
Último reset hace 02:15:44
Causa reset BGP Notification recv
Código error 4/0 — Hold Time Expired
Local host 185.76.42.1 (¡INVERSIÓN!)
Foreign host 10.200.0.1 (Loopback0)
Puerto escucha local :179
Rutas anunciadas 3 prefijos (OK)
Prefijos recibidos 0 (PROBLEMA)
Prefijos instalados 0
Anomalía: Los campos Local host y Foreign host están invertidos respecto a lo esperado. Esto sugiere que el UPDATE SOURCE puede no estar configurado correctamente o hay una asimetría de routing.

Análisis de prefix-list UPSTREAM-IN

# show ip prefix-list UPSTREAM-IN CORE-MAD-01# seq 5 permit 0.0.0.0/0 le 24 seq 10 deny 10.0.0.0/8 le 32 seq 15 deny 192.168.0.0/16 le 32
seq 5: Permite rutas de internet hasta /24. Correcto para full table.
seq 10-15: Bloquea RFC-1918. Correcto para upstream.

Nota: La política en sí parece correcta. Sin embargo, si el upstream no está enviando prefijos (hold-timer issue), la lista no puede filtrar lo que no llega. No es la causa raíz.

Prefijos anunciados a AS13237

# show bgp neighbors 185.76.42.1 advertised-routes Network Next Hop 192.168.200.0/22 0.0.0.0 ✓ ok 192.168.201.0/24 0.0.0.0 ✓ ok 10.200.0.1/32 0.0.0.0 ⚠ loopback en outbound
Los prefijos del cliente se están anunciando correctamente al upstream. El bloque 192.168.200.0/22 sale correctamente.

Aviso: Se está anunciando la loopback 10.200.0.1/32 al upstream. Verificar si esto es intencionado (necesario si el peer usa la loopback como next-hop externo).
🔎 Hallazgos de diagnóstico — Causa raíz y factores contribuyentes
CAUSA RAÍZ Hold Timer Expiry periódico — el peer upstream no recibe KEEPALIVEs a tiempo
Los logs muestran que la notificación de error 4/0 (Hold Timer Expired) la envía el peer AS13237 (185.76.42.1), no el router local. Esto significa que el peer upstream está agotando su hold timer sin recibir KEEPALIVEs del CORE-MAD-01. Las causas más probables: (1) CPU alta en CORE-MAD-01 impidiendo el envío de KEEPALIVEs a tiempo, (2) pérdida de paquetes asimétrica hacia 185.76.42.1, (3) timer mismatch si el hold-time negociado es muy bajo (< 30s). Verificar con: show processes cpu sorted y show bgp neighbors 185.76.42.1 | include hold time|keepalive.
CRÍTICO 0 prefijos recibidos — consecuencia del flapping, NO una política de filtrado
La tabla BGP muestra 0 prefijos en la columna State/PfxRcd para 185.76.42.1. Esto NO indica que el prefix-list esté bloqueando las rutas. La sesión está establecida pero el upstream puede estar aplicando Graceful Restart con tabla vacía durante la reconvergencia, o la sesión lleva activa solo 47 minutos y aún no ha completado la convergencia completa de 680K prefijos. Verificar con: show bgp neighbors 185.76.42.1 | include Graceful|stale|EoR.
ATENCIÓN Inversión Local/Foreign host — posible misconfiguration de update-source
La salida de show bgp neighbors 185.76.42.1 muestra Local host: 185.76.42.1 y Foreign host: 10.200.0.1 — invertido respecto a lo esperado. Lo normal sería que Local host fuera la IP propia (10.200.0.1 o la IP del link) y Foreign host fuera el peer. Esto puede indicar que el campo en la salida del IOS-XE está siendo reportado desde la perspectiva del peer, o que hay un bug de display. Confirmar con: show bgp neighbors 185.76.42.1 | include update.source y show ip bgp summary en el router upstream si hay acceso.
ATENCIÓN Loopback 10.200.0.1/32 anunciada al upstream externo
El router está anunciando su dirección de loopback 10.200.0.1/32 (espacio RFC-1918) al upstream AS13237. Aunque es probable que el upstream la filtre en su entrada, confirmar que esto es intencionado. Si el prefix-list de salida no tiene una regla deny 10.0.0.0/8, este prefijo privado sale a internet. Verificar: show bgp neighbors 185.76.42.1 advertised-routes completo y el route-map de salida.
INFO Prefix-list UPSTREAM-IN es correcto pero no es la causa del problema
Las reglas de entrada (deny RFC-1918, permit /0 le /24) son estándar y correctas para un upstream full-table. La política no está filtrando prefijos de internet legítimos. El problema está en el transporte/keepalive, no en las políticas de enrutamiento.
OK Peers iBGP y backup eBGP funcionan correctamente
Los peers internos (10.100.1.2 / AS65201 y 10.100.1.6 / AS65202) y el backup eBGP (203.15.88.2 / AS64512) están Established con prefijos estables. El backup eBGP con 5.421 prefijos puede estar proporcionando conectividad parcial durante la incidencia del upstream principal.
📋 Próximos pasos — Solo lectura hasta ventana de cambio aprobada
📄 Comandos de evidencia — Solo lectura ejecutados y pendientes

Ejecutados (evidencia recopilada)

# Completados por NOC show bgp summary show bgp neighbors 185.76.42.1 show logging | include BGP|185.76.42.1 show bgp neighbors 185.76.42.1 advertised-routes show ip prefix-list UPSTREAM-IN show route-map UPSTREAM-IN-MAP

Pendientes (próxima iteración)

# Ejecutar en siguiente paso show processes cpu sorted ⚠ pendiente ping 185.76.42.1 source Lo0 ⚠ pendiente show bgp neighbors 185.76.42.1 | include hold|keep ⚠ pendiente show bgp neighbors 185.76.42.1 routes ⚠ pendiente show interface <iface-hacia-peer> ⚠ pendiente show tcp brief | include 185.76|179 ⚠ pendiente