FRRouting

FRRouting es la evolución del Quagga que a su vez era la evolución de Zebra, un proyecto que ha ido evolucionando con los años y que a día de hoy es uno de los proyectos de routing más avanzados que hay, tanto en software libre como en privativo. Con FRRouting podemos hacer cosas que no podemos hacer en Cisco, aunque parezca raro.

FRRouting podéis instalarlo en cualquier distribución de linux o en sistemas BSD, aunque en sistemas BSD tiene alguna limitación, así que mejor en una distribución y si podéis elegir lo adecuado a día de hoy, finales de Junio de 2019 Debian 10, al menos esa es la distribución que he utilizado para hacer funcionar este software.

La instalación de FRRouting en comparación con Quagga se ha simplificado bastante y se nota todo el trabajo que ha habido detrás en este tiempo en el que Quagga parecía muerto.

Las mejoras que podréis encontrar son muchísimas, pero a nivel funcional además de un montón de características nuevas os vais a encontrar algo que nunca entenderé por qué razón no estaba soportado en Quagga y es hacer el match en un route-map por el tag, algo que en Cisco se hace desde hace muchísimo tiempo.

route-map preferido permit 10
  match tag preferido
  set local-preference 200
 !

Otra de las cosas chulas que tiene es el blackhole, que es como el de mikrotik, metes una ruta y la marcas como tipo blackhole, una maravilla, sobre todo para esos rangos que se configuran, pero que todavía no tienen elementos para evitar que vayan botando de router en router hasta que finalice el TTL.

andromeda(config)# ip route 1.1.1.1/32 
  A.B.C.D    IP gateway address
  INTERFACE  IP gateway interface name
     enp0s25 lo 
  blackhole  Silently discard pkts when matched
  reject     Emit an ICMP unreachable when matched
andromeda(config)# ip route 1.1.1.1/32 blackhole 

En Debian 10 (Buster) tenemos en los repositorios oficiales tanto Quagga como FRRouting, pero nosotros a partir de ahora vamos a preferir siempre FRRouting, para instalarlo símplemente:

sudo apt install frr

Como podéis ver no tiene mucho misterio.

Una vez instalado tenemos que editar el fichero de servicios /etc/frr/daemons donde indicaremos los servicios a ejecutar:

bgpd=yes
ospfd=yes
ospf6d=no
ripd=yes
ripngd=no
isisd=no
pimd=no
ldpd=no
nhrpd=no
eigrpd=no
babeld=no
sharpd=no
pbrd=no
bfdd=no

En mi caso como veis he habilitado bgp, ospf y rip, sólo para IPv4.

Una vez indicados los demonios a utilizar se procederá a reiniciar el servicio:

/etc/init.d/frr restart

Y ahora para entrar en el router simplemente con el comando:

vtysh

Por fin el vtysh funciona ya bien, y no tenemos los problemas que nos daba con Quagga en versiones anteriores, la verdad es que da gusto usarlo. Con FRRouting ya no tiene sentido el ir accediendo demonio por demonio como se hacía en el vetusto Zebra, ¿lo recordáis?

La verdad es que lo mejor que podéis hacer es bajaros el software y probarlo porque ya os digo que da gusto usarlo.

Foto de Brett Sayles de Pexels