VRF en Linux con BIRD para OSPF/BGP

VRF en Linux con BIRD para OSPF/BGP.

Desde hace mucho tiempo estoy jugando con BGP, inicialmente tenía BGP en pfSense, algo sencillo y con solo algunas rutas, eso fue en los tiempos de dn42.

En el 2016 encontré una comunidad de varios entusiastas de redes al nivel de Internet y pude conseguir un ASN registrado en RIPE.

Muchas cosas han cambiado desde esos días, he aprendido y experimentado, aprender es la razón de ser de aaNetworks. Lo complicado de mi red con direcciones IP Publicas y ASN es que localmente en mi casa no hay forma posible de tener una sesión BGP y publicar los prefijos desde ahí (imagínate que CLARO te permita hacer un túnel L2TP a un router con BGP!), dependo de VPS con Linux y BIRD.

Continuar leyendo «VRF en Linux con BIRD para OSPF/BGP»

RIPE Atlas – Estado actual en República Dominicana.

RIPE Atlas – Estado actual en República Dominicana.

Para los que no saben que es RIPE Atlas, es un Proyecto de RIPE NCC, su meta es colectar información de las conexiones a Internet usando un pequeño “probe” que se coloca en la red de un usuario, empresa o proveedor de Internet. Luego este probe realiza pruebas predefinidas para colectar valores como latencia, jitter y hasta pruebas de puertos, probar si DNS está respondiendo en servidores específicos.

No es un proyecto nuevo, los primeros registros se iniciaron en el 2010. Desde entonces existen países que han recibido esto como una herramienta para mejorar, pero lamentablemente otros no lo han hecho de esa manera debido al poco apoyo recibido. Tomaremos como ejemplo Republica Dominicana.

En nuestro país actualmente tenemos registrados 49 probes de los cuales solo 15 están conectados hoy [20/10/2019]. Si miramos detenidamente podremos ver que el primer probe en DO se conecto a la red de Atlas hace 4 años y 17 días y tiene 2 años desconectado.

¿Por qué pasa esto?

Mi opinión es que luego de recibir este pequeño aparato y conectarlo a la red, el usuario no siente que esta obteniendo un beneficio y en cualquier momento decide desconectarlo porque ya entiende que no lo necesita, lamentablemente esto también pasa en empresas, si miramos la lista de probes abandonados ahí muchos que al parecer fueron registrados por una empresa o proveedor y sufrieron la misma suerte.

¿Como podemos mejorar esto?

Tenemos que comprometernos a mejorar la infraestructura de Internet, hasta el menor esfuerzo como es hospedar un probe de RIPE Atlas aporta a mejorar Internet ya que permite que instituciones con áreas dedicadas al desarrollo usen esta plataforma para realizar pruebas de conectividad y entender mejor como cambian las redes de interconexión a través de los años.

¿Qué puedo hacer luego de tener un Probe?

Con RIPE Atlas tenemos que cumplir una condición para poder hacer uso de la plataforma, tenemos que acumular créditos, estos créditos se pueden conseguir dejando nuestro probe encendido y conectado a la red para que genere crédito a nuestro favor o recibiendo una donación de otro usuario. Luego que contamos con créditos podemos crear nuestras propias métricas.

Por ejemplo, hace un tiempo cree una métrica para medir la latencia desde Republica Dominicana a los DNS Resolver de CloudFlare.

En esta conjuración solicite 20 probes, todos de Republica Dominicana, actualmente están participando solo 9.

En la pestana de Latest Results podemos ver los últimos resultados de esta métrica.

En esta pestaña podemos apreciar la cantidad de RTT y HOPs utilizados por el probe para alcanzar a 1.0.0.1 que es uno de los DNS Open Resolver de CF. Lamentablemente uno de los probe está fuera de línea.

Otra pestaña de la cual podemos sacar ventaja es Tracemon.

Esta nos entrega un mapa con los saltos que hicieron los probe para llegar a su destino final, en cada punto podemos ver IP utilizada y ASN al cual pertenece esa IP.

Esto que acabo de mostrar aquí son de las configuraciones mas sencillas que se pueden crear en la plataforma, no soy ningún experto, pero sigo intentando sacarle partido a RIPE Atlas. Actualmente tengo dos probes corriendo, uno con mi ASN ( AS207036 ) y otro detrás del ASN de CLARO.

Para cerrar, si estas interesado en hospedar un probe de manera seria y con compromiso de tenerlo conectado, contáctame, actualmente estoy registrado como Embassador en Republica Dominicana, esto quiere decir que puedo asignar probes de algunos que tengo disponible.

AS207036 – Por qué y para qué?

AS207036 – Por qué y para qué?

El título de esta entrada tiene una razón de ser.

Porque existe AS207036 ?

Simple, leyendo RFC1925 encontraremos el siguiente párrafo:

The Twelve Networking Truths, Section 2.4:

Some things in life can never be fully appreciated nor understood unless experienced firsthand. Some things in networking can never be fully understood by someone who neither builds commercial networking equipment nor runs an operational network.

Operational Network:

https://aanetworks.org/

Esta es la diferencia entre correr routers en GNS3 y correr routers con un propósito, en los últimos años he operado AS207036 y cada día que pasa se vuelve parte esencial de mi red operacional, primero vamos a listar que hace AS207036.

1 – Anunciar vía BGP prefijos IPv4

2 – Anunciar vía BGP prefijos IPv6

https://bgp.he.net/AS207036

Hace unos días solicite que el CountryCode fuera cambiado de Germany (DE) a Dominican Republic (DO), ahora soy “The King of the Hill” …..

El LIR en RIPE que tengo es lo mejor!! https://asn.servperso.net/

Lo importante aquí es todo lo que puedo hacer usando esas direcciones IP de las cuales tengo total control y no dependo de NAT para tener servicios como servidores web (donde estas leyendo este post), VPN, email server y otros.

Y ya que en .DO aun no se brinda conectividad a Internet vía IPv6, tengo acceso a Internet usando direcciones IPv6.

Al final del día que he ganado con toda esta configuración y complejidad?

Experiencia!!!

LACNIC31 – dia 2

LACNIC31 – dia 2

¡Seguimos sacándole provecho a este evento!

El día de hoy ha sido completo de IPv6, hemos tenido un refresh de que es IPv6 y de planes de direccionamiento, una de las partes más interesantes fue de los mecanismos de transición disponibles actualmente, en esta sección vimos los pro y contras de algunos de estos y las recomendaciones.

Mecanismos de transición IPv6-only y IPv4aaS en redes fijas y móviles.

https://www.lacnic.net/innovaportal/file/3512/1/ipv6-only_v13.pdf

Si le pegamos una mirada a la presentación de Jordit Palet podremos ver varias comparaciones y recomendaciones para ayudarnos al momento de seleccionar unas de estas tecnologías.

Una cosa esta clara, NAT64 tiene demasiados temas pendientes.

Teniendo en cuenta todo lo bueno que se hablo de 464XLAN este parece ser el ganador indiscutible, no crean mucho de lo que escribo con relación a esta implementación ya que no la he usado y pretendo subir unos laboratorios relacionado a estos métodos de transición.

IPv6 en Cable

Otro tema discutido en el día de hoy fue con relación a despliegues en un operador de Cable, muchas de las decisiones realizadas en este despliegue se pueden extrapolar a una implementación de otro tipo, por ejemplo, una implementación Wireless teniendo en cuenta que se debe tener control de CPE y que este soporte CLAT o dual-stack en el mejor de los casos.

https://www.lacnic.net/innovaportal/file/3512/1/lacnic-31—tutorial-ipv6-en-redes-de-cable-v2.pdf

 

Demo con conexión a internet de Jool/464XLAT.

Para cerrar el día nos han presentado una herramienta desarrollada por NIC México la cual nos permite implementar una plataforma con mecanismo de transición de IPv4/IPv6 de una manera rápida y fácil.

Robándome un poco de la página oficial del proyecto:

Jool is an Open Source implementation of IPv4/IPv6 Translation on Linux. Until version 3.2.x, it used to be only a Stateful NAT64; starting from 3.3.0, it also supports SIIT mode.

Si miramos en las implementaciones de transición soportadas vemos que sobre sale:

RFC 6877 464XLAT Rather implemented as SIIT-DC-DTM; see below.

Realizamos varios laboratorios los cuales se pueden encontrar en la diapositiva publica de la sesión:

https://www.lacnic.net/innovaportal/file/3512/1/jool.lacnic.31.pdf

Voy a probar esta solución en mi ambiente de enrutamiento virtual basado en EVE-ng para entender mejor como esta plataforma encajaría en una red empresarial y las ventajas que nos brindaría.

IPv6 en la casa, al estilo Homelab!

Hablar de IPv6 es como tirarle piedras a la Luna. Estuve cerca??

nota: esto no es un tutorial, es solo una descripción del enredo al cual llamo “Conexión IPv6”.

Ahora en serio, no voy a decir que en .DO no se está haciendo nada, a nivel residencial y a nivel empresarial creo que menos. Pero en el ámbito educativo podemos ver a PUCMM como el número uno en .DO con relación a conectividad IPv6, creo que al menos el 70% de sus servicios son accesibles vía IPv6, y esto lo digo por el simple hecho de que he intentado usar esos servicios y responden.

Vamos al tema, ya que los proveedores no se han decidido a llevar IPv6 a las casas, tuve que salir a buscar IPv6 por mi cuenta. Ya desde hace años estaba jugando con el “nuevo” direccionamiento gracias a un túnel, TunnelBroker de Hurricane Electric para ser exacto. Y el problema con este era que mi dirección IPv4 en la casa no es fija y sé que tienen un método para poder establecer el túnel con direcciones dinámicas pero ya era un poco complicado simplemente mantener el túnel, además de esto se sumó que servicios como Netflix comenzaron a bloquear esas direcciones IPv6 de HE cuando detectaban que eran parte de TunnelBroker.

Después de un tiempo sin tener conectividad de IPv6 de juguete en la casa me topé con que podía hacerme de un numero autónomo (ASN) y de un IPv6 PA.

Let’s the game begins!!

 

Según HE, soy mi propio ISP.

 

Lo primero fue registrar una organización en RIPE:

Luego realizar el proceso necesario para la asignación de ASN, para esto tenemos que enviar copias de documentos personales al LIR.

 

En este punto ya tenemos el numero autónomo (ASN) que es el pilar de todo el proceso que realizaremos más adelante. Nos toca conseguir un /48 de IPv6 para poder anunciarlo, cualquier asignación más grande de 48 será filtrada por los proveedores de upstream, puede ser que tu peer directo la deje pasar pero es posible que sea filtrada más adelante y no llegue al DFZ de IPv6.

Yo adquirí un /44 con SnapServ del cual solo estoy anunciando un /48 por el momento.

https://www.snapserv.ch/pricing.html

 

Pasemos inventario:

Tenemos número autónomo.

Tenemos direcciones IPv6 para anunciar.

 

Ahora necesitamos routers donde realizar las configuraciones de lugar y que todo este enredo funcione!

En mi caso fue bastante fácil ya que tenía equipos haciendo BGP con otros routers desde hace tiempo gracias a DN42.net, inicialmente lo que hice fue detener el proceso Quagga(BGPd), editar el archivo de configuración y cambiar 64635 -> 207036, reiniciar el proceso y listo!

En caso de ser desde cero, lo primero sería instalar un motor de enrutamiento dinámico (en el caso que sea Linux el router) o habilitar/configurar esta funcionalidad en el router o router que planeemos usar.

Linux – he decidido usar Quagga por la similitud que tienen con el CLI de Cisco.

Mikrotik RouterOS – en la casa tengo varios de estos equipos que soportan BGP.

 

Como se conectan estos equipos y pueden establecer una sesión BGP?

VPN!

En mi caso particular al estar usando el mismo ASN en todos los nodos, estos deben tener la habilidad de alcanzarse mutuamente, quiere decir que deben estar en Mesh. La primera vez que intente esto lo hice usando OpenVPN, que desastre, tenía que establecer alrededor de 6 túneles en cada máquina con Debian. Buscando alternativas me encontré con Tinc, muy buen software con el que dure bastante tiempo en uso hasta que me topé con Zerotier.

https://www.zerotier.com/

Usando zerotier puedo tener una VPN tipo mesh. En otras palabras, mi VPN funciona como un Switch Layer 2. Todas las maquinas tienen un IP de la misma subred y así puedo hacer sesiones BGP entre ellas sin tener que conectarlas directamente.

 

Y así termine con direcciones IPv6 accesibles globalmente en los equipos de mi casa. Pensé que este artículo terminaría como un paso a paso pero me di cuenta de que este enredo es más complicado de lo que pensé. En los próximos días dividiré cada sección y si podre crear un paso a paso.