En este artículo vamos a actualizar un router MikroTik a la versión 7.19.6 de RouterOS que justo ha salido hoy 15 de septiembre. Este lanzamiento ha sido el momento perfecto para actualizar mi MikroTik Hex Lite desde la vesión v6.49.16 a esta nueva versión. ¿Por qué? Aparte de por ciberseguridad, porque quiero integrar mi red doméstica con proyectos IoT, como conectar sensores remotos en el velero a servicios como Nextcloud o AdGuard usando WireGuard, el protocolo VPN eficiente que RouterOS v7 trae nativo.
El MikroTik Hex Lite se trata de un router totalmente configurable que hace ya algún tiempo instalé entre el router del ISP (para evitar el ISP spoofing, entre otras cosas) y el resto de mi red doméstica, y que será la herramienta perfecta para algunos experimentos relacionados con IoT y VPNs que voy a estar llevando a cabo en próximos meses. Ya se integra con un servidor AdGuard y otras cosas que he estado probando últimamente, y que iremos desglosando en próximos artículos.
Algo muy interesante de esta nueva versión, aparte de las mejoras de seguridad, es que viene con Wireguard incorporado, un protocolo VPN mucho más eficiente y seguro que OpenVPN y que nos abre la puerta a integrar dispositivos que están físicamente fuera de la red, como si estuvieran dentro. No quiero adelantar mucho por ahora, pero vienen cosas muy interesantes pronto, como la integración de sistemas en el velero con servidores en casa, y mucho más.
Introducción al problema
Como te comentaba, recientemente, me he embarcado en un proyecto personal para reforzar la seguridad y conectividad de mi red doméstica, con planes de extenderla a un setup remoto en el velero y tener disponibles algunos servicios de mi red doméstia, como Nextcloud, desde cualquier parte en el móvil. Para ello, me viene muy bien actualizar mi MikroTik hEX lite a RouterOS v7, que trae soporte nativo para WireGuard (perfecto para VPNs privadas seguras) y mejoras en estabilidad.
Este tutorial está pensado para mi modelo de router concreto, pero creo que puedes adaptarlo a otros modelos similares de MikroTik. Para este tutorial asumo que tienes acceso de administrador al router y tienes una forma de conectarte a él por SSH. No es del todo aconsejable usar la consola de la interfaz web porque el router se va a reiniciar en el proceso, en su lugar yo utilizo Remmina en Fedora, herramienta que nos va a facilitar también la transferencia de archivos.
Tomaremos algunas precauciones en el camino, como hacer backups de la configuración. Con esto evitamos quedarnos con «un ladrillo» en lugar de un router. De todas formas, el proceso debería ser bastante seguro y reversible. Te lo dejo por si te sirve, y para yo tenerlo a mano de cara a futuras actualizaciones. Asumimos en este tutorial que tienes acceso de administrador al router y te encuentras dentro de una red desde la que puedes acceder por consola.
El proceso de actualización
Bien, vamos a empezar. Te he desglozado la actualización del router Mikrotik en una serie de pasos fáciles de seguir. Aunque tus versiones no coincidan del todo, creo que podrás adaptarlo bien a tu situación si encuentras en el futuro este artículo, si entiendes la lógica que hay detrás.
Paso 1: Verifica el estado actual
Accedí al router con Remmina (más cómodo para mi que simplemente el comando SSH via terminal, y ya lo tenía instalado para acceder a mis Raspberries, servidores y cosas de clientes) y confirmé la versión y recursos. Esto me dio una base para comparar después si los cambios se habían hecho, y si el aparato soportaba bien la nueva versión.
Es interesante que no accedas a la terminal a través de la interfaz web, ya que vamos a tener que reiniciar el router en el proceso y esta interfaz puede dar problemas. Conecta al router vía SSH con Remmina (o «ssh admin@router_ip» desde terminal). Para comprobar el estado actual del Mikrotik usa este comando:
/system resource print
La salida debería tener algo como «version 6.49.16, free-memory 40.7MiB.» Lo que nos interesa es saber la versión exacta que tienes y que tengas espacio libre suficiente. En mi hEX Lite, mostró architecture-name: mipsbe, clave para elegir el .npk correcto
Paso 2: Haz un backup
Antes de tocar nada, es importante hacer una copia de seguridad de toda la configuración por si hay algún problema. Parece que es una pérdida de tiempo, hasta que realmente pasa algo. En ese caso es mejor tener la copia y volver a tener funcionando todo en minutos, que pasar de nuevo horas recordando lo que tenías confgurado y cómo lo tenías configurado. Los comandos que nos interesan son:
/system backup save name=backup-pre-v7.backup
/export file=config-pre-v7.rsc
En Remmina hay un icono con una llave inglesa en la izquierda de la interfaz, si pinchas verás la opción «Abrir transferencia SFTP» y eso te va a permitir descargar los archivos. Es como cualquier cliente FTP que hayas usado (más sencillo incluso ya que la conexión la tienes ya hecha). Si no usas Remmina… tendrás que buscar una alternativa para descargar los archivos. Alternativamente, si estás desde tu terminal GNU/Linux directamente, puedes usar un comando como «scp».
IMPORTANTE: descarga estos archivos a un lugar seguro, porque se van a borrar en el proceso.
Paso 3: Descarga y sube el archivo RouterOS v7
Debes descargar el archivo de la web oficial https://mikrotik.com/download/archive, allí pinchas en el número de version y te van a salir una gran cantidad de opciones para las distintas arquitecturas. En mi caso «el bueno» es «routeros-mipsbe-7.19.6.npk» routeros porque es RouterOS (lo que estamos buscando), y «mipsbe» porque es la arquitectura del router que yo tengo. Esto te sale en el comando del paso 1.
Una vez tienes el archivo, lo puedes subir al router con la misma interfaz de Remmina que vimos en el paso anterior (o el método alternativo que hayas utilizado). Puedes comprobar que están ahí con este comando:
/file print
Paso 4: Instala la actualización
En este paso aplicaríamos la actualización que hemos subido. Para ello, ejecutamos el siguiente comando:
/system package update install
Nota importante: MikroTik fuerza actualizar a la última v6 (ej. 6.49.19) antes de v7 si vienes de una versión antigua. Repite el paso 3-4 si no sube a v7 directamente. El router se reinicia (3-5 min), cortando la conexión.
Reconecta y verifica:
/system resource print
Repitiendo el comando «/system package update install» en mi caso aplicó la instalación sin problema. Sin embargo, investigando después, hay otra manera que igual te sirve:
/system upgrade refresh
/system upgrade upgrade package-source=local
Al reiniciar se cerrará la consola y se caerá por unos minutos la red. En poco tiempo todo debería volver a la normalidad. Cuando el sistema aplica la actualización borra todo el contenido, incluyendo los backups y el archivo npk, así que tendrás que volver a subirlo si no aplica la actualización a la primera.
Paso 5: Verificar que todo está correcto
Una vez has actualizado, puedes comprobar que estás en la versión correcta de nuevo con el comando:
/system resource print
En la salida deberías ver algo como version 7.19.6, y un cpu-load por debajo del 5%
Otras comprobaciones que deberías hacer son:
/interface print
Aquí compruebas que las interfaces de red siguen con la misma configuración, especialmente los bridges que tengas entre ellas. Y no está de más que hagas un ping fuera a ve si sigues teniendo salida:
/ping 8.8.8.8 count=4
Si ves algún problema con las interfaces (por ejemplo bridges, VLANs) puedes restaurar el backup copiando el archivo backup-pre-v7.backup al router (SFTP) y usando el comando
/system backup load name=backup-pre-v7.
Conclusión
Siguiendo estos pasos podrás actualizar tu router Mikrotik a cualquier versión sin problemas, espero que te haya resultado útil. En mi caso, esto abre la puerta a muchos proyectos interesantes que estaré pulicando en el futuro. ¿Y tú para qué usas este router? Házmelo saber en los comentarios.
Si no quieres perderte próximos contenidos como este, suscríbete GRATIS en el formulario de la parte baja de la página para recibir un resumen semanal. ¡Espero que este caso práctico te haya ayudado a actualizar tu MikroTik con éxito! Hasta pronto.