Ciencias Informáticas/Informative Sciences
Cienc Tecn UTEQ (2020) 13(1) p 89-96
ISSN 1390-4051; e-ISSN 1390-4043
FNCS: Propuesta de una plataforma de gestión de dispositivos de red basados en RouterOS
FNCS: Proposal of a Platform for the management of network devices based on RouterOS
Núñez-Agurto Daniel1, Benavides-Astudillo Eduardo1, Salazar Armijos Diego Ricardo1, Milton Temístocles Andrade Salazar1
1Universidad de las Fuerzas Armadas ESPE, adnunez1@espe.edu.ec, debenavides@espe.edu.ec
Rec.: 19.03.2019. Acept.: 21.1.2019.
Publicado el 30 de juio de 2020
Resumen
Abstract
n las organizaciones, contar con la disponibilidad de
n organizations, having the availability of network
E
los servicios de red inalámbrica es imprescindible.
I
services is essential. However, this availability is
Sin embargo, esta disponibilidad se ve afectada debido
affected mainly due to two factors: the need for an
principalmente a dos factores: la necesidad de un experto
expert in the configuration of the equipment and the
en la configuración de los equipos y al desplazamiento
movement of this expert to the site, so that it configures
de dicho experto al sitio, para que este configure cada
each of the devices that need such configuration. On the
uno de los equipos que necesitan dicha configuración.
other hand, Mirotik has an Operating System (OS) for
Por otra parte, la empresa Mirotik dispone de un Sistema
Routerboard equipment, called RouterOS (RouterBoard
Operativo (SO) para equipos Routerboard, denominado
Operating System). This OS supports communication
RouterOS
(RouterBoard Operating System). Este
through the protocols telnet, ssh, but the applications
SO soporta la comunicación mediante los protocolos
that use these protocols generally do not have a
telnet, ssh, pero las aplicaciones que utilizan estos
graphical interface, there are also proprietary graphic
protocolos por lo general no tienen una interfaz gráfica,
tools such as winbox and webfig to configure these
además existen herramientas propietarias gráficas como
devices, but this brings with it other problems such as:
winbox y webfig para configurar estos equipos, pero
manual configuration of device in device, greater use
esto trae consigo otro tipo de problemas como son:
of the CPU of the devices, and consumption of more
configuración manual de equipo en equipo, mayor uso
bandwidth to manage them. To solve these problems,
del CPU de los dispositivos, y consumo de más ancho
has been developed an application with web interface,
de banda para poder gestionarlos. Para solucionar
called Fast Network Config System (FNCS), which
estos problemas, ha sido desarrollado una aplicación
allows to manage and configure graphically, remotely
con interfaz web, denominada Fast Network Config
and centrally the devices with RouterOS, much more
System (FNCS), la cual permite gestionar y configurar
efficiently than the solutions available. To develop the
de forma gráfica, remota y centralizada los dispositivos
application, we took advantage of the API-Mikrotik
con RouterOS, de manera mucho más eficiente que las
that is integrated in RouterOS. Subsequently, the speed
soluciones disponibles. Para desarrollar la aplicación,
was compared in the configuration of the proposed tool
se aprovechó la API-Mikrotik que está integrada en
FNCS versus winbox and ssh, and it was found that the
RouterOS. Posteriormente, se comparó la velocidad
solution FNCS is up to 200 times faster.
en la configuración de la herramienta propuesta FNCS
versus Winbox y ssh, y se comprobó que la solución
keywords: Mikrotik, RouterOS, API-Mikrotik,
FNCS es hasta 200 veces más rápida.
virtualization.
Palabras clave: Mikrotik, RouterOS, API-Mikrotik,
virtualización.
89
Nuñez et al., 2020
Introducción
se ha organizado de la siguiente manera: En la Sección
2, se explica la metodología, en la Sección 3 se realiza
n las organizaciones, contar con la disponibilidad
una descripción de la aplicación y su funcionamiento
E
de los servicios de red es de suma importancia,
después de haberla probado en un entorno virtual, en
esto implica que las organizaciones destinen gran parte
la Sección 4, se muestran los resultados de rendimiento
del personal de tecnologías de la información (TI) a
del sistema analizados por los autores y finalmente, en
resolver problemas de infraestructura, sobre todo a
la Sección 5 se exponen las conclusiones del trabajo, así
nivel de acceso. El personal que se dedica a este tipo
como trabajos futuros.
de soporte, debe tener un alto grado de habilidades
En cuanto a trabajos relacionados con la gestión de
en la gestión de dispositivos de red. En la mayoría de
dispositivos con RouterOS, podemos mencionar que
los casos, las configuraciones se vuelven complejas,
He & Cao (2010) proponen la implementación de un
debido a la cantidad de instrucciones que se ejecutan
servidor PPPoE basado en RouterOS, abandonando las
en los dispositivos, provocando que en ocasiones se
vias convencionales para construir de alto rendimiento,
cometan errores en las configuraciones y, por lo tanto,
así como la dependencia del router con hardware de
el detectarlos y corregirlos puede llevar más tiempo que
gama alta, pudiendo ser implementadas en grandes
la misma configuración.
y medianas empresas. En el trabajo de los autores
La empresa Mikrotik, ha desarrollado una placa
(Cheng, Wu, Routeros, Security, & Virus, 2010), se
base llamada Routerboard, esta placa base permite
hacen pruebas implementando PPPoE (Point-to-Point
desarrollar diferentes equipos routers, access point
Protocol over Ethernet) sobre RouterOS, con el objetivo
(AP), switchs con la integración interfaces ethernet y
de controlar los problemas de seguridad inmersos en
wireless, ademas integra RouterOS (Mikrotik, 2015).
las gestión de la red, la implementación la realizan el
Existen herramientas desarrolladas por la empresa
campus del Instituto de Huangshi.
mikrotik y herramientas tradicionales, que permiten
Cueva, Pozo, & Iturralde
(2017) desarrollan e
la configuración de equipos con RouterOS. Entre las
implementan un programa multiplataforma, llamado
herramientas propietarias tenemos winbox, que tiene
ENDS (Easy Network Designer Software), que permite
una interfaz sencilla para realizar la administración y
realizar la virtualización de la red y la configuración
webfig, una herramienta basada en la web, por lo tanto,
remota de los parámetros básicos del equipo MikroTik
no necesita ninguna instalación
(Mikrotik,
2018a).
con RouterOS, a través de una interfaz gráfica. El
Existen otras herramientas tradicionales que RouterOS
software fue escrito en Java y utiliza una base de datos
admite en su configuración como telnet y ssh, pero que
MySQL donde se guardan los proyectos.
no tienen una interfaz gráfica para realizar la gestión
Por su parte, Dolnák & Litvik (2016), realizan
de su SO (Galbraith, Dyke, & Bright, 2007). Si bien
pruebas complejas de conmutación por error y balanceo
las herramientas propietarias permiten la configuración
de carga en routers MikroTik con RouterOS, basados
visual de los dispositivos, esto trae consigo otro tipo de
en estándares y utilizando la tecnología OpenVPN.
problemas como son: configuración manual de equipo
Iswadi, Adriman, & Munadi (2019) se centran en los
en equipo, mayor uso del CPU de los dispositivos, y
algoritmos de gestión de ancho de banda PCQ - HTB
más capacidad de ancho de banda para gestionarlos
de conmutación adaptativa con RouterOS y analizan
remotamente. Sin embargo, RouterOS ofrece una
las debilidades y ventajas de estos dos algoritmos, para
alternativa que permite desarrollar aplicaciones a
proponer mecanismos de conmutación adaptativos, con
medida del usuario para su administración y control; la
el propósito de organizar el uso del ancho de banda.
cual se conoce como API-Mikrotik (Mikrotik, 2018b).
Esta alternativa, permite que las organizaciones integren
Materiales y métodos
aplicaciones a medida, como un módulo adicional en
sus aplicaciones en la mesa de soporte.
Sistema operativo RouterOS
El principal objetivo del presente trabajo es agilizar
Una de las características importantes de RouterOS,
la gestión de dispositivos RouterOS, mediante el diseño
es que permite virtualizar una PC como si fuese un
e implementación de una aplicación, que permita la
router, es decir con todas sus características; firewall,
gestión centralizada de dispositivos, aprovechando
access point, bandwidth managment, hotspot Gateway
la capacidad de su comunicación a través de la API-
y servidor VPN. Además, dispone de algunos puertos
Mikrotik
(Application Programmable Interface). La
y protocolos, que son utilizados por determinados
aplicación desarrollada se denominada FNCS (Network
servicios. En el Cuadro 1 se observa el listado de los
Config System), y permite realizar la configuración y
servicios con sus respectivos puertos y protocolos
auditoria de dispositivos basados en RouterOS de forma
(Mikrotik, 2018c).
gráfica, remota y centralizada. El resto de este documento
90
Ciencia y Tecnología. 2020. 13(1):89-96
FNCS: Propuesta de una plataforma de gestión de dispositivos de red basados en RouterOS
Cuadro 1. Servicios RouterOS
defecto, este servicio se encuentra deshabilitado
Nombre
Puerto
dentro de la configuración, el puerto que utiliza para
establecer la comunicación es el tcp 8798. El protocolo
telnet
23
de comunicación que utiliza la API, debe contener el
ftp
21
comando como una primera palabra seguida de palabras
www
80
sin ningún orden en particular, el final de la oración
ssh
22
debe estar marcada por una palabra de longitud cero,
de manera que, cuando el dispositivo recibe la sentencia
www-ssl
443
completa, esta es evaluada y ejecutada, después se
api
8728
forma y envía una respuesta. En el Cuadro 2, podemos
WinBox
8291
observar codificación de palabras según el protocolo
descrito (Mikrotik, 2018a).
De los servicios disponibles para la administración de
RouterOS, se escogió la API. Esto, debido a que permite
Funcionamiento de la aplicación
desarrollar aplicaciones a medida, y sobre todo, porque se
La aplicación instalada en un servidor web,
pueden integrar al software de la mesa de soporte.
permite que los usuarios se conecten remotamente
con sus respectivas credenciales y puedan acceder
Infraestructura de virtualización
a las diferentes funcionalidades de la aplicación:
Los objetos que componen la infraestructura de
administración, configuración de nuevos dispositivos
virtualización, son los servidores y las estaciones de
en la red, auditoria de la configuración y estado de los
trabajo que se implementan en forma de máquinas
equipos.
virtuales y en las que posteriormente se instalan SO
Para gestionar un dispositivo de la red, se debe
(Fomin, 2017). De manera general se puede indicar que,
ingresar en la base de datos de la aplicación, la
para desarrollar cualquier trabajo práctico o para llevar
información: nombre, ubicación, ip-wan, subred-lan.
a cabo un experimento, es recomendable realizarlo bajo
Luego, cuando la información se encuentre en la base de
un ambiente controlado, es decir con un sistema de
datos, podremos ejecutar la configuración, validación y
virtualización.
auditoria de los dispositivos. Con esta información, se
En Horalek, Matyska, & Sobeslav,
2013, se
estructuran los comandos necesarios para ser enviados
recomienda utilizar un entorno con VirtualBox si el
mediante la conexión API. En la Figura 1 se muestra
propósito es migrar a otro entorno de host, además,
el entorno de red virtual y el servidor web en el que
VirtualBox en su versión open source dispone de
está alojada la aplicación FNCS. Además, por medio del
características para desplegar un entorno virtual sobre
entorno virtual, se pueden simular varios dispositivos
anfitrión. Las principales características que tiene Virtual
con RouterOS.
Box son: clonación de sistemas operativos, permite
ejecutar múltiples sistemas operativos simultáneamente.
Arquitectura de la aplicación
Estas características resultan útiles para la instalación
Al momento de realizar la aplicación FNCS se
del sistema operativo RouterOS y desarrollar el entorno
diseñaron dos elementos: El primer elemento es la
de experimentación que se busca (ORACLE, 2018).
aplicación web, encargada de registrar y gestionar la
información en la base de datos. El segundo elemento
API Mikrotik
es la aplicación web que interactúa mediante la API-
La API-MikroTik permite desarrollar aplicaciones
Mikrotik con los dispositivos de red.
para comunicarse con RouterOS con el propósito
de: recopilar información, ajustar la configuración
En la Figura 2 se puede observar la arquitectura de
y administrar los equipos que tengan este SO. Por
la aplicación desarrollada. Para gestionar la conexión
Cuadro 2. Codificación de palabras en la API Mikrotik
Value of length
#of bytes
Encoding
0 <= len <= 0x7F
1
len, lowest byte
0x80 <= len <= 0x3FFF
2
len | 0x8000, two lower bytes
0x4000 <= len <= 0x1FFFFF
3
len | 0xC00000, three lower bytes
0x200000 len <= 0xFFFFFFF
4
len | 0xE0000000
len >= 0x10000000
5
0xF0 and len as four bytes
Ciencia y Tecnología. 2020. 13(1):89-96
91
Nuñez et al., 2020
Figura 1. Entorno de red virtual
MySQL. El tiempo estimado para el desarrollo de este
estudio fue de tres meses, divididos en tres fases: La
primera fase, consistió en analizar el funcionamiento de la
API-Mikrotik y como interactuar con los dispositivos en
un entorno virtual con RouterOS, la segunda fase radicó en
realizar el modelo de la base de datos en MySQL-workbech
(Oracle Corporation, 2018), la tercera fase consistió en
desarrollar la aplicación. En esta tercera fase, se utilizó la
metodología Test-Driven Development (TDD) y además,
se utilizó una herramienta denominada cypres (Mann &
Figura 2. Arquitectura de FNCS.
Kent, 2018), la cual realiza un test de front-end del código
(Zhai, Hu, Tang, Ma, & Chen, 2014).
con la API Mikrotik, se utilizó una librería desarrollada
por (Barnes, 2015) en PHP, que permite enviar y recibir
(Fast Network Config System)
comandos a dispositivos que tienen RouterOS.
Parámetros de configuración
Plataforma de Desarrollo de la Aplicación
Cuando se inicia la aplicación, se despliega una
Se escogieron dos herramientas debido a que según
pantalla de inicio de sesión, donde se pedirá que se
Axmark & Widenius (2018) y PHP Group (2017), tienen
ingrese usuario y clave del sistema. En la Figura 3, se
la posibilidad de adaptar nuevos requerimientos de manera
puede observar la pantalla de inicio de sesión.
dinámica. Además, se utilizó la metodología XP (Extreme
Para poder gestionar los dispositivos de red, la
Programming), que permite concentrarse especialmente
aplicación pide que se registre el campus donde se
en el código de la aplicación (Bougroun, Zeaaraoui, &
encuentran instalados físicamente los dispositivos. Se
Bouchentouf,
2014). Por las razones antes descritas,
puede considerar como un campus, una agrupación o un
la aplicación web fue desarrollada con el lenguaje de
lugar en el cual los dispositivos RouterOS, comparten
programación PHP y la permanencia de los datos de los
una ubicación física. En la Figura 4, se puede observar
dispositivos de red, se almacenan en una base de datos
el formulario para registro del campus. Luego, es
92
Ciencia y Tecnología. 2020. 13(1):89-96
FNCS: Propuesta de una plataforma de gestión de dispositivos de red basados en RouterOS
Figura 3. Pantalla de inicio de sesión
Figura 4. Registro de campus
necesario ingresar la información general de los
observar en el Cuadro 4.
dispositivos de la red, como se puede observar en la
Figura5. Esta información es muy importante, porque
Auditoria remota de los dispositivos
será consultada posteriormente para construir los
Cuando se gestiona una red, y sobre todo cuando
comandos de las configuraciones y, además, permitirá
esta red es grande, es necesario conocer si los
obtener información del dispositivo RouterOS, como
dispositivos se encuentran actualizados con la última
la IP de administración, con la finalidad de poder
versión de firmware, software y conocer el uptime. Si
gestionarlo remotamente.
esta actividad, fuese realizada de forma manual por una
persona con conocimientos en el area, tardaría horas y
Configuración remota
posiblemente habría inconsistencias en la información
En la Figura 6, se puede observar el proceso de
recopilada. Con FNCS, el poder auditar la red de un
configuración remota de un dispositivo con RouterOS
campus puede resultar sumamente fácil y en cuestión
desde la aplicación. Primero se selecciona el campus al
de unos pocos segundos, tendremos la información de
que debe pertenecer el dispositivo, luego, se selecciona
toda la red. En la Figura 8, se observa la información
el dispositivo que se desea configurar y, posteriormente
de la auditoria automática realizada en los dispositivos
se presiona Ejecutar. Una vez ejecutado el proceso,
simulados de un campus y en el Cuadro 5 se muestra el
aparece en la parte inferior de la pantalla el resultado de
algoritmo que realiza es proceso de auditoría.
la ejecución de configuración, junto con las instancias
que se configuraron; el algoritmo de este proceso se lo
Pruebas de rendimiento y resultados
puede revisar en el Cuadro 3.
Para realizar las pruebas de validación, se configuraron
diez dispositivos con RouterOS en un entorno virtual.
Validación remota de los dispositivos
Luego se ejecutaron tres actividades comunes en la
Es importante que un gestor de equipos de red,
gestión de una red. Estas son: configuración, verificación,
valide que los dispositivos se encuentren funcionando
y auditoria de los dispositivos. Estas tareas se realizaron
en condiciones normales, tal y como lo hiciera un
con tres herramientas diferentes con la finalidad de
técnico experto en el área, por esta razón, FNCS
poder compararlas. Primero, con la aplicación propuesta
analiza los principales indicadores de los dispositivos.
FNCS, luego con una herramienta propietaria WinBox,
En la Figura 7, podemos observar el estado físico de
y por último con una la herramienta tradicional ssh.
la interfaz ethernet, del firmware y el software de un
La finalidad de estas pruebas fue el conocer si había
dispositivo; el algoritmo de este proceso se lo puede
diferencias categóricas en su funcionamiento.
Figura 5. Ingreso de dispositivos a la aplicación
Figura 6. Ejecución de la configuración
Ciencia y Tecnología. 2020. 13(1):89-96
93
Nuñez et al., 2020
Figura 7. Validación de estado del dispositivo
Figura 8. Auditoria de los dispositivos
Cuadro 4. Algoritmo de validación de dispositivos
Cuadro 3. Algoritmo de configuración de dispositivos
RouterOS
RouterOS
Pruebas en la configuración de dispositivos RouterOS
Cuadro 5. Algoritmo de auditoria de dispositivos
En la Figura 9, se pueden apreciar que los resultados de
RouterOS
la configuración de los dispositivos con la aplicación FNCS
fueron en promedio de 0.34 segundos, en WinBox de 151.4
segundos y en ssh de 220 segundos.
Pruebas de validación del estado de dispositivos Route-
rOS
Cuando analizamos el estado de los dispositivos con las
tres herramientas se obtuvieron los siguientes resultados
en promedio: con la aplicación FNCS 0.34 segundos, con
WinBox 21.4 segundos y con ssh de 17.1. Estos resultados los
podemos observar en la Figura 10.
Pruebas de auditoría en los dispositivos
Se debe considerar que, para realizar esta prueba, nuestra
aplicación propuesta tiene una gran ventaja, que es el poder
ejecutar la auditoría prácticamente simultáneamente en los
diez dispositivos, lo cual se pudo realizar en únicamente 0.26
segundos, mientras que, en los otros dos programas evaluados,
no se pudieron realizar auditorías simultaneas, sino que hubo
que realizarlas en equipo por equipo. Así, WinBox realizó
la ejecución en 214.4 segundos y ssh en 160.9 segundos en
promedio. Estos resultados se pueden apreciar en la Figura 11.
94
Ciencia y Tecnología. 2020. 13(1):89-96
FNCS: Propuesta de una plataforma de gestión de dispositivos de red basados en RouterOS
Figura 9. Tiempo de configuración
Figura 10. Tiempo de validación
las conexiones de los usuarios y que permita tomar
decisiones en tiempo real en su conexión, para mejorar
la calidad de servicio.
Bibliografía
Axmark, D. ., & Widenius, M. (2018). MySQL : MySQL 5.7
Reference Manual. Retrieved February 18, 2018, from
Barnes, N. (2015). API PHP class - MikroTik Wiki. Retrieved
Figura 11. Tiempo de ejecución de auditoria
API_PHP_class
Bougroun, Z., Zeaaraoui, A., & Bouchentouf, T. (2014). The
Conclusiones
projection of the specific practices of the third level
l objetivo de la presente investigación fue el
of CMMI model in agile methods: Scrum, XP and
E
de desarrollar una aplicación web que permita
Kanban. In 2014 Third IEEE International Colloquium
gestionar los dispositivos de red en una organización,
in Information Science and Technology (CIST) (pp. 174-
de una manera eficiente, a través de una herramienta
de comunicación diferente a las propietarias o
Cheng, J., Wu, H., Routeros, K., Security, N., & Virus, A. R.
convencionales, pero con mejores características de
P. (2010). The Application Of The PPPOE For Network
rendimiento en su velocidad y manejo.
Security Management Using RouterOS,(Iccda), 569-
Se comprobó cuantitativamente que, el tiempo
571.
que toma el realizar actividades convencionales de
Cueva, H., Pozo, F., & Iturralde, D.
(2017). Cross-
administración de dispositivos de red con la aplicación
platform network visualization software for MikroTik
FNCS, fue extremadamente bajo, en comparación con
devices. Proceedings of the 2016 IEEE ANDESCON,
un técnico experto utilizando herramientas propietarias
ANDESCON
2016.
como WinBox y herramientas tradicionales como ssh.
ANDESCON.2016.7836222
FNCS resultó muy fácil de usar y, sobre todo,
D. Iswadi, R. Adriman and R. Munadi. (2019). “Adaptive
no se necesita contar con un técnico experto para
Switching PCQ-HTB Algorithms for Bandwidth
ejecutar las diferentes tareas. Además, la permanencia
Management in RouterOS”. IEEE International
de la información de los dispositivos, contribuye al
Conference on Cybernetics and Computational
desarrollo de las líneas de comandos de forma dinámica,
Intelligence (CyberneticsCom), Banda Aceh, Indonesia,
permitiendo que el tiempo de ejecución se reduzca.
pp. 61-65.
Un beneficio destacado en esta investigación, fue el
Fomin, S. S.
(2017). Technology and Practice of ICT
haber podido desarrollar una aplicación a medida, que
Disciplines Maintenance, 193-195.
permita gestionar dispositivos con RouterOS mediante
Galbraith, J., Dyke, J. Van, & Bright, J.
(2007). Secure
el uso de una API del fabricante. Estos resultados
pueden ser utilizados como una línea base que pueda
RFC4819
ser integrada en los sistemas de gestión de red de las
He, J. H., & Cao, Y. (2010). Research and analysis the PPPoE
organizaciones que utilicen dispositivos con RouterOS.
server technology based on the routeros. ICCASM 2010 -
Un potencial estudio futuro podría centrarse en el
2010 International Conference on Computer Application
desarrollo de una aplicación que analice el estado de
and System Modeling, Proceedings, 15(Iccasm), 209-
Ciencia y Tecnología. 2020. 13(1):89-96
95
Nuñez et al., 2020
Horalek, J., Matyska, J., & Sobeslav, V. (2013). Performance
Comparison of Selected Virtualization Platforms, 327-
332.
I. Dolnák and J. Litvik. (2016). “Failover and load balancing
solutions for remote access VPNs based on open
standards,”. International Conference on Emerging
eLearning Technologies and Applications
(ICETA),
Vysoke Tatry, 2016, pp. 55-58.
Mann, B., & Kent, R. (2018). About Cypress.io | JavaScript
e2e Testing. Retrieved March 30, 2018, from https://
Mikrotik.
(2015). Manual:System/SSH client
- MikroTik
com/wiki/Manual:System/SSH_client
Mikrotik.
(2018a). Manual:Winbox
- MikroTik Wiki.
com/wiki/Manual:Winbox
Mikrotik. (2018b). Manual:API - MikroTik Wiki. Retrieved
Manual:API
Mikrotik. (2018c). RouterOS. Retrieved February 18, 2018,
ORACLE. (2018). Oracle VM VirtualBox. Retrieved May 28,
Oracle Corporation. (2018). MySQL :: MySQL Workbench.
com/products/workbench/
PHP Group. (2017). PHP: Choosing an API - Manual.
Retrieved February
18,
manual/en/mysqlinfo.api.choosing.php
Zhai, J., Hu, J., Tang, X., Ma, X., & Chen, W. (2014).
CYPRESS: Combining Static and Dynamic Analysis
for Top-Down Communication Trace Compression.
International Conference for High Performance
Computing, Networking, Storage and Analysis, SC,
SC.2014.17
96
Ciencia y Tecnología. 2020. 13(1):89-96