Conexión a Mikrotik vía Radius

Para gestionar un Mikrotik por una o dos personas simplemente creamos un usuario en el router y ya podemos entrar, pero ¿qué pasa si tenemos 200 routers a los que acceder y accede un equipo de gente que puede ir cambiando? ¿tenemos que aprender 200 contraseñas diferentes y tenemos que crear los usuarios en cada router cada vez que entra un usuario nuevo? Obviamente no.

La respuesta a todo esto es usar Radius para la autenticación remota. Acceder por Radius nos va a permitir configurar los usuarios en un único lugar, un servidor Radius, y que gracias a esa configuración cada usuario podrá acceder a todos los routers, mucho más fácil y gestionable que ir configurando usuarios por todas partes y luego gestinar eso, que se vuelve inmanejable.

¿Para hacer esto qué vamos a necestar? pues un servidor radius y uno o muchos Mikrotiks. Obviamente aquí os voy a mostrar como hacerlo con Mikrotiks, pero se puede hacer con cualquier otra cosa que soporte Radius, que es la mayoría de cosas.

Servidores Radius hay muchísimos, pero para el ejemplo voy a utilizar Freeradius sobre una Ubuntu 16.04.02.

La instalación es tan sencilla como:

sudo apt-get install freeradius

Una vez instalado tendremos que añadir el cliente, es decir, el router que vamos a permitir conectarse al radius para autenticar en el fichero /etc/freeradius/clients.conf

client 192.168.91.214/32 {
	secret = password
	shortname = MikroTik
}

En este caso la IP 192.168.91.214, es la IP de mi router Mikrotik y la contraseña de autenticación es la palabra password. Esto simplemente indica que desde esa IP se pueden hacer peticiones.

Ahora configuraremos un usuario, eso lo haremos en el fichero /etc/freeradius/users con el siguiente contenido:

edu Cleartext-Password := "password"

Aquí le decimos que el usuario edu tiene de contraseña la palabra password

Con esto ya tendríamos la parte de Radius configurada para poder tener control de acceso a los routers, sin más, así de fácil.

Ahora en el mikrotik tendremos que configurar:

/radius
add address=192.168.91.213 secret=password service=login
/radius incoming
set accept=yes
/user aaa 
set use-radius=yes

Hemos hecho dos cosas, le hemos dicho que el servidor Radius es la IP 192.168.91.213 con contraseña password, esto tiene que coincidir con lo que hemos dicho en el servidor Radius en el fichero clients.conf. Y además le hemos dicho que ese servidor Radius se utilizará para login, es decir, para acceder al equipo.

Este último punto es interesante porque podemos tener un servidor radius de gestión, para acceder a los equipos y otro por ejemplo para pppoe o temas similares.

Y muy importante, le diremos que utilice Radius.

Radius va a funcionar siempre una vez que no haya funcionado la autenticación local.

Os dejo un pantallazo para que lo veáis en acción, no lo he comentado pero para poder ver lo que hace el servidor radius es con el comando sudo freeradius -X, si tenéis otra instancia de freeradius tendréis que matarla.

ACTUALIZACION: Si os ha interesado podéis escuchar el capítulo 37 del podcast.