BGP en CABASE

Información asociada a BGP de CABASE

Comunidades utilizadas en CABASE

Comunidades:

Dentro de la red de CABASE se utilizan 2 tipos de comunidades BGP :
Comunidades Informativas : Utilizada actualmente por Netflix para habilitación de tráfico (40027-40000)

Comunidades extendidas : Utilizadas para filtrado de tráfico.

Las siguientes son las comunidades extendidas utilizadas en el ruteo BGP por CABASE para evitar el tráfico de determinados Sistema Autonomo.

Para evitar recibir tráfico de una se utilizaría la siguiente norma :

Filtrado de trafico proveniente de Ruteo Central (RCN):

RT ASNdeRCN:ASNaFiltrar

Filtrado de trafico provieniente de un IXP

RT ASNdeIXP:ASNaFiltrar

Listado de comunidades más utilizadas para filtrar (CDNs):

RT 52376:15169 Google peering
RT 52376:11344 Google cache
RT 52376:2906 Netflix POP
RT 52376:20940 Akamai

Los ASNs de las CDNS serian:

RT 52376:16509 AWS
RT 52376:8075 MSC
RT 52376:15169 Google
RT 52376:20940 Akamai
RT 52376:32934 Facebook
RT 52376:13335 Cloudflare

Comunidad para no publicar en HE (Hurricane Electric):

RT 52376:6939 (Comunidad extendida HE)

Comunidad para no publicar en Edgeuno :

RT 52376:7195 (Comunidad extendida Edgeuno)

Comunidad para no publicar a Silica Networks:

RT:52376:7049 (Comunidad extendida Silica Networks)

Comunidad para no publicar a Carriers y tier1

52376:0 (Comunidad)

RT 52376:0 (Comunidad extendida)

Filtrado de anuncio

La norma es: RT ASNdeRCN:ASNaFiltrar
Caches locales: RT ASNdeNAP:ASNaFiltrar

RT 52376:666   anuncia la red a enviar la Blackhole . Se acepta /24 y /32 (Por otra logintud de mascara, solicitarlo a RCN).

Fuente de consulta :

 Comunidades en CABASE

Fuentes de conocimieto de BGP

version: 20240228

Presentación Cisco Tecnicas BGP ISP/IXPs

Ingles:https://ftp.registro.br/pub/gter/gter30/TutorialBGP/2%20-%20Scaling%20BGP.pdf

Español: https://www.lacnic.net/innovaportal/file/3900/1/bgp-panama-lacnic32.pdf

 

Recomendaciones de Ruteo en CABASE

Version: 20240109

Recomendaciones para tomar el mayor tráfico por CABASE

Para lograr obtener el mayor tráfico por CABASE se tienen que seguir los siguientes lineamientos :

Configuraciones de BGP

Este capitulo contiene ejemplos de configuración BGP

Configuraciones de BGP

Blackhole en Mikrotik ROS v7

Configuración de Blackhole en Mikrotik ROS v7

La siguiente es una configuración para el mecanismo de blackhole de bgp en RouterOS v7 y teniendo 2 objetivos:

Publicar una IP nuestra que está siendo atacada.

Cabase soporte que se publiquen 2 tipos de prefijos en blackhole "/32" y "/24", por lo tanto lo que hacemos primero es publicar en nuesto router en la tabla de ruteo principal el IP o red a bloquear y que sea del tipo blackhole. 

Dir_ip_host : Dirección ip tipo x.x.x.x de nuestro host que está siendo atacado.

Dir_ip_net : Dirección ip tipo x.x.x.x de nuestra red /24 que está siendo atacada.

/ip route add blackhole disabled=no dst-address=Dir_ip_host/32

/ip route add blackhole disabled=no dst-address=Dir_ip_net/24

Definimos las propiedades de la comunidad blackhole

Ya con las rutas publicadas de forma estática en nuesta tabla de ruteo, podemos anunciarlas por BGP a nuestros peers como blackhole. Para esto vamos a definir la comunidad blackhole

/routing filter community-list add communities=52376:666 disabled=no list=CABASE-Blackhole

Creamos el filtro para ser aplicado a los anuncios de nuestro BGP

El paso siguiente es realizar una regla que aplicaremos a los anuncios de nuestro BGP teniendo en cosideración que :

/routing filter rule add chain=CABASE-Anuncio disabled=no rule="if ( blackhole && (dst-len == 32 || dst-len == 24 )) { append bgp-communities CABASE-Blackhole }"

Nota: En ROS v7 es mas facil realizar los filtros desde CLI ya que tiene la herramienta de autocompletado que es de ayuda en la edición.

Aplicamos el filtro a los anuncios de nuestro BGP

El siguiente paso es impactar la configuración en nuestra configuración de BGP teniendo en cuenta las siguiente variables que adaptan la configuración BGP:

as_local : Número de mi sistema autonomo

as_remoto : Número de sistema autonomo con el que realizo la conexión BGP (SA del IXP)

Nom_Template : Nombre que le asigno al template de configuración

Nom_BGP : Nombre de le asigno a la sesión de BGP

IP_remoto : Dirección IP contra la cual establezco la conexión BGP (IP del router del IXP).

Router-ID : Utilización de IP local para la id de router.

/routing bgp template add as=as_local disabled=no name=Nom_Template

/routing bgp connection add as=as_local disabled=no local.role=ebgp name=Nom_BGP output.filter-chain=CABASE-Anuncio .redistribute=connected,static remote.address=IP_remoto .as=as_remoto router-id=Router-ID routing-table=main templates=Nom_Template

Es importante aclarar que estoy anunciando las redes que tengo conectadas y las rutas que he incorporado de forma estática ".redistribute=connected,static".

Ya configurado el mecanismo de blackhole y los anunción por BGP, solo queda incorporar los ips de hosts o redes que estan siendo atacadas como definimos en "Publicar una IP nuestra que está siendo atacada". Cuando consideremos que el ataque ha cesado, la eliminamos de la tabla de ruteo y automaticamente el el BGP la dejará de anunciar esa ruta con la comunidad blackhole permitiendo nuevamente la conectividad con el hosto o red.

Configurando nuestro router para filtrado de anuncios tipo blackhole

No menos importante que el paso anterior es el de configurar que nuestro router realice el filtrado de una ruta tipo blackhole, ya que uno de de nuestros IPs puede ser que esté atacando a la ruta (host o red) que recibimos como tipo blackhole.

Teniendo en consideración que ya está definida la comunidad blackhole para CABASE como realizamos en el paso "Definimos las propiedades de la comunidad blackhole".

Definimos el filtro de las rutas que recibimos por BGP

En nuestro router definimos que las rutas que recibimos con la comunidad blackhole de cabase la debemos incorporar a la tabla principal de ruto como tipo blackhole(null o descartar paquetes a ese destino). El siguiente filtro configura cualquier ruta que venga con la comunidad seteada "*:666"

/routing filter rule add chain=CABASE-Recibo disabled=no rule="if ( ( not bgp-communities-empty && bgp-communities any-regexp :666$ ) && (dst-len == 32 || dst-len == 24 )) { set blackhole yes }"

Aplicamos el filtro a las rutas que recibimos en nuestro BGP

El siguiente paso es impactar los filtros en nuestra configuración de BGP teniendo en cuenta las siguiente variables que adaptan la configuración BGP y la configuración del filtro de anuncio realizado anteriormente:

as_local : Número de mi sistema autonomo

as_remoto : Número de sistema autonomo con el que realizo la conexión BGP (SA del IXP)

Nom_Template : Nombre que le asigno al template de configuración

Nom_BGP : Nombre de le asigno a la sesión de BGP

IP_remoto : Dirección IP contra la cual establezco la conexión BGP (IP del router del IXP).

Router-ID : Utilización de IP local para la id de router.

/routing bgp template add as=as_local disabled=no name=Nom_Template

/routing bgp connection add as=as_local disabled=no input.filter=CABASE-Recibo local.role=ebgp name=Nom_BGP output.filter-chain=CABASE-Anuncio .redistribute=connected,static remote.address=IP_remoto .as=as_remoto router-id=Router-ID routing-table=main templates=Nom_Template