Restauración automática de la última configuración guardada en routers Mikrotik

Muchos se han encontrado con una característica maravillosa, por ejemplo, en los conmutadores HPE: si por alguna razón la configuración no se guarda manualmente, después de reiniciar, la configuración guardada anteriormente se revierte. La tecnología es algo despiadada (olvidé guardarla, hazlo de nuevo), pero justa y confiable.

Pero en Mikrotik no existe tal función en la base de datos, aunque la señal se conoce desde hace mucho tiempo: "configurar un enrutador de forma remota significa un largo viaje". Y es muy fácil convertir incluso un enrutador cercano en un "ladrillo antes de reiniciarlo".

Curiosamente no encontré ni un solo manual sobre este tema, así que tuve que hacerlo a mano.

Lo primero que hacemos es crear un script para crear una copia de seguridad de la configuración. En el futuro, “salvaremos” el estado con este script.

Ir a Sistema -> Guiones y cree un script, por ejemplo, "fullbackup" (por supuesto, sin comillas).

system backup save dont-encrypt=yes name=Backup_full

No usaremos la contraseña, ya que de lo contrario tendrá que especificarse explícitamente en el script adyacente; no veo el sentido de tal "protección".

Creamos un segundo script que restaurará la configuración cada vez que se inicie. Llamémoslo "full_restore".

Este guión es un poco más complicado. El caso es que cuando se restaura la configuración, también se produce un reinicio. Sin utilizar ningún mecanismo de control, obtendremos un reinicio cíclico.

El mecanismo de control resultó un poco "roble", pero confiable. Cada vez que se inicia el script, primero verifica la presencia del archivo "restore_on_reboot.txt".
Si dicho archivo existe, entonces se requiere la restauración desde una copia de seguridad. Eliminamos el archivo y hacemos una recuperación seguida de un reinicio.

Si no existe tal archivo, simplemente creamos este archivo y no hacemos nada (es decir, esto significa que esta ya es la segunda descarga después de restaurar desde una copia de seguridad).

:if ([/file find name=restore_on_reboot.txt] != "") do={ /file rem restore_on_reboot.txt; system backup load name=Backup_full password=""} else={ /file print file=restore_on_reboot.txt }

Es mejor probar los scripts en esta etapa, antes de agregar la tarea al programador.

Si todo está bien, continúe con el tercer y último paso: agregue al programador la tarea de ejecutar el script en cada inicio.

Ir a Sistema -> Programador y agregar una nueva tarea.
En el campo Hora de inicio indicar inicio (sí, así lo escribimos, en letras)
En el campo En evento escribir
/system script run full_restore

Además, ¡ejecute el script que guarda la configuración! No queremos volver a hacer todo esto, ¿verdad?

Agregamos algo de “basura” a la configuración para verificar, o eliminamos algo importante y, finalmente, intentamos reiniciar el enrutador.

Sí, muchos probablemente dirán: "¡Existe un modo seguro!" Sin embargo, no funcionará si, como resultado del trabajo, tienes que volver a conectarte al enrutador (por ejemplo, si cambias la dirección o los parámetros de la red wifi a través de la cual estás conectado). Y no debes olvidarte de la posibilidad de “olvidarte” de activar este modo.

PD: Lo principal ahora es no olvidarse de "guardar".

Fuente: habr.com

Añadir un comentario