BGP en Mikrotik

BGP con Mikrotik

Para los viejos del lugar el BGP es un gran conocido, pero en Cisco, no en Mikrotik.

Los equipos Mikrotik están muy bien, son equipos muy flexibles y baratos, pero no nos engañemos, no son unos Ciscos, aunque nos puedan hacer el servicio perfectamente.

El problema principal de Mikrotik con BGP es que, hasta el día de hoy, la versión 6, el BGP es monocore, así que si compramos unos routers Mikrotik con un porrón de cores, los hay de hasta 72 cores, sólo vamos a usar 1 para BGP y esto es una limitación enorme.

Otra limitación es que, de momento, no soportan rpki.

La configuración de BGP en Mikrotik es realmente cómoda, al menos la configuración básica. Configuras el AS, el peer y los filtros, que levante es fácil, ahora, que haga lo que queremos ya nos va a requerir luchar con los filtros y eso ya no es fácil, que si communities que si expresiones regulares, que si blackholes, en fin una historia de la que ya he hablado alguna vez en este podcast.

Configuración de BGP

Para configurar BGP en Mikrotik tendremos que hacerlo en:

/routing/bgp

y en

/routing/filter

En /routing/bgp configuraremos por un lado la instancia, donde definiremos nuestro AS, el router-id y le diremos si ese router es un cliente de route-reflector o no para el tema del mallado de BGP, de esto también hablamos en el capítulo sobre bgp.

Luego en /routing/peer definiremos los peers y es aquí donde es importante no volverse loco a configurar peers, por ejemplo si es un router de un punto neutro, si levantamos demasiadas sesiones BGP en routerOS 6 tardará en levantar muchísimo tiempo por el problema del monocore que hemos comentado antes.

En esta parte configuraremos el AS del peer, ya sabéis si es diferente al nuestro será eBGP y si es igual será iBGP. También definiremos si es route-reflector, le podemos poner una contraseña para autenticar el peer, le pondremos si queremos el default-originate y lo más importante, le nombre del filtro que vamos a usar.

Filtros

En BGP el tema de los filtros es fundamental pues vamos a indicar qué prefijos vamos a anunciar y qué prefijos vamos a permitir recibir.

Por ejemplo, nosotros podemos anunciar sólo los prefijos que nos anuncie un cliente, pero no aquellos a los que nuestro cliente haga de transito, esto se hará con expresiones regulares. Esto lo haremos indicando que el ASPath sólo contendrá el AS de nuestro cliente.

Podemos filtrar todo aquello que sea menor que un /24 en entrada también o podemos usar los filtros para insertar communities en nuestros prefijos o para hacer algo en función de la community que tenga.

Podemos incluir prepends, o modificar cualquiera de los atributos de BGP que va a permitir modificar de una manera o de otra la elección del path para la ruta. Pero esto es BGP no algo específico de Mikrotik.

CiscoMikrotik
show ip bgp summaryrouting bgp peer print brief
show ip bgp neighborrouting bgp peer print status
show ip bgp neighbor 1.1.1.1 advertised-routesrouting bgp advertisements print peer=peer_name
show ip bgp neighbor 1.1.1.1 received-routesip route print where received-from=peer_name
show ip route bgpip route print where bgp=yes
comparativa de comandos entre cisco y mikrotik