Respaldo en RouterOS de la configuración y guardarla en e-mail

Respaldo en RouterOS de la configuración y guardarla en e-mail

Respaldar la configuración de un router Mikrotik con RouterOS es una práctica fundamental para cualquier técnico en redes, ya que asegura la continuidad y estabilidad de las operaciones de red. Aquí hay varias razones por las cuales este proceso es crucial:

  1. Recuperación ante fallos: Si un router Mikrotik falla o se daña, tener un respaldo reciente permite restaurar la configuración en un dispositivo de reemplazo sin tener que configurar todo desde cero, minimizando así el tiempo de inactividad.
  2. Actualizaciones y cambios seguros: Antes de realizar actualizaciones de software o cambios significativos en la configuración, tener un respaldo permite revertir rápidamente el sistema a un estado anterior en caso de que algo salga mal. Esto proporciona una red de seguridad que puede aumentar la confianza para experimentar y optimizar la red.
  3. Conservación de una línea base: Mantener un historial de configuraciones respaldadas permite analizar cambios a lo largo del tiempo. Esto es útil para comprender las modificaciones que han tenido lugar, ayudando a identificar la causa de posibles problemas de rendimiento o seguridad.
  4. Cumplimiento de políticas de seguridad y auditorías: En entornos donde se deben cumplir ciertas políticas de seguridad o estándares de la industria, tener respaldos de la configuración del router puede ser un requisito. Los respaldos permiten demostrar que la red cumple con las políticas establecidas y facilitan las auditorías de seguridad.
  5. Eficiencia en la gestión de múltiples dispositivos: En redes que utilizan múltiples routers Mikrotik, especialmente en configuraciones complejas, tener una configuración de respaldo puede simplificar la gestión. Los respaldos permiten clonar configuraciones a nuevos dispositivos rápidamente, asegurando consistencia y eficiencia operativa.
  6. Formación y pruebas: Para los técnicos en formación o aquellos que deseen probar nuevas configuraciones sin afectar la red en producción, contar con respaldos de configuraciones estables permite crear entornos de prueba seguros y efectivos.

La realización de respaldos debería ser una tarea programada regularmente, no solo un procedimiento ad-hoc. La frecuencia del respaldo dependerá de la dinámica de cambios en la red, pero es recomendable hacerlo al menos antes de cualquier cambio significativo y periódicamente como parte de la rutina de mantenimiento de la red.

En RouterOS es posible automatizar los respaldos con la posibilidad de enviar los respaldos a una cuenta de gmail. Para automatizar este procedimiento, debemos seguir los siguientes pasos.

Paso 1. Crear una cuenta de gmail con la opción de autenticar en 2 pasos habilitada para usar la contraseñas de aplicación y permitir que RouterOS acceda a tu cuenta de Google.

Paso 2. Dar de alta el email en RouterOS

Paso 3. Script para respaldar la configuración en formato rsc y binario.

Paso 4. Script de scheduler para ejecutar de manera periódica el script.

A continuación, vamos a detallar cada uno de los pasos.

Paso 1. Cuenta de gmail com la contraseña de aplicación habilitada

Pasos para crear una contraseña de aplicación

  1. Ingresa a tu cuenta de Google: Ve a myaccount.google.com y accede con tus credenciales.
  2. Seguridad: En el panel de navegación izquierdo, haz clic en "Seguridad".
  3. Verificación en dos pasos: Busca la sección "Acceso a Google" y luego haz clic en "Verificación en dos pasos". Puede que necesites iniciar sesión nuevamente para acceder a esta sección.
  4. Contraseñas de aplicación: Desplázate hacia abajo hasta encontrar la sección "Contraseñas de aplicación". Si ya tienes activada la verificación en dos pasos, aquí podrás crear y gestionar tus contraseñas de aplicación. https://myaccount.google.com/apppasswords
  5. Crear una contraseña de aplicación: Selecciona el tipo de dispositivo o aplicación para la que necesitas la contraseña desde el menú desplegable y haz clic en "Generar". Google generará una contraseña de 16 dígitos.
  6. Usa la contraseña generada: Ingresa esta contraseña de 16 dígitos (con espacios) en la aplicación o dispositivo que esté solicitando acceso a tu cuenta de Google. No necesitarás recordar esta contraseña, ya que solo tendrás que ingresarla una vez.

Paso 2. Dar de alta el email en RouterOS

Para un servidor de correo de google, aquí se usa la contraseña de aplicación generada en el paso anterior:

  • Server: smtp.gmail.com
  • Port: 587
  • Start TLS: yes
  • From: Oscar
  • User: ejemplo@mikronet.mx
  • Password: ktpx swmg sryz wxnx (Contraseña de aplicación generada en el paso anterior, es diferente para cada cuenta de correo de gmail).

Desde la línea de comandos en RouterOS:

/tool e-mail
set address=smtp.gmail.com from="Oscar" password=\
    "ktpx swmg sryz wxnx" port=587 start-tls=yes user=ejemplo@mikronet.mx

Paso 3. Script para respaldar la configuración en formato rsc y binario.

En este script se puede generar de manera automática el email y el script.
Para personalizarlo, actualizar las variables sender, password y email:

RouterOS v6.x

:local server "smtp.gmail.com"
:local sender "Oscar"
:local port "587"
:local password "ktpx swmg sryz wxnx"
:local email "ejemplo@mikronet.mx"

:local rscfn "backup"
:local bakfn "bin"

/system
:local date [clock get date]
:local time [clock get time]
:local info [identity get name]
:local board ([resource get board-name])
:local files "$rscfn.rsc,$bakfn.backup"
:global Version [resource get version]

/tool e-mail
set address="$server" from="$sender" password="$password" port="$port" start-tls="yes" user="$email"

/system
:local serial "undefined"
:if (!($board~"(x86|CHR)")) do={
    :global testrbsn "NO RouterBOARD"
    :execute ":global testrbsn; :set testrbsn [/system routerboard get serial-number]"
    :delay 1s
    :set serial $testrbsn
    :set testrbsn
} else={
    :if ($board="x86") do={:set serial [license get software-id]}
    :if ($board="CHR") do={:set serial [license get system-id]}
}

:if ($Version~"^7") do={
	[:parse "/export show-sensitive file=$rscfn.rsc"]
} else={
	/export file="$rscfn.rsc"
}
:delay 2s

/system backup save name="$bakfn"
:delay 2s

/tool e-mail send to="$email" subject="Mikrotik: Backup $info $Version $serial" file="$files" body="Automatic Backup of $info $serial at $date $time"
:delay 20s
:execute "/file remove $files"
:log info "Backup router=$info serial=$serial ok"

Este script te genera dos archivos y lo mando a tu email:

  1. backup.rsc, en texto plano
  2. bin.backup en formato binario

Bajar script en texto plano. Para la versión 7 usar la versión del script adecuada. Actualizar las variables sender, email y password para el caso específico.

Una manera muy fácil de ejecutarlo es generar un script en RouterOS y ejecutarlo cada que se vaya a hacer un cambio. Copiamos al portapapeles el script anterior y lo pegamos (paso 5 de la figura):

  1. Menú System de RouterOS
  2. Opción scripts
  3. "+" para agregar un nuevo script
  4. Le ponemos un nombre al script: script_backup_email
  5. Copiamos el script desde el portapapeles, no olvidar actualizar las variables sender, email y password para cada caso
  6. Aplicar los cambios
  7. Ejecutar para probar que en el email llega el respaldo.

Paso 4. Script de scheduler para ejecutar de manera periódica el script.

En el script del Paso 3 permite ejecutar el respaldo de manera manual, pero se puede programar con una periodicidad de manera automática, ver la Figura.

  1. Menú System de RouterOS
  2. Seleccionamos Scheduler
  3. "+" para agregar nuevo Scheduler
  4. Le damos un nombre al scheduler: schedule_backup_email
  5. Definimos un intervalo, en el ejemplo de abajo lo ponemos cada 15 dias, depende de la periodicidad con la cual se hacen los cambios.
  6. Copiamos el script desde el portapapeles
  7. Aplicamos los cambios