hole

Rutas estáticas en routers frontera

En el mundo de las redes hay dos tipos de personas, los que les ha pasado esto que voy a contar y los que aún no les ha pasado, pero les pasará.

Vamos a suponer una red con su OSPF, si eres de alta alcurnia, su ISIS, una red con su BGP con sus filtros y por qué no con su eVPN y por supuesto a eso añadir todo lo que se os ocurra.

A alguien que haya podido montar todo eso se le presupone que sabe y mucho, realmente es totalmente cierto, uno no termina el CCNA y monta eso, hay que saber un poquito más.

Toda esta introducción es para contaros que además de haber estudiado y leído mucho en redes además hay que tener experiencia de perro viejo, algo de lo que realmente no hay que preocuparse porque llega con el tiempo, además, llega de una forma maravillosa, no hace falta estudiar, sólo estar ahí, ojalá todo fuera así.

Pues lo más sencillo, que es sentarte y aprender ciertas cosas de la vida, como el switchport trunk allowed vlan ADD, todas estas cosas llegan solas con el tiempo, pero tiene que pasar ese tiempo.

De vez en cuando te encuentras con gente que pasan de no saber nada o muy poco de redes a saber muchísimo más que tú en muy poco tiempo, en mi caso me ha pasado ya con dos personas de forma clarísima. Un día en un bar si queréis desarrollamos esta punto.

El tema es que hay gente que tienen una capacidad de aprender bestial y son capaces de aprender 10 veces más rápido que una persona normal, pero por suerte las putadas de la vida nos llegan a todos a la misma velocidad y a esas personas no les llegan 10 veces más rápidas, así que la segunda parte del aprendizaje, la que viene con el tiempo pues no van 10 veces más rápido, mucha experiencia la cogen de libros, pero quedan cosas por ahí colgando.

Esto es lo cuento porque a veces te encuentras con un administrador de redes de 25 años, a lo sumo, y que saben un montón, en el grupo de telegram del podcast hay unos cuantos con los que he coincidido con esas edades y eran auténticas bestias pardas, y otros que son bestias pardas pero que ya me pillan un poco de lejos porque no he compartido con ellos trabajo.

Yendo al grano, cualquiera de esas bestias pardas te va a levantar un ISP, te va a configurar el OSPF, te va a levantar el BGP, todo, pero a veces los más viejos del lugar tenemos alguna ventaja y es que ya hemos pasado por algo que ellos no, pero eso sólo sirve una vez.

Hay un tema que asusta mucho y eso que todos lo tenemos claro, pero claro, tocarlo en un router en producción es una historia. ¿Vosotros tocaríais o incluso borraríais la ruta por defecto en un router BGP por el que pasa todo vuestro tráfico?

Ya os digo yo que no, vosotros tenéis un router con una configuración de 15 o 20 páginas y de repente veis que hay tráfico que empieza a saltar de un router a otro como si eso fuera una pelota de ping pong.

¿Qué es lo primero que haríais? es probable que miraseis en la tabla de BGP ese prefijo y si os dice algo del estilo Network not in table diréis, claro, no está en BGP y entonces revisando la configuración os encontraréis algo del estilo:

ip route 0.0.0.0 0.0.0.0 null0 250

Ahí es donde empieza el mal rollo porque veis que la ruta por defecto no está funcionando porque el tráfico no se está hundiendo sino que sigue botando.

¿Por qué se va a hundir? Se va a hundir porque no hay prefijo BGP que incluya ese rango de forma específica, sí, hay rangos que no se anuncian por lo que sea, y al no haber una ruta más específica pues debería de ir por ese null0, pero no va.

Interesante, sigues mirando y ves que claro, hay un 0.0.0.0/0 que está en OSPF y tú sabes que OSPF tiene distancia administrativa 110 mientras que esa ruta estática a null0 tiene una distancia administrativa de 250 y aquí vamos a  mirar la distancia administrativa porque ambas rutas son exactamente igual de específicas.

Y te das cuenta que podrías quitar ese

ip route 0.0.0.0 0.0.0.0 null0 250

¿Qué haces? ¿Lo quitas? ¿Realmente vas a quitar la ruta por defecto del router?, la única que está escrita en la configuración, pues aquí es normal que entren dudas. Recordemos que todo el tráfico está pasando por ese router y eso es una ruta por defecto.

Además esa ruta por defecto bastante tenemos con entender que realmente lo único que hace es hacer que ese prefijo esté en el IGP, recordad el tema de la sincronización y de BGP.

Pues además de entender que esa ruta es sólo para que el prefijo esté en el IGP tenemos que saber también que realmente no pasa nada porque la estamos aprendiendo también por OSPF, así que si la borramos no pasa nada.

Ahora, volviendo al OSPF, el tráfico llega al router y el router tiene una ruta por defecto en OSPF (DA 110) y se lo manda a un switch, ese switch tiene otra ruta por defecto por otro router y así …. aquí está el ping pong.

Y para quitar el ping pong lo que podemos hacer es borrar la ruta estática con DA de 250 y meter una ruta por defecto normal y moliente:

no ip route 0.0.0.0 0.0.0.0 null0 250

ip route 0.0.0.0 0.0.0.0 null0

Ahora cuando el tráfico llegue al router ya no se lo va a pasar el nexthop de OSPF pues tiene una ruta estática con DA de 1 y OSPF es DA de 110, así que preferirá DA 1.

Esto que os he contado es algo muy obvio, pero esto en medio de una incidencia es horrible y esto es algo que superarás fácilmente si ya te ha pasado o si alguien te lo ha contado, pero si te enfrentas la primera vez es es muy muy complicado de salir.

En el caso que nos ocupa la persona en cuestión consiguió salir sin modificar la ruta estática utilizando filtros de BGP, una genialidad que mi no se me habría ocurrido, realmente esta persona pudo suplir perfectamente el no ser zorro viejo con unos conocimentos de BGP que hacen que te vuele la cabeza.

El tema es que los mortales tenemos que sabernos estas cosas porque ya os digo yo que a parir esos filtros esos no llegamos el 99% ni de broma.

Actualización: Me pasa RPM un enlace de cisco relacionado con lo que hemos hablado hoy aquí y me parece interesante compartirlo con vosotros.

https://www.cisco.com/c/en/us/support/docs/ip/ip-routed-protocols/14956-route-to-null-interface.html