BGP sobre IPsec PA a Meraki
Contenido complementario
Este tema no está en las notas de mis cursos; está armado con la documentación oficial de Meraki y de Palo Alto (consultadas en octubre de 2026) y mis notas de BGP. IPs y AS son de ejemplo. 🔎 Verificar = no confirmado; los comandos de BGP dependen del motor de routing de tu PAN-OS.
Pendiente: validar en el lab
Este contenido no salió de mis clases. Probar estos comandos y pasos en el laboratorio antes de usarlos en un trabajo real, y corregir lo que difiera en mi versión.
Resumen
En vez de listar subredes en los dos lados, se levanta un túnel IPsec route-based y dentro de él una sesión eBGP entre el MX y el Palo Alto. Cada lado anuncia sus redes y aprende las del otro, así que agregar una subred es un cambio de un solo equipo. Además es la forma de que los spokes de Auto VPN alcancen al Palo Alto. Combina lo que ya sabes de Dynamic Routing, ECMP y PBF y de tus notas de BGP con lo nuevo de BGP sobre IPsec en Meraki.
Requisitos previos
- Haber leído IPsec PA a Meraki (IKEv2 y route-based), BGP sobre IPsec en Meraki y Dynamic Routing, ECMP y PBF
- IKEv2 y MX ≥ 19.1.4 (con 19.1 el vecino requiere multihop; desde 19.2 ya no)
- Una subred /30 para el túnel (ejemplo
10.255.0.0/30: PA10.255.0.1, MX10.255.0.2) - AS privados distintos: PA
65002, MX65001 - Túnel IPsec funcionando antes de tocar BGP: BGP no sube si el túnel está caído
Topología
graph LR LANM["LAN Meraki<br/>192.168.50.0/24"] --- MX["MX AS 65001<br/>10.255.0.2/30"] MX == "IPsec IKEv2" === PA["PA AS 65002<br/>tunnel.1 10.255.0.1/30"] PA --- LANP["LAN PA<br/>10.10.0.0/24"] SP["Spokes Auto VPN"] --- MX
Qué debe coincidir
| Parámetro | Palo Alto | Meraki |
|---|---|---|
| IP del túnel | IP en tunnel.X (/30) | BGP source IP (MX) y BGP neighbor IP (PA), en el mismo /30 |
| AS | AS local del virtual router | Remote AS |
| Router ID | Router ID del virtual router | (automático) |
| Multihop | Peer → Multi Hop (TTL, 0–255). El valor por defecto 0 significa TTL 1 en eBGP, suficiente para un vecino en la /30 del túnel. Súbelo a 2 si el MX 19.1 lo exige | Multihop obligatorio en el vecino con MX 19.1; ya no con 19.2 |
| Hold time | PAN-OS: Hold 90 s / Keepalive 30 s por defecto | 240 s por defecto; se negocia y ambos usan el menor |
| Puerto | TCP 179 permitido por la Security Policy | TCP 179 en las reglas site-to-site de salida |
Configuración (Ejemplo)
1. Tunnel Interface con IP
Network > Interfaces > Tunnel > tunnel.1 → zona vpn, virtual router default, IPv4 10.255.0.1/30.
2. IKE Gateway e IPsec Tunnel
Como en IPsec PA a Meraki (IKEv2 y route-based) (variante C): IKEv2 only, IDs fijados, NAT-T si hace falta, Tunnel Interface tunnel.1. Sin Proxy IDs.
3. BGP en el virtual router (motor clásico)
Network > Virtual Routers > default > BGP:
- Enable, Router ID, AS
65002. - Peer Group
MERAKI, tipo EBGP. - Peer
MX-01: Peer AS65001, Local Address → interfaztunnel.1, IP10.255.0.1/30; Peer Address10.255.0.2. - Advanced del peer: Multi Hop (si el MX es 19.1.x); Hold Time / Keepalive si quieres igualarlos.
- Exportación de rutas: Redistribution Rules/Export para anunciar
10.10.0.0/24(y lo que corresponda). Aplica filtros: no anuncies más de lo necesario (ver tus notas de filtrado y route-maps). - Commit.
Motor de routing
PAN-OS tiene el motor clásico (Virtual Routers) y el Advanced Routing Engine (Network → Routing → Logical Routers). Las pantallas y los comandos de BGP difieren. Con el Advanced Routing Engine: Logical Router → BGP → General (Router ID y AS local), Peer Group (tipo EBGP, Multi Hop), Peer (AS del peer, Local Address en la interfaz del túnel, Peer Address), y los prefijos se anuncian en la sección Network o con un Redistribution profile. Comprueba cuál usa tu firewall antes de seguir los menús.
4. Meraki
En el peer: Routing = Dynamic (BGP), IPsec subnet 10.255.0.0/30, BGP source IP 10.255.0.2, BGP neighbor IP 10.255.0.1, Remote AS 65002, Network = la red SD-WAN. Detalles en BGP sobre IPsec en Meraki.
5. Política de seguridad
- Regla para el BGP hacia el propio firewall: aplicación
bgp, zonavpn→ zonavpn(el tráfico a la IP del propiotunnel.1). Si prefieres no depender del intrazone-default, créala explícita. 🔎 Verificar. - Reglas
inside↔vpnpara las subredes de datos. - NAT: sin NAT para el tráfico hacia las redes remotas (ver Source NAT).
6. Comandos de verificación según el motor
Motor clásico:
show routing protocol bgp summary
show routing protocol bgp peer
show routing protocol bgp loc-rib
show routing protocol bgp rib-out
show routing route type bgp
Advanced Routing Engine (CLI cheat sheet de PAN-OS 10.2; confirma la sintaxis en tu versión con Tab o ?):
show advanced-routing bgp summary logical-router <nombre>
show advanced-routing bgp peer status peer-name <peer> logical-router <nombre>
show advanced-routing bgp peer detail peer-name <peer> logical-router <nombre>
show advanced-routing bgp peer received-routes peer-name <peer> afi ipv4 logical-router <nombre>
show advanced-routing bgp peer advertised-routes peer-name <peer> afi ipv4 logical-router <nombre>
Verificación
| Comando o lugar | Qué debes ver | Si no lo ves |
|---|---|---|
show routing protocol bgp summary (o show advanced-routing bgp summary) | Peer Established y prefijos recibidos > 0 | Ver Errores comunes |
show routing protocol bgp rib-out (o peer advertised-routes) | 10.10.0.0/24 anunciada al MX | Revisa la exportación/redistribución |
show routing route type bgp | Las subredes del MX por tunnel.1 | El MX no las anuncia (VPN mode) |
| Meraki: Dynamic Protocol Status y Route table | Vecino arriba y 10.10.0.0/24 aprendida | BGP sobre IPsec en Meraki |
| Ping de extremo a extremo en ambos sentidos | Responde | Políticas o NAT |
Errores comunes
El túnel está arriba pero BGP se queda en Connect/Active
- Causa: TCP 179 bloqueado por Security Policy o por reglas deny del MX; /30 mal puesto; AS remoto incorrecto; falta multihop con 19.1.
- Solución: corrige el dato y revisa la regla
bgp.
BGP establece y no llega ninguna ruta
- Causa: falta la regla de exportación en el PA, o las subredes del MX no están con VPN mode Enabled, o un filtro las bloquea.
- Solución: revisa
rib-out/advertised-routesy la configuración del MX.
Los peers se quedan en Idle, Connect o Active con el Advanced Routing Engine
- Causa: un artículo de Palo Alto describe un error en PAN-OS 10.2 y 11.0 con ese motor.
- Solución: actualiza a 10.2.5 o superior, 11.0.2 o superior, u 11.1.0 o superior antes de seguir depurando.
Hay rutas pero no tráfico
- Causa: Security Policy o NAT sin excepción.
- Solución: ver Troubleshooting IPsec PA a Meraki.
Los spokes de Auto VPN no ven al PA
- Causa: el PA no anuncia sus redes o el MX no las re-anuncia al dominio.
- Solución: revisa la tabla de rutas del hub.
El túnel cae y el failover tarda
- Causa: el hold time de la sesión BGP (el menor de ambos lados) define cuánto tarda en detectarse.
- Solución: baja los timers con cuidado o evalúa BFD en el PA. 🔎 Verificar si el MX lo soporta con peers no-Meraki.
Quiero usarlo en una red con plantilla de Meraki
- Causa: BGP no está soportado en redes de plantilla.
- Solución: usa una red sin plantilla.